Prev: 53812 Up: Map Next: 54261
53982: Routine at D2DE
Used by the routine at StartGame.
53982 LD DE,1920 Write 1920 to *54698.
53985 LD (54698),DE
53989 LD DE,2800 Write 2800 to *54700.
53992 LD (54700),DE
53996 CALL 61371 Call 61371.
53999 LD A,(54608) Jump to 54035 if *54608 is equal to 9.
54002 CP 9
54004 JR Z,54035
54006 LD A,(54609) Jump to 54035 if *54609 is not equal to 0.
54009 CP 0
54011 JR NZ,54035
54013 PUSH BC Stash BC on the stack.
54014 LD A,(54604) Write *54604 to *54600.
54017 LD (54600),A
54020 LD A,(54605) Write *54605 to *54601.
54023 LD (54601),A
54026 CALL Display_PlayerCursor Call Display_PlayerCursor.
54029 LD HL,54613 HL=54613.
54032 RES 0,(HL) Reset bit 0 of *HL.
54034 POP BC Restore BC from the stack.
54035 BIT 4,B Test bit 4 of B.
54037 JP Z,StartGame_0 Jump to StartGame_0 if A is equal to 0.
54040 PUSH BC Stash BC on the stack.
54041 CALL 55498 Call 55498.
54044 CALL 59403 Call 59403.
54047 LD HL,54614 HL=54614.
54050 BIT 6,(HL) Test bit 6 of *HL.
54052 CALL NZ,61286 Call 61286 if A is not equal to 0.
54055 LD HL,54614 HL=54614.
54058 SET 0,(HL) Set bit 0 of *HL.
54060 POP BC Restore BC from the stack.
54061 BIT 3,B Test bit 3 of B.
54063 JR Z,54096 Jump to 54096 if A is equal to 0.
54065 CALL 54793 Call 54793.
54068 LD A,(58728) A=*58728.
54071 DEC A Decrease A by one.
54072 LD B,A B=A.
54073 LD A,(58729) A=*58729.
54076 DEC A Decrease A by one.
54077 LD C,A C=A.
54078 LD DE,54663 DE=54663.
54081 LD A,4 A=4.
54083 LD IX,54614 IX=54614.
54087 RES 1,(IX+0) Reset bit 1 of *IX+0.
54091 CALL 55609 Call 55609.
54094 JR 54123 Jump to 54123.
54096 LD IX,54614 IX=54614.
54100 BIT 2,(IX+0) Test bit 2 of *IX+0.
54104 JR Z,54169 Jump to 54169 if A is equal to 4.
54106 LD DE,1296 Write 1296 to *54698.
54109 LD (54698),DE
54113 LD DE,2736 Write 2736 to *54700.
54116 LD (54700),DE
54120 CALL 54793 Call 54793.
54123 LD A,5 A=5.
54125 LD C,130 C=130.
54127 PUSH BC Stash BC on the stack.
54128 LD D,5 D=5.
54130 OUT (254),A Set border to the colour held by A.
54132 XOR %00010000 Flip bit 4.
54134 LD E,C E=C.
54135 DEC E Decrease E by one.
54136 JR NZ,54135 Jump to 54135 if E is not equal to 5.
54138 DEC D Decrease D by one.
54139 JR NZ,54130 Jump to 54130 if D is not equal to 5.
54141 DEC C Decrease C by one.
54142 JR NZ,54128 Jump to 54128 if C is not equal to 5.
54144 POP BC Restore BC from the stack.
54145 LD D,5 D=5.
54147 LD A,5 A=5.
54149 OUT (254),A Set border to the colour held by A.
54151 XOR %00010000 Flip bit 4.
54153 LD E,C E=C.
54154 DEC E Decrease E by one.
54155 JR NZ,54154 Jump to 54154 if E is not equal to 5.
54157 DEC D Decrease D by one.
54158 JR NZ,54149 Jump to 54149 if D is not equal to 5.
54160 INC C Increment C by one.
54161 LD A,130 A=130.
54163 CP C Compare A with C.
54164 JR NZ,54145 Jump to 54145 if A is not equal to C.
54166 CALL 55498 Call 55498.
54169 LD IX,54614 IX=54614.
54173 BIT 3,(IX+0) Test bit 3 of *IX+0.
54177 JP Z,StartGame_0 Jump to StartGame_0 if A is equal to C.
54180 CALL 59365 Call 59365.
54183 CALL 58752 Call 58752.
This entry point is used by the routine at 59649.
54186 LD A,(54602) Write *54602 to *58728.
54189 LD (58728),A
54192 LD A,(54603) Write *54603 to *58729.
54195 LD (58729),A
54198 LD A,(54608) Jump to 54242 if *54608 is not equal to 9.
54201 CP 9
54203 JR NZ,54242
54205 LD A,(58728) A=*58728.
54208 LD (58733),A Write A to *58733.
54211 INC A Increment A by one.
54212 LD (58734),A Write A to *58734.
54215 LD A,(58729) A=*58729.
54218 LD (58735),A Write A to *58735.
54221 INC A Increment A by one.
54222 LD (58736),A Write A to *58736.
54225 CALL 59365 Call 59365.
54228 LD A,47 A=47.
54230 CALL ColouriseHome Call ColouriseHome.
54233 CALL 59312 Call 59312.
54236 HALT Halt operation (suspend CPU until the next interrupt).
54237 CALL 58839 Call 58839.
54240 JR 54251 Jump to 54251.
54242 CALL Remove_PlayerCursor Call Remove_PlayerCursor.
54245 CALL 59365 Call 59365.
54248 CALL 58752 Call 58752.
54251 LD HL,54561 HL=54561.
54254 LD B,8 B=8.
54256 DI Disable interrupts.
54257 CALL 60300 Call 60300.
54260 EI Enable interrupts.
Prev: 53812 Up: Map Next: 54261