Routines |
Prev: 53921 | Up: Map | Next: 54377 |
Used by the routine at StartGame.
|
||||
54098 | LD DE,1920 | Write 1920 to *55438. | ||
54101 | LD (55438),DE | |||
54105 | LD DE,2800 | Write 2800 to *55440. | ||
54108 | LD (55440),DE | |||
54112 | CALL Handler_CheckTime | Call Handler_CheckTime. | ||
54115 | LD A,(55348) | Jump to 54151 if *PlayerCursor_TileID is equal to 9. | ||
54118 | CP 9 | |||
54120 | JR Z,54151 | |||
54122 | LD A,(55349) | Jump to 54151 if *PlayerCursor_Flag is not equal to 0. | ||
54125 | CP 0 | |||
54127 | JR NZ,54151 | |||
54129 | PUSH BC | Stash BC on the stack. | ||
54130 | LD A,(55344) | Write *StorageCursor_Y_Position to *DestinationCursor_Y_Position. | ||
54133 | LD (55340),A | |||
54136 | LD A,(55345) | Write *StorageCursor_X_Position to *DestinationCursor_X_Position. | ||
54139 | LD (55341),A | |||
54142 | CALL Display_PlayerCursor | Call Display_PlayerCursor. | ||
54145 | LD HL,55353 | HL=55353. | ||
54148 | RES 0,(HL) | Reset bit 0 of *HL. | ||
54150 | POP BC | Restore BC from the stack. | ||
54151 | BIT 4,B | Jump to StartGame_0 if bit 4 of B is not set. | ||
54153 | JP Z,StartGame_0 | |||
54156 | PUSH BC | Stash BC on the stack. | ||
54157 | CALL 55999 | Call 55999. | ||
54160 | CALL Print_Bonus | Call Print_Bonus. | ||
54163 | LD HL,55354 | HL=Time. | ||
54166 | BIT 6,(HL) | Call Handler_TimeBar if bit 6 of *HL is set. | ||
54168 | CALL NZ,Handler_TimeBar | |||
54171 | LD HL,55354 | HL=Time. | ||
54174 | SET 0,(HL) | Set bit 0 of *HL. | ||
54176 | POP BC | Restore BC from the stack. | ||
54177 | BIT 3,B | Jump to 54212 if bit 3 of B is not set. | ||
54179 | JR Z,54212 | |||
54181 | CALL Handler_Bonus | Call Handler_Bonus. | ||
54184 | LD A,(59229) | A=*Tile_Horizontal_Position. | ||
54187 | DEC A | Decrease A by one. | ||
54188 | LD B,A | B=A. | ||
54189 | LD A,(59230) | A=*Tile_Vertical_Position. | ||
54192 | DEC A | Decrease A by one. | ||
54193 | LD C,A | C=A. | ||
54194 | LD DE,55403 | DE=55403. | ||
54197 | LD A,4 | A=4. | ||
54199 | LD IX,55354 | IX=Time. | ||
54203 | RES 1,(IX+0) | Reset bit 1 of *IX+0. | ||
54207 | CALL Print_Numbers | Call Print_Numbers. | ||
54210 | JR 54239 | Jump to 54239. | ||
54212 | LD IX,55354 | IX=Time. | ||
54216 | BIT 2,(IX+0) | Jump to 54285 if bit 2 of *IX+0 is set. | ||
54220 | JR Z,54285 | |||
54222 | LD DE,1296 | Write 1296 to *55438. | ||
54225 | LD (55438),DE | |||
54229 | LD DE,2736 | Write 2736 to *55440. | ||
54232 | LD (55440),DE | |||
54236 | CALL Handler_Bonus | Call Handler_Bonus. | ||
54239 | LD A,5 | A=5. | ||
54241 | LD C,130 | C=130. | ||
54243 | PUSH BC | Stash BC on the stack. | ||
54244 | LD D,5 | D=5. | ||
54246 | OUT (254),A | Set border to the colour held by A. | ||
54248 | XOR %00010000 | Flip bit 4. | ||
54250 | LD E,C | E=C. | ||
54251 | DEC E | Decrease E by one. | ||
54252 | JR NZ,54251 | Jump to 54251 if E is not zero. | ||
54254 | DEC D | Decrease D by one. | ||
54255 | JR NZ,54246 | Jump to 54246 if D is not zero. | ||
54257 | DEC C | Decrease C by one. | ||
54258 | JR NZ,54244 | Jump to 54244 if C is not zero. | ||
54260 | POP BC | Restore BC from the stack. | ||
54261 | LD D,5 | D=5. | ||
54263 | LD A,5 | A=5. | ||
54265 | OUT (254),A | Set border to the colour held by A. | ||
54267 | XOR %00010000 | Flip bit 4. | ||
54269 | LD E,C | E=C. | ||
54270 | DEC E | Decrease E by one. | ||
54271 | JR NZ,54270 | Jump to 54270 if E is not zero. | ||
54273 | DEC D | Decrease D by one. | ||
54274 | JR NZ,54265 | Jump to 54265 if D is not zero. | ||
54276 | INC C | Increment C by one. | ||
54277 | LD A,130 | Jump to 54261 if C is not equal to 130. | ||
54279 | CP C | |||
54280 | JR NZ,54261 | |||
54282 | CALL 55999 | Call 55999. | ||
54285 | LD IX,55354 | IX=Time. | ||
54289 | BIT 3,(IX+0) | Jump to StartGame_0 if bit 3 of *IX+0 is not set. | ||
54293 | JP Z,StartGame_0 | |||
54296 | CALL 59866 | Call 59866. | ||
54299 | CALL 59253 | Call 59253. | ||
This entry point is used by the routines at Handler_CheckTime and Handler_Bombs.
|
||||
54302 | LD A,(55342) | Write *CurrentCursor_Y_Position to *Tile_Horizontal_Position. | ||
54305 | LD (59229),A | |||
54308 | LD A,(55343) | Write *CurrentCursor_X_Position to *Tile_Vertical_Position. | ||
54311 | LD (59230),A | |||
54314 | LD A,(55348) | Jump to 54358 if *PlayerCursor_TileID is not equal to 9. | ||
54317 | CP 9 | |||
54319 | JR NZ,54358 | |||
54321 | LD A,(59229) | A=*Tile_Horizontal_Position. | ||
54324 | LD (59234),A | Write A to *59234. | ||
54327 | INC A | Increment A by one. | ||
54328 | LD (59235),A | Write A to *59235. | ||
54331 | LD A,(59230) | A=*Tile_Vertical_Position. | ||
54334 | LD (59236),A | Write A to *59236. | ||
54337 | INC A | Increment A by one. | ||
54338 | LD (59237),A | Write A to *59237. | ||
54341 | CALL 59866 | Call 59866. | ||
54344 | LD A,47 | A=INK: WHITE, PAPER: CYAN . | ||
54346 | CALL ColouriseHome | Call ColouriseHome. | ||
54349 | CALL 59813 | Call 59813. | ||
54352 | HALT | Halt operation (suspend CPU until the next interrupt). | ||
54353 | CALL 59340 | Call 59340. | ||
54356 | JR 54367 | Jump to 54367. | ||
54358 | CALL Remove_PlayerCursor | |||
54361 | CALL 59866 | |||
54364 | CALL 59253 | |||
54367 | LD HL,55036 | |||
54370 | LD B,8 | |||
54372 | DI | |||
54373 | CALL 61258 | |||
54376 | EI |
Prev: 53921 | Up: Map | Next: 54377 |