* -*- 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.