* -*- outline -*-

			      Frogger81

	  ZX81 Frogger patched to run on the 128k Spectrum.


* License

ZX81 Frogger is copyright Sega. Small portions of the ZX81 ROM - the
character set and some keyboard-related routines - are used (copyright
Amstrad). All the stuff I did (emulation etc.) is public domain.


* Why Frogger81?

ZX81 Frogger is probably one of the better frogger games there is -
certainly it's the best I've seen. If nothing else, it seems to
include all the features of the original (save other frogs, catch
insects) which the various clones tend to omit. But since almost
nobody bothers with the ZX81 (and ZX81 emulators aren't as widely
available as speccy emulators etc. [well, they weren't in 1997 :-)]),
most people don't even know it exists. (An official version of Frogger
for the ZX81 does sound slightly perverse, after all!) Hence this
`port', to try and bring ZX81 Frogger to anybody who might be
interested in it.

If nothing else, it's cheaper than the Playstation version. ;-)

(NB: The TAP and Z80 are equivalent, there's no advantage to using one
over the other. BTW, if you have a ZX81 emulator which supports
Xtender-style .P files, you could run frogger.p (in emu_src.tgz) on
that instead.)


* Why is it 128-specific?

ZX81 programs run in the 4000-7FFFh area of memory. This includes the
screen memory, so while you could in theory run the program on a 48k
speccy you'd never know it was running. :-) 128s have an alternative
screen in page 7 which you can use to work around this problem.


* Playing ZX81 Frogger

It's pretty obvious how to play frogger really, but here goes... Avoid
the traffic on the 1st screen, and avoid the water on the 2nd (i.e.
use the logs and turtles (or are they tortoises? whatever) to get
across). Get a frog in each slot at the end of the 2nd screen - when
all four in turn are full you move on to a harder level. In the 2nd
screen, you can collect "lady frogs" and insects for bonus points.

Keys are A=up, Z=down, N=left and M=right. It's strictly one movement
for each keypress, which might take a little getting used to.

When you're prompted for the difficulty (in the range 0-4), note that
0 is easy and 4 is hard. I'd recommend playing on 0 unless you're some
kind of insane genius. :-)


* Problems with the emulation

The emulation works reasonably well; however, there are a couple of
problems.

The most obvious is that only a third of the screen is updated (from
the ZX81 display) each frame. This gives a quite respectable 16 frames
per second, but the staggered drawing can make it look odd, and can
have unpleasant interactions with the flickery frog sprites on the 2nd
screen such that your frog tends to disappear sometimes! :-(

A less obvious problem is that of the speed. I believe I've got the
speed within about 5% (when running under an emulator) of the speed
the game runs on the ZX81. But since the game code itself runs in
contended memory, that code effectively runs 25% slower on a real
Spectrum. The game code only runs for 25% of the time so the overall
slowdown is only about 7%, but it's still probably noticeable.


* Assembling

You don't have to assemble the patch/emulation, TAP and Z80 files are
included here. But, since I'm distributing the source (in
emu_src.tgz), it makes sense to describe how to assemble it.

You'll need a Unix box, and the source to zmac (the URL is
http://www.nenie.org/cpcip/index.html#zmac at the time of writing).
Compile and install zmac. Now do `make' and it should build
monmaz81.tap. (The Z80 file is built `by hand' using an emulator. :-))

(BTW, `code2zxf' and `zxftotap' are quick-and-dirty tools included
with the source which help make the TAP file.)


* Contacting me

You can email me at russell.marks@ntlworld.com.
