Prev: 64768 Up: Map Next: 64974
64896: Abort the game after pressing break (CAPS + SPACE)
Used by the routine at 51943.
On initialisation, HL=Copied_5B80. The code at 64896 and 64898 is not present on the Dinamic release.
64896 JR 64900 Jump to 64900.
This code is the main entry point for the Gremlin Graphics release. The Dinamic release begins at 23808.
64898 JR 64936 Jump to 64936, bypassing the "cheat mode" code
Code continues from 64896.
64900 LD A,253 Read from the keyboard;
Port Number Bit
0 1 2 3 4
253 A S D F G
64902 IN A,(254)
64904 RRA
64905 JR NC,64909 Jump to 64909 if "A" is pressed.
64907 JR 64931 Jump to 64931.
64909 LD A,191 Read from the keyboard;
Port Number Bit
0 1 2 3 4
191 ENTER L K J H
64911 IN A,(254)
64913 RRA Jump to 64917 if "ENTER" is pressed.
64914 JR NC,64917
64916 RET Return.
64917 LD DE,23424 DE=Print_TwoToneText_Alias.
64920 LD BC,64 BC=64.
64923 LDIR Copy the status flags into Print_TwoToneText_Alias.
64925 LD HL,(23430) Put 255 lives in the copy of the life counter so the game will start with this many.
64928 LD (HL),255
64930 RET Return.
64931 LD SP,24560 SP=24560.
On the Dinamic release, the jump is to 23856.
64934 JR 64956 Jump to 64956.
64936 EI Enable interrupts.
64937 DEFS 8 No-operation.
Oddly enable both keyboard and kempston joystick input methods at the same time.
64945 LD HL,257 Write 257 to Controller.
64948 LD (23728),HL
Set the border to black and blank the screen buffer.
64951 LD A,0 A=0.
64953 CALL 8859 Call BORDER routine (not from the start).
Main game loop.
On the Dinamic release, this code is at 23856.
64956 LD HL,16384 Writes 0 to all 6911 bytes of the screen buffer (i.e. "blanks it").
64959 LD DE,16385
64962 LD BC,6911
64965 LD (HL),0
64967 LDIR
64969 CALL New_Game Run the game.
64972 JR 64956 Jump back to 64956 to run another game.
Prev: 64768 Up: Map Next: 64974