Prev: 7186 Up: Map Next: 7438
7198: Routine at 7198
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;
Port Number Bit
0 1 2 3 4
FE SHIFT Z X C V
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
This entry point is used by the routines at 65E8, 68C4 and 6C7A.
730D CALL $6E25
7310 LD A,(IX+$00)
7313 AND A
7314 RET Z
7315 JR $72D4
This entry point is used by the routines at 65E8, 68C4 and 6C7A.
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
This entry point is used by the routines at 5FE1 and 6FFD.
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
This entry point is used by the routines at 65E8, NextLevel and 6E25.
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