Notes
Known ErrorsBugfix provided by the author Colin Stewart:
<UL><LI> It's impossible to complete level 25 within the time limit. This can be fixed by adding an extra electric-shock item, giving the player more time.
Fixed using POKE 26131,3: POKE 26132,16: POKE 26133,8</UL>
Bugfix provided by Battle Bunny:
<UL><LI> The game randomly crashes after a few levels due to stack overflow as the machine stack eventually gets big enough to interfere with the screen data. The worst case is an implicit PUSH caused by the line "740C CD3775 CALL $7537". There are several places where the sub-routine starting at $7537 branches out with a "JP $7531", which does "CALL $81A4 : JP $7387", from where it's possible to get back down to $740C and do the "CALL $7537" again without having done a RET from the previous time. This case is fixed using the following patch:
<PRE> org $75AB ; 30123
JP PATCH1 ; 195 114 196
org $75D1 ; 30161
JP PATCH1 ; 195 114 196
org $765B ; 30299
JP PATCH1 ; 195 114 196
org $7687 ; 30343
JP PATCH1 ; 195 114 196
; discard unused return address
org $C472 ; 50290
PATCH1: POP BC ; 193
CALL $81A4 ; 205 164 129
JP $7387 ; 195 135 115</PRE><LI> The remaining (less serious) cases of stack overflow can all be fixed by simply resetting the stack pointer at the end of each level, using the following patch:
<PRE> org $9BBF ; 39871
JP PATCH2 ; 195 121 196
; reset stack pointer at end of level
org $C479 ; 50297
ERR_SP: equ $5C3D ; 23613
PATCH2: LD HL, (ERR_SP) ; 42 61 92
DEC HL ; 43
DEC HL ; 43
LD SP, HL ; 249
JP $6F16 ; 195 22 111</PRE></UL>
Modified "BUGFIX" file provided by Einar Saukas.