![]() |
Routines |
| Prev: 7186 | Up: Map | Next: 7438 |
|
|
|||||||||||||||||||
| 7198 | CALL $7186 | Call 7186. | |||||||||||||||||
| 719B | POP IX | Restore IX from the stack. | |||||||||||||||||
| 719D | XOR A | Write 00 to FrameUpdated. | |||||||||||||||||
| 719E | LD ($5F23),A | ||||||||||||||||||
| 71A1 | EI | Enable interrupts. | |||||||||||||||||
| 71A2 | RET | Return. | |||||||||||||||||
| 71A3 | LD DE,$0008 | IX=IX + 08. | |||||||||||||||||
| 71A6 | ADD IX,DE | ||||||||||||||||||
| 71A8 | PUSH IX | HL=IX (using the stack to make the transfer). | |||||||||||||||||
| 71AA | POP HL | ||||||||||||||||||
| 71AB | LD BC,$5F85 | BC=5F85(see 7186). | |||||||||||||||||
| 71AE | AND A | ||||||||||||||||||
| 71AF | SBC HL,BC | HL=HL - BC. | |||||||||||||||||
| 71B1 | JP C,MainLoop | If there is any carry-over, jump to MainLoop. | |||||||||||||||||
|
Holding "SHIFT" during an interlude pauses the game.
|
|||||||||||||||||||
| 71B4 | LD A,$FE | Read from the keyboard;
|
|||||||||||||||||
| 71B6 | OUT ($FD),A | ||||||||||||||||||
| 71B8 | IN A,($FE) | ||||||||||||||||||
| 71BA | BIT 0,A | Has key "SHIFT" been pressed? | |||||||||||||||||
| 71BC | JR Z,$71B4 | If it has then jump to 71B4. | |||||||||||||||||
| 71BE | LD HL,($5F1D) | HL=5F1D(see 7191). | |||||||||||||||||
| 71C1 | INC HL | ||||||||||||||||||
| 71C2 | LD ($5F1D),HL | ||||||||||||||||||
| 71C5 | LD A,($5F1B) | ||||||||||||||||||
| 71C8 | LD ($5F1C),A | ||||||||||||||||||
| 71CB | LD B,A | ||||||||||||||||||
| 71CC | LD A,($5F2F) | ||||||||||||||||||
| 71CF | OR B | ||||||||||||||||||
| 71D0 | JR NZ,$71D8 | ||||||||||||||||||
| 71D2 | CALL $713D | Call 713D. | |||||||||||||||||
| 71D5 | CALL NextLevel | Call NextLevel. | |||||||||||||||||
| 71D8 | LD A,($5F1B) | ||||||||||||||||||
| 71DB | CP $06 | ||||||||||||||||||
| 71DD | JR NC,$7211 | ||||||||||||||||||
| 71DF | LD A,($5F1D) | ||||||||||||||||||
| 71E2 | LD B,A | ||||||||||||||||||
| 71E3 | LD A,R | ||||||||||||||||||
| 71E5 | ADD A,B | ||||||||||||||||||
| 71E6 | AND %00011111 | Keep only bits 0-4. | |||||||||||||||||
| 71E8 | JR NZ,$7211 | ||||||||||||||||||
| 71EA | LD A,($5F25) | ||||||||||||||||||
| 71ED | AND A | ||||||||||||||||||
| 71EE | JR NZ,$7211 | ||||||||||||||||||
| 71F0 | LD A,($5F2F) | ||||||||||||||||||
| 71F3 | AND A | ||||||||||||||||||
| 71F4 | JR Z,$7211 | ||||||||||||||||||
| 71F6 | LD A,($5F35) | ||||||||||||||||||
| 71F9 | AND %00111111 | Keep only bits 0-5. | |||||||||||||||||
| 71FB | DEC A | ||||||||||||||||||
| 71FC | JR Z,$7201 | ||||||||||||||||||
| 71FE | DEC A | ||||||||||||||||||
| 71FF | JR NZ,$7211 | ||||||||||||||||||
| 7201 | LD HL,$5F55 | ||||||||||||||||||
| 7204 | LD B,$06 | ||||||||||||||||||
| 7206 | LD DE,$0008 | ||||||||||||||||||
| 7209 | LD A,(HL) | ||||||||||||||||||
| 720A | AND A | ||||||||||||||||||
| 720B | JP Z,$7214 | ||||||||||||||||||
| 720E | ADD HL,DE | ||||||||||||||||||
| 720F | DJNZ $7209 | ||||||||||||||||||
| 7211 | JP MainLoopResetStack | Jump to MainLoopResetStack. | |||||||||||||||||
| 7214 | EX DE,HL | ||||||||||||||||||
| 7215 | LD HL,$7279 | ||||||||||||||||||
| 7218 | PUSH BC | ||||||||||||||||||
| 7219 | LD BC,$0008 | ||||||||||||||||||
| 721C | PUSH DE | ||||||||||||||||||
| 721D | LDIR | ||||||||||||||||||
| 721F | POP IX | ||||||||||||||||||
| 7221 | LD A,$08 | ||||||||||||||||||
| 7223 | LD (IX+$00),A | ||||||||||||||||||
| 7226 | LD A,($5F2D) | ||||||||||||||||||
| 7229 | AND $07 | ||||||||||||||||||
| 722B | LD C,A | ||||||||||||||||||
| 722C | SLA A | ||||||||||||||||||
| 722E | ADD A,C | ||||||||||||||||||
| 722F | RLA | ||||||||||||||||||
| 7230 | RLA | ||||||||||||||||||
| 7231 | RLA | ||||||||||||||||||
| 7232 | AND %01111000 | Keep only bits 3-6. | |||||||||||||||||
| 7234 | ADD A,$2F | ||||||||||||||||||
| 7236 | LD (IX+$02),A | ||||||||||||||||||
| 7239 | LD HL,$6D7D | ||||||||||||||||||
| 723C | SLA C | ||||||||||||||||||
| 723E | LD B,$00 | ||||||||||||||||||
| 7240 | ADD HL,BC | ||||||||||||||||||
| 7241 | LD A,(HL) | ||||||||||||||||||
| 7242 | LD (IX+$00),A | ||||||||||||||||||
| 7245 | INC HL | ||||||||||||||||||
| 7246 | LD A,(HL) | ||||||||||||||||||
| 7247 | LD (IX+$03),A | ||||||||||||||||||
| 724A | LD A,($5F2D) | ||||||||||||||||||
| 724D | SRL A | ||||||||||||||||||
| 724F | SRL A | ||||||||||||||||||
| 7251 | SRL A | ||||||||||||||||||
| 7253 | POP BC | ||||||||||||||||||
| 7254 | CP $04 | ||||||||||||||||||
| 7256 | JR C,$725A | ||||||||||||||||||
| 7258 | LD A,$04 | ||||||||||||||||||
| 725A | INC A | ||||||||||||||||||
| 725B | SUB B | ||||||||||||||||||
| 725C | JP M,$7271 | ||||||||||||||||||
| 725F | LD A,R | ||||||||||||||||||
| 7261 | AND %00000011 | Keep only bits 0-1. | |||||||||||||||||
| 7263 | JR NZ,$7266 | ||||||||||||||||||
| 7265 | INC A | ||||||||||||||||||
| 7266 | SLA A | ||||||||||||||||||
| 7268 | ADD A,$1C | ||||||||||||||||||
| 726A | LD (IX+$00),A | ||||||||||||||||||
| 726D | LD (IX+$03),$45 | Set the colour to 45. | |||||||||||||||||
| 7271 | CALL $7617 | Call 7617. | |||||||||||||||||
| 7274 | CALL $67E2 | Call 67E2. | |||||||||||||||||
| 7277 | JR $7211 | Jump to 7211. | |||||||||||||||||
| 7279 | DEFB $04,$DA,$2F,$46,$FE,$02,$00,$00 | ||||||||||||||||||
| 7281 | DEFB $CD,$D0,$76,$21,$1B,$5F,$34,$DD | ||||||||||||||||||
| 7289 | DEFB $7E,$01,$FE,$C8,$30,$73,$CD,$46 | ||||||||||||||||||
| 7291 | DEFB $6A,$1D,$CA,$73,$6A,$CD,$17,$73 | ||||||||||||||||||
| 7299 | DEFB $DD,$CB,$00,$7E,$20,$6E,$DD,$36 | ||||||||||||||||||
| 72A1 | DEFB $03,$46 | ||||||||||||||||||
|
This entry point is used by the routine at 68C4.
|
|||||||||||||||||||
| 72A3 | LD A,(IX+$02) | ||||||||||||||||||
| 72A6 | ADD A,(IX+$05) | ||||||||||||||||||
| 72A9 | CP $21 | ||||||||||||||||||
| 72AB | JR C,$72DA | ||||||||||||||||||
| 72AD | CP $A0 | ||||||||||||||||||
| 72AF | JR NC,$72EE | ||||||||||||||||||
| 72B1 | LD (IX+$02),A | ||||||||||||||||||
|
This entry point is used by the routine at 68C4.
|
|||||||||||||||||||
| 72B4 | LD A,(IX+$01) | ||||||||||||||||||
| 72B7 | ADD A,(IX+$04) | ||||||||||||||||||
| 72BA | LD (IX+$01),A | ||||||||||||||||||
| 72BD | CP $04 | ||||||||||||||||||
| 72BF | JR C,$72E4 | ||||||||||||||||||
| 72C1 | CP $C0 | ||||||||||||||||||
| 72C3 | JR NC,$72F8 | ||||||||||||||||||
| 72C5 | INC (IX+$07) | ||||||||||||||||||
| 72C8 | LD A,(IX+$07) | ||||||||||||||||||
| 72CB | RRA | ||||||||||||||||||
| 72CC | AND $01 | ||||||||||||||||||
| 72CE | XOR (IX+$00) | ||||||||||||||||||
| 72D1 | LD (IX+$00),A | ||||||||||||||||||
|
This entry point is used by the routine at 65E8.
|
|||||||||||||||||||
| 72D4 | CALL $75CC | ||||||||||||||||||
| 72D7 | JP $74EE | ||||||||||||||||||
| 72DA | LD (IX+$05),$02 | ||||||||||||||||||
| 72DE | SET 0,(IX+$06) | ||||||||||||||||||
| 72E2 | JR $72B4 | ||||||||||||||||||
| 72E4 | LD (IX+$04),$02 | ||||||||||||||||||
| 72E8 | SET 1,(IX+$06) | ||||||||||||||||||
| 72EC | JR $72C5 | ||||||||||||||||||
| 72EE | LD (IX+$05),$FE | ||||||||||||||||||
| 72F2 | RES 0,(IX+$06) | ||||||||||||||||||
| 72F6 | JR $72B4 | ||||||||||||||||||
| 72F8 | LD (IX+$04),$FE | ||||||||||||||||||
| 72FC | RES 1,(IX+$06) | ||||||||||||||||||
| 7300 | JR $72C5 | ||||||||||||||||||
| 7302 | LD A,R | ||||||||||||||||||
| 7304 | AND $04 | ||||||||||||||||||
| 7306 | SUB $02 | ||||||||||||||||||
| 7308 | LD (IX+$05),A | ||||||||||||||||||
| 730B | JR $72B4 | ||||||||||||||||||
| 730D | CALL $6E25 | ||||||||||||||||||
| 7310 | LD A,(IX+$00) | ||||||||||||||||||
| 7313 | AND A | ||||||||||||||||||
| 7314 | RET Z | ||||||||||||||||||
| 7315 | JR $72D4 | ||||||||||||||||||
| 7317 | LD DE,$0008 | ||||||||||||||||||
| 731A | LD HL,$5F3D | ||||||||||||||||||
| 731D | LD B,$02 | ||||||||||||||||||
| 731F | PUSH HL | ||||||||||||||||||
| 7320 | LD A,(HL) | ||||||||||||||||||
| 7321 | AND A | ||||||||||||||||||
| 7322 | JR Z,$734E | ||||||||||||||||||
| 7324 | CP $26 | ||||||||||||||||||
| 7326 | JR NC,$734E | ||||||||||||||||||
| 7328 | INC HL | ||||||||||||||||||
| 7329 | LD A,(HL) | ||||||||||||||||||
| 732A | SUB (IX+$01) | ||||||||||||||||||
| 732D | JP P,$7336 | ||||||||||||||||||
| 7330 | NEG | ||||||||||||||||||
| 7332 | LD C,$0A | ||||||||||||||||||
| 7334 | JR $7338 | ||||||||||||||||||
| 7336 | LD C,$12 | ||||||||||||||||||
| 7338 | CP C | ||||||||||||||||||
| 7339 | JR NC,$734E | ||||||||||||||||||
| 733B | INC HL | ||||||||||||||||||
| 733C | LD A,(HL) | ||||||||||||||||||
| 733D | SUB (IX+$02) | ||||||||||||||||||
| 7340 | JP P,$7349 | ||||||||||||||||||
| 7343 | NEG | ||||||||||||||||||
| 7345 | LD C,$12 | ||||||||||||||||||
| 7347 | JR $734B | ||||||||||||||||||
| 7349 | LD C,$0A | ||||||||||||||||||
| 734B | CP C | ||||||||||||||||||
| 734C | JR C,$7353 | ||||||||||||||||||
| 734E | POP HL | ||||||||||||||||||
| 734F | ADD HL,DE | ||||||||||||||||||
| 7350 | DJNZ $731F | ||||||||||||||||||
| 7352 | RET | ||||||||||||||||||
| 7353 | LD (IX+$03),$47 | ||||||||||||||||||
| 7357 | SET 7,(IX+$00) | ||||||||||||||||||
| 735B | LD (IX+$07),$40 | ||||||||||||||||||
| 735F | INC HL | ||||||||||||||||||
| 7360 | INC HL | ||||||||||||||||||
| 7361 | LD A,(HL) | ||||||||||||||||||
| 7362 | LD (IX+$04),A | ||||||||||||||||||
| 7365 | INC HL | ||||||||||||||||||
| 7366 | LD A,(HL) | ||||||||||||||||||
| 7367 | LD (IX+$05),A | ||||||||||||||||||
| 736A | POP HL | ||||||||||||||||||
| 736B | PUSH IX | ||||||||||||||||||
| 736D | PUSH HL | ||||||||||||||||||
| 736E | POP IX | ||||||||||||||||||
| 7370 | CALL $6FA4 | ||||||||||||||||||
| 7373 | POP IX | ||||||||||||||||||
| 7375 | JP $683E | ||||||||||||||||||
| 7378 | LD HL,$0002 | ||||||||||||||||||
| 737B | LD ($5F2B),HL | ||||||||||||||||||
| 737E | LD HL,$0040 | ||||||||||||||||||
| 7381 | CALL ScreenAddress | ||||||||||||||||||
| 7384 | CALL $73BD | ||||||||||||||||||
| 7387 | AND A | ||||||||||||||||||
| 7388 | JR Z,$73A6 | ||||||||||||||||||
| 738A | CALL $7399 | ||||||||||||||||||
| 738D | LD HL,$00B0 | ||||||||||||||||||
| 7390 | CALL ScreenAddress | ||||||||||||||||||
| 7393 | CALL $73CB | ||||||||||||||||||
| 7396 | AND A | ||||||||||||||||||
| 7397 | JR Z,$73AB | ||||||||||||||||||
| 7399 | ADD A,$30 | ||||||||||||||||||
| 739B | CALL PrintScreen | ||||||||||||||||||
| 739E | LD DE,$73B5 | ||||||||||||||||||
| 73A1 | PUSH BC | ||||||||||||||||||
| 73A2 | PUSH DE | ||||||||||||||||||
| 73A3 | JP PrintScreen_0 | ||||||||||||||||||
| 73A6 | CALL $73AB | ||||||||||||||||||
| 73A9 | JR $738D | ||||||||||||||||||
| 73AB | LD A,$20 | ||||||||||||||||||
| 73AD | CALL PrintScreen | ||||||||||||||||||
| 73B0 | LD A,$20 | ||||||||||||||||||
| 73B2 | JP PrintScreen | ||||||||||||||||||
| 73B5 | JR $73DB | ||||||||||||||||||
| 73B7 | INC A | ||||||||||||||||||
| 73B8 | LD A,(HL) | ||||||||||||||||||
| 73B9 | LD E,D | ||||||||||||||||||
| 73BA | INC A | ||||||||||||||||||
| 73BB | INC A | ||||||||||||||||||
| 73BC | LD H,(HL) | ||||||||||||||||||
| 73BD | LD A,($5F21) | ||||||||||||||||||
| 73C0 | AND A | ||||||||||||||||||
| 73C1 | JR NZ,$73C7 | ||||||||||||||||||
| 73C3 | LD A,($5F2E) | ||||||||||||||||||
| 73C6 | RET | ||||||||||||||||||
| 73C7 | LD A,($5F32) | ||||||||||||||||||
| 73CA | RET | ||||||||||||||||||
| 73CB | LD A,($5F21) | ||||||||||||||||||
| 73CE | AND A | ||||||||||||||||||
| 73CF | JR Z,$73C7 | ||||||||||||||||||
| 73D1 | JR $73C3 | ||||||||||||||||||
|
This entry point is used by the routine at GameOver_1UP.
|
|||||||||||||||||||
| 73D3 | LD HL,($5F0E) | ||||||||||||||||||
| 73D6 | LD DE,($5F11) | ||||||||||||||||||
| 73DA | LD A,L | ||||||||||||||||||
| 73DB | LD L,H | ||||||||||||||||||
| 73DC | LD H,A | ||||||||||||||||||
| 73DD | LD A,E | ||||||||||||||||||
| 73DE | LD E,D | ||||||||||||||||||
| 73DF | LD D,A | ||||||||||||||||||
| 73E0 | AND A | ||||||||||||||||||
| 73E1 | SBC HL,DE | ||||||||||||||||||
| 73E3 | JR C,$73F1 | ||||||||||||||||||
| 73E5 | JR NZ,$7410 | ||||||||||||||||||
| 73E7 | LD A,($5F10) | ||||||||||||||||||
| 73EA | LD E,A | ||||||||||||||||||
| 73EB | LD A,($5F13) | ||||||||||||||||||
| 73EE | CP E | ||||||||||||||||||
| 73EF | JR C,$7410 | ||||||||||||||||||
| 73F1 | LD HL,$5F11 | ||||||||||||||||||
| 73F4 | PUSH HL | ||||||||||||||||||
| 73F5 | LD DE,$5F09 | ||||||||||||||||||
| 73F8 | LD B,$03 | ||||||||||||||||||
| 73FA | LD A,(DE) | ||||||||||||||||||
| 73FB | CP (HL) | ||||||||||||||||||
| 73FC | JR C,$7406 | ||||||||||||||||||
| 73FE | JR NZ,$7404 | ||||||||||||||||||
| 7400 | INC HL | ||||||||||||||||||
| 7401 | INC DE | ||||||||||||||||||
| 7402 | DJNZ $73FA | ||||||||||||||||||
| 7404 | POP HL | ||||||||||||||||||
| 7405 | RET | ||||||||||||||||||
| 7406 | POP HL | ||||||||||||||||||
| 7407 | LD DE,$5F09 | ||||||||||||||||||
| 740A | LD BC,$0003 | ||||||||||||||||||
| 740D | LDIR | ||||||||||||||||||
| 740F | RET | ||||||||||||||||||
| 7410 | LD HL,$5F0E | ||||||||||||||||||
| 7413 | JR $73F4 | ||||||||||||||||||
| 7415 | LD A,($5F21) | ||||||||||||||||||
| 7418 | AND A | ||||||||||||||||||
| 7419 | JR NZ,$7420 | ||||||||||||||||||
| 741B | LD HL,$5F10 | ||||||||||||||||||
| 741E | JR $7423 | ||||||||||||||||||
| 7420 | LD HL,$5F13 | ||||||||||||||||||
| 7423 | LD A,(HL) | ||||||||||||||||||
| 7424 | ADD A,C | ||||||||||||||||||
| 7425 | DAA | ||||||||||||||||||
| 7426 | LD (HL),A | ||||||||||||||||||
| 7427 | DEC HL | ||||||||||||||||||
| 7428 | LD A,(HL) | ||||||||||||||||||
| 7429 | ADC A,B | ||||||||||||||||||
| 742A | DAA | ||||||||||||||||||
| 742B | LD (HL),A | ||||||||||||||||||
| 742C | DEC HL | ||||||||||||||||||
| 742D | LD A,(HL) | ||||||||||||||||||
| 742E | ADC A,$00 | ||||||||||||||||||
| 7430 | DAA | ||||||||||||||||||
| 7431 | LD (HL),A | ||||||||||||||||||
| 7432 | LD A,($5F21) | ||||||||||||||||||
| 7435 | AND A | ||||||||||||||||||
| 7436 | JR NZ,Score_2UP | ||||||||||||||||||
| Prev: 7186 | Up: Map | Next: 7438 |