Prev: 53921 Up: Map Next: 54377
54098: Routine at D352
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 62366 Call 62366.
54115 LD A,(55348) Jump to 54151 if *55348 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 *55344 to *55340.
54133 LD (55340),A
54136 LD A,(55345) Write *55345 to *55341.
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 62281 if bit 6 of *HL is set.
54168 CALL NZ,62281
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=*59229.
54187 DEC A Decrease A by one.
54188 LD B,A B=A.
54189 LD A,(59230) A=*59230.
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 routine at 62366.
54302 LD A,(55342) Write *PlayerCursor_Y_Position to *59229.
54305 LD (59229),A
54308 LD A,(55343) Write *PlayerCursor_X_Position to *59230.
54311 LD (59230),A
54314 LD A,(55348) Jump to 54358 if *55348 is not equal to 9.
54317 CP 9
54319 JR NZ,54358
54321 LD A,(59229) A=*59229.
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=*59230.
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