Routines |
Prev: 5FB1 | Up: Map | Next: 6028 |
Used by the routine at GameInitialisation.
|
||||
StartGame | 5FEF | XOR A | Write 00 to | |
5FF0 | LD ($5C78),A | |||
5FF3 | LD ($5E74),A | |||
Reset the players life count.
|
||||
5FF6 | LD A,$03 | Write starting lives to Player_Lives. | ||
5FF8 | LD ($5E3D),A | |||
Reset the players score (03 digits).
|
||||
5FFB | LD HL,$5E4C | HL=Score_1. | ||
5FFE | LD B,$03 | B=03. | ||
ResetScore_Loop | 6000 | LD (HL),$00 | Write 00 to HL. | |
6002 | INC HL | Increment HL by one. | ||
6003 | DJNZ ResetScore_Loop | Decrease counter by one and loop back to ResetScore_Loop until counter is zero. | ||
6005 | EI | Enable interrupts. | ||
6006 | CALL GameInit | Call GameInit. | ||
This entry point is used by the routines at HandlerCup and 6A73.
|
||||
StartGame_0 | 6009 | LD IX,$5E80 | IX=5E80. | |
600D | LD SP,$5E00 | Set the stack pointer to 5E00. | ||
This entry point is used by the routine at 6A73.
|
||||
MainLoop | 6010 | LD HL,$6A73 | HL=6A73. | |
6013 | PUSH HL | Stash HL on the stack. | ||
6014 | LD HL,$6028 | HL=JumpTable_Main. | ||
6017 | LD A,(IX+$00) | |||
601A | RLCA | |||
601B | AND %01111110 | Keep only bits 1-6. | ||
601D | LD C,A | Create an offset in BC. | ||
601E | LD B,$00 | |||
6020 | ADD HL,BC | HL=HL + offset. | ||
6021 | LD A,(HL) | HL=address from JumpTable_Main + offset. | ||
6022 | INC HL | |||
6023 | LD H,(HL) | |||
6024 | LD L,A | |||
6025 | JP $5CB0 | Jump to 5CB0. | ||
View the equivalent code in;
|
Prev: 5FB1 | Up: Map | Next: 6028 |