The cassette contains a loader routine saved in normal ZX81 tape format followed by the game saved in a custom high speed format. The loader routine relocates the high speed load routine to locations $7AF1-$7FFC inclusive, and the high speed routine reads in bytes to locations $4000-$7FBF inclusive. Reading these bytes in overwrites the RAMTOP system variable with value $7FBF. After the game bytes have been read in, the stack pointer is set to the value held in locations $407B/$407C, which contains $7FA9. A return is made to the BASIC command parser and the program 'continues' from BASIC line 2010. Line 2000 was responsible for originally saving the game in high speed format and calls a routine at address 8192. There is no memory present here on a standard ZX81 and so JRS Software must have used a special RAM pack or ROM interface that held the fast save routine.
The high speed format saves a '0' as a narrow pulse and a '1' as a wider pulse. The structure of the high speed format is as follows:
- n narrow pulses (a minimum of 769 expected when loading)
- 1 wide pulse
- 16320 bytes (bytes are encoded MSB first)
To allow the game to be easily loaded into an emulator I've converted it into standard ZX81 tape format.