5B00: Data block at 5B00
5B00 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5B08 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5B10 DEFB $00
5B11: Object records, 20 bytes wide
5B11 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B1B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B25 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B2F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B39 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B43 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B4D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B57 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B61 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B6B DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B75 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B7F DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B89 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B93 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5B9D DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BA7 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BB1 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BBB DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BC5 DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BCF DEFB $00,$00,$00,$00,$00,$00,$00,$00,$00,$00
5BD9: Data block at 5BD9
5BD9 DEFB $00 ?? = $90
Player's object record
5BDA DEFB $00 Starting column = $10
5BDB DEFB $00 Pixels down screen start point = $40
5BDC DEFB $00 ?? = $02
5BDD DEFB $00
5BDE DEFB $00 ??
5BDF DEFB $00 ??
5BE0 DEFB $00,$00,$00,$00
5BE4 DEFB $00 ?? = $0A
5BE5 DEFB $00 ?? = $30
5BE6 DEFB $00 ??
5BE7 DEFB $00,$00,$00,$00
5BEB DEFB $00 ??
5BEC DEFB $00,$00
5BEE DEFB $00 ?? = $90
5BEF DEFB $00,$00,$00,$00,$00,$00,$00,$00
5BF7 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5BFF DEFB $00,$FF,$E0,$00,$00,$3C,$E1,$1C
5C07 DEFB $0D,$0D,$23,$05,$00,$00,$00,$00
5C0F DEFB $00,$01,$00,$06,$00,$0B,$00,$01
5C17 DEFB $00,$01,$00,$06,$00,$10,$00,$00
5C1F DEFB $00,$00,$00,$00,$00,$00,$00,$00
5C27 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5C2F DEFB $00,$00,$00,$00,$00,$00,$00,$00
5C37 DEFB $3C,$40,$00,$FF,$CD,$00,$A5,$61
5C3F DEFB $00,$00,$00,$00,$00,$FF,$FE,$FF
5C47 DEFB $07,$38,$00,$00,$CB,$5C,$00,$00
5C4F DEFB $B6,$5C,$BB,$5C,$CB,$5C,$15,$5D
5C57 DEFB $CA,$5C,$CC,$5C,$0E,$5D,$14,$5D
5C5F DEFB $00,$00,$16,$5D,$16,$5D,$16,$5D
5C67 DEFB $2D,$92,$5C,$00,$02,$00,$00,$00
5C6F DEFB $00,$00,$00,$00,$00,$B6,$1A,$00
5C77 DEFB $00,$A8,$25,$00,$58,$FF,$00,$00
5C7F DEFB $21,$00,$5B,$21,$17,$C0,$40,$E0
5C87 DEFB $50,$21,$12,$21,$17,$03,$38,$00
5C8F DEFB $38,$00,$00,$00,$00,$00,$00,$00
5C97 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5C9F DEFB $00,$00,$00,$00,$00,$00,$00,$00
5CA7 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5CAF DEFB $00,$00,$00,$A8,$61,$FF,$FF,$F4
5CB7 DEFB $09,$A8,$10,$4B,$F4,$09,$C4,$15
5CBF DEFB $53,$81,$0F,$C4,$15,$52,$F4,$09
5CC7 DEFB $C4,$15,$50,$80,$80,$FD
5CCD: Message at 5CCD
5CCD DEFM "25000"
5CD2: Data block at 5CD2
5CD2 DEFB $0E,$00,$00,$A8,$61,$00,$3A,$EF
5CDA DEFB $22,$22,$AF,$3A,$EF,$22,$22,$AF
5CE2 DEFB $3A,$EF,$22,$22,$AA,$3A,$F4
5CE9: Message at 5CE9
5CE9 DEFM "30052"
5CEE: Data block at 5CEE
5CEE DEFB $0E,$00,$00,$64,$75,$00
5CF4: Message at 5CF4
5CF4 DEFM ",31"
5CF7: Data block at 5CF7
5CF7 DEFB $0E,$00,$00,$1F,$00,$00,$3A,$F2
5CFF DEFB $30,$0E,$00,$00,$00,$00,$00,$3A
5D07 DEFB $F9,$C0
5D09: Message at 5D09
5D09 DEFM "25344"
5D0E: Data block at 5D0E
5D0E DEFB $0E,$00,$00,$00,$63,$00,$0D,$80
5D16 DEFB $00,$00,$00,$63,$00,$00,$00,$1F
5D1E DEFB $00,$00,$20,$00,$1B,$00,$40,$00
5D26 DEFB $00,$03,$AA
5D29: Message at 5D29
5D29 DEFM " "
5D32: Data block at 5D32
5D32 DEFB $00,$1B,$40,$9C,$00,$80,$AA,$E5
5D3A DEFB $5C,$00,$00,$20,$00,$00,$00,$00
5D42 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D4A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D52 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D5A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D62 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D6A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D72 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D7A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D82 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D8A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D92 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5D9A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DA2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DAA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DB2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DBA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DC2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DCA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DD2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DDA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DE2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DEA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DF2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5DFA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E02 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E0A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E12 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E1A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E22 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E2A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E32 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E3A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E42 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E4A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E52 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E5A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E62 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E6A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E72 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E7A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E82 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E8A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E92 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5E9A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EA2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EAA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EB2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EBA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EC2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5ECA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5ED2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EDA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EE2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EEA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EF2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5EFA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F02 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F0A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F12 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F1A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F22 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F2A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F32 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F3A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F42 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F4A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F52 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F5A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F62 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F6A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F72 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F7A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F82 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F8A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F92 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5F9A DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FA2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FAA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FB2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FBA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FC2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FCA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FD2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FDA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FE2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FEA DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FF2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
5FFA DEFB $00,$00,$00,$00,$00,$00,$00,$00
6002 DEFB $00,$00,$00,$00,$00,$00,$00,$00
600A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6012 DEFB $00,$00,$00,$00,$00,$00,$00,$00
601A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6022 DEFB $00,$00,$00,$00,$00,$00,$00,$00
602A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6032 DEFB $00,$00,$00,$00,$00,$00,$00,$00
603A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6042 DEFB $00,$00,$00,$00,$00,$00,$00,$00
604A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6052 DEFB $00,$00,$00,$00,$00,$00,$00,$00
605A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6062 DEFB $00,$00,$00,$00,$00,$00,$00,$00
606A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6072 DEFB $00,$00,$00,$00,$00,$00,$00,$00
607A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6082 DEFB $00,$00,$00,$00,$00,$00,$00,$00
608A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6092 DEFB $00,$00,$00,$00,$00,$00,$00,$00
609A DEFB $00,$00,$00,$00,$00,$00,$00,$00
60A2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60AA DEFB $00,$00,$00,$00,$00,$00,$00,$00
60B2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60BA DEFB $00,$00,$00,$00,$00,$00,$00,$00
60C2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60CA DEFB $00,$00,$00,$00,$00,$00,$00,$00
60D2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60DA DEFB $00,$00,$00,$00,$00,$00,$00,$00
60E2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60EA DEFB $00,$00,$00,$00,$00,$00,$00,$00
60F2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
60FA DEFB $00,$00,$00,$00,$00,$00,$00,$00
6102 DEFB $00,$00,$00,$00,$00,$00,$00,$00
610A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6112 DEFB $00,$00,$00,$00,$00,$00,$00,$00
611A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6122 DEFB $00,$00,$00,$00,$00,$00,$00,$00
612A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6132 DEFB $00,$00,$00,$00,$00,$00,$00,$00
613A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6142 DEFB $00,$00,$00,$00,$00,$00,$00,$00
614A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6152 DEFB $00,$00,$00,$00,$00,$00,$00,$00
615A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6162 DEFB $00,$00,$00,$00,$00,$00,$00,$00
616A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6172 DEFB $00,$00,$00,$00,$00,$00,$00,$00
617A DEFB $00,$00,$00,$00,$00,$00,$00,$00
6182 DEFB $00,$4E,$E2,$83,$E1,$E8,$8B,$DB
618A DEFB $E1,$BF,$3B,$1A,$39,$5C,$5F,$2B
6192 DEFB $2D,$65,$33,$58
6196: Data block at 6196
6196 DEFB $FF,$ED,$10,$0D,$00,$09,$00,$85
619E DEFB $1C,$10,$1C,$52,$1B,$76,$1B,$03
61A6 DEFB $13,$00,$3E,$00,$00,$00,$00,$00
61AE DEFB $00,$00,$00,$00,$00,$00,$00,$00
61B6 DEFB $00,$00,$00,$00,$00,$00,$00,$00
61BE DEFB $00,$00,$00,$00,$00,$00,$00,$00
61C6 DEFB $00,$00,$00,$00,$00,$00,$00,$00
61CE DEFB $00,$00,$00,$00,$00,$00,$00,$00
61D6 DEFB $00,$00,$00,$00,$00,$00,$00,$00
61DE DEFB $00,$00,$00,$00,$00,$00,$00,$00
61E6 DEFB $FC,$FC,$5D,$7A,$B5,$76,$30,$13
61EE DEFB $E0,$20,$00,$00,$1A,$42,$C7,$71
61F6 DEFB $6D,$72
61F8: Data block at 61F8
61F8 DEFB $C7,$71,$05,$6A,$3A,$5C,$58,$27
6200 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6208 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6210 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6218 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6220 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6228 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6230 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6238 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6240 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6248 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6250 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6258 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6260 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6268 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6270 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6278 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6280 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6288 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6290 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6298 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62A0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62A8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62B0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62B8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62C0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62C8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62D0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62D8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62E0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62E8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62F0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
62F8 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6300 DEFB $3A,$14,$69,$3C,$3C,$42,$46,$69
6308: Data block at 6308
6308 DEFB $D6,$8B,$0B,$D2,$8C,$0B,$ED,$82
6310 DEFB $42,$BA,$67,$3C,$3C,$3C,$3C,$3C
6318: Data block at 6318
6318 DEFB $D6,$8B,$0B,$FC,$43,$7B,$E1,$C9
6320 DEFB $43,$F7,$E1,$33,$99,$4B,$51,$E1
6328 DEFB $01,$69,$E1,$9C,$DC,$3C,$42,$C2
6330 DEFB $DF,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6338 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6340 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6348 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6350 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6358 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6360 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6368 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6370 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6378 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6380 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6388 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6390 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6398 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63A0 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63A8 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63B0 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63B8 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63C0 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63C8 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63D0 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63D8 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63E0 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63E8 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63F0 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
63F8 DEFB $E1,$E1,$E1,$E1,$E1,$E1,$E1,$E1
6400: -> $7A10
Used by the routines at 9132 and 9193.
6400 JP $7A10
6403 JP $7A5C Delay by BC
6406 JP $79CA
6409 JP $0000
640C JP $7621
640F JP $7626
6412 JP $75BE
6415: -> $6825 - Update Score
Used by the routines at 8EE3, E1D1, E224, E6FE, F076 and F26E.
6415 JP $6825
6418: Data block at 6418
6418 DEFB $C3,$6A,$79,$C3,$2C,$79,$C3,$D2
6420 DEFB $69,$C3,$57,$73
6424: -> $7511 - XOR AF and AF' with every byte in $F900-F9FF
Used by the routine at ED52.
6424 JP $7511
6427: -> $6593
Used by the routine at DEEF.
6427 JP $6593
642A: -> $6600
Used by the routines at 83B8, 85AB, 86F5 and F381.
642A JP $6600
642D: -> $6456
Used by the routines at 8EE3, DE91, E6FE, ECC1, F26E and F381.
642D JP $6456
6430: -> $6C7A - We've got A more grenades
Used by the routines at 8EE3 and ECC1.
6430 JP $6C7A
6433: Data block at 6433
6433 DEFB $00,$00,$00,$00,$00,$00,$01
643A DEFB $94,$14,$2C,$0A,$14,$10,$02,$04
6442 DEFB $01,$02,$02,$02,$02,$01
6448 DEFW $64F9
644A DEFW $64E9
644C DEFW $64C7
644E DEFW $6505
6450 DEFW $650F
6452 DEFW $64AB
6454 DEFW $6533
6456: Routine at 6456
Used by the routines at 642D, 6825 and 7637.
6456 CP $07
6458 JR Z,$6469 Clear 7 bytes at $6433
645A LD E,A
645B LD HL,$6433
645E ADD A,L
645F LD L,A
6460 LD A,E
6461 LD DE,$643A
6464 ADD A,E
6465 LD E,A
6466 LD A,(DE)
6467 LD (HL),A
6468 RET
6469: Clear 7 bytes at $6433
Used by the routines at 6456, 69F3 and 6BBB.
6469 LD B,$07
646B LD HL,$6433
646E LD (HL),$00
6470 INC HL
6471 DJNZ $646E
6473 RET
6474: Routine at 6474
Used by the routine at 7357.
6474 LD HL,$6433
6477 LD B,$07
6479 LD A,(HL)
647A AND A
647B JP NZ,$6482
647E INC HL
647F DJNZ $6479
6481 RET
6482 LD HL,$6446
6485 LD A,B
6486 ADD A,A
6487 ADD A,L
6488 LD L,A
6489 JR NC,$648C
648B INC H
648C LD A,(HL)
648D INC HL
648E LD H,(HL)
648F LD L,A
6490 LD DE,$6495
6493 PUSH DE
6494 JP (HL)
6495: Routine at 6495
6495 LD DE,$6433
6498 LD HL,$6441
649B LD B,$07
649D LD A,(DE)
649E AND A
649F JR Z,$64A6
64A1 SBC A,(HL)
64A2 JR NC,$64A5
64A4 XOR A
64A5 LD (DE),A
64A6 INC HL
64A7 INC DE
64A8 DJNZ $649D
64AA RET
64AB: Message at 64AB
64AB DEFM ":4d=("
64B0: Data block at 64B0
64B0 DEFB $10,$3C,$FE,$0A,$38,$04,$3E,$14
64B8 DEFB $18,$02,$3E,$0F,$2E,$0C,$C3
64BF: Message at 64BF
64BF DEFM "ue>"
64C2: Data block at 64C2
64C2 DEFB $14
64C3: Message at 64C3
64C3 DEFM "24d"
64C6: Data block at 64C6
64C6 DEFB $C9
64C7: Routine at 64C7
64C7 LD A,($6437)
64CA NEG
64CC AND $1F
64CE XOR $1F
64D0 OR $01
64D2 PUSH AF
64D3 LD A,R
64D5 XOR $88
64D7 AND $F8
64D9 LD B,A
64DA LD A,($FDF7)
64DD OR B
64DE OUT ($FE),A
64E0 LD B,$0A
64E2 DJNZ $64E2
64E4 POP AF
64E5 DEC A
64E6 JR NZ,$64D2
64E8 RET
64E9: Routine at 64E9
64E9 LD A,($6438)
64EC CP $0C
64EE JR NC,$64F4
64F0 LD B,A
64F1 LD A,$0C
64F3 SUB B
64F4 LD L,$14
64F6 JP $6575
64F9: Routine at 64F9
64F9 LD A,($6439)
64FC NEG
64FE AND $0F
6500 LD L,$09
6502 JP $6575
6505: Routine at 6505
6505 LD A,($6436)
6508 ADD A,$0A
650A LD L,$09
650C JP $6575
650F: Message at 650F
650F DEFM ":5dG"
6513: Data block at 6513
6513 DEFB $FE,$0A,$38,$15,$78,$FE,$1B,$30
651B DEFB $09,$3E,$12,$5F,$78,$E6,$07,$B3
6523 DEFB $18,$07,$3E,$1C,$5F,$78,$E6,$07
652B DEFB $B3,$F6,$01,$2E,$0A,$C3,$75,$65
6533: Routine at 6533
6533 LD A,($6433)
6536 CP $14
6538 JR C,$6549
653A SUB $14
653C LD B,A
653D LD A,$88
653F SUB B
6540 AND $F8
6542 OR $01
6544 LD L,$08
6546 JP $6575
6549 LD A,$88
654B LD L,$08
654D JP $6575
6550: Data block at 6550
6550 DEFB $5F,$3A,$F7,$FD,$E6,$07,$D3,$FE
6558 DEFB $7B,$3D,$20,$FD,$ED,$5F,$CB,$47
6560 DEFB $28,$0A,$47,$3A,$F7,$FD,$E6,$07
6568 DEFB $F6,$10,$D3,$FE,$7B,$3D,$20,$FD
6570 DEFB $2D,$C2,$76,$65,$C9
6575: Routine at 6575
Used by the routines at 64E9, 64F9, 6505 and 6533.
6575 LD E,A
6576 LD A,($FDF7)
6579 AND $07
657B OUT ($FE),A
657D LD A,E
657E DEC A
657F JR NZ,$657E
6581 LD A,($FDF7)
6584 AND $07
6586 OR $10
6588 OUT ($FE),A
658A LD A,E
658B DEC A
658C JR NZ,$658B
658E DEC L
658F JP NZ,$6576
6592 RET
6593: Routine at 6593
Used by the routine at 6427.
6593 LD HL,$6648
6596 LD DE,$0005
6599 LD B,$05
659B LD A,(HL)
659C CP $80
659E CALL NZ,$65A5
65A1 ADD HL,DE
65A2 DJNZ $659B
65A4 RET
65A5: Routine at 65A5
Used by the routine at 6593.
65A5 PUSH HL
65A6 ADD HL,DE
65A7 DEC HL
65A8 DEC (HL)
65A9 JR Z,$65AD
65AB POP HL
65AC RET
65AD LD (HL),$03
65AF POP HL
65B0 PUSH HL
65B1 PUSH DE
65B2 PUSH BC
65B3 LD IX,$6661
65B7 LD A,(HL)
65B8 LD (IX+$00),A
65BB LD (IX+$04),A
65BE INC HL
65BF LD B,(HL)
65C0 LD (IX+$01),B
65C3 LD A,R
65C5 JP P,$65CA
65C8 INC (HL)
65C9 INC B
65CA LD (IX+$05),B
65CD INC HL
65CE LD A,(HL)
65CF INC HL
65D0 LD B,(HL)
65D1 CALL $65F6
65D4 LD (IX+$02),A
65D7 LD (IX+$03),B
65DA LD B,(HL)
65DB DEC HL
65DC INC (HL)
65DD LD A,(HL)
65DE CALL $65F6
65E1 LD (IX+$06),A
65E4 LD (IX+$07),B
65E7 JR NC,$65ED
65E9 DEC HL
65EA DEC HL
65EB LD (HL),$80
65ED LD C,$07
65EF CALL $800F -> $806B
65F2 POP BC
65F3 POP DE
65F4 POP HL
65F5 RET
65F6: Routine at 65F6
Used by the routine at 65A5.
65F6 OR A
65F7 JR Z,$65FD
65F9 AND $03
65FB RET NZ
65FC SCF
65FD LD B,$12
65FF RET
6600: Routine at 6600
Used by the routine at 642A.
6600 EX AF,AF'
6601 PUSH HL
6602 LD HL,$6648
6605 LD DE,$0005
6608 LD B,$05
660A LD A,$80
660C CP (HL)
660D JR Z,$6614
660F ADD HL,DE
6610 DJNZ $660C
6612 POP HL
6613 RET
6614 POP DE
6615 LD (HL),E
6616 INC HL
6617 LD (HL),D
6618 INC HL
6619 LD (HL),$00
661B INC HL
661C EX AF,AF'
661D SRL A
661F ADD A,$13
6621 LD (HL),A
6622 INC HL
6623 LD (HL),$01
6625 RET
6626: Prepare records and variables at $6648
Used by the routine at 792C.
6626 LD IX,$6661
662A LD (IX+$08),$04
662E LD (IX+$09),$5F
6632 LD (IX+$0A),$0A
6636 LD (IX+$0B),$00
663A LD HL,$6648 Prepare records at $6648
663D LD DE,$0005
6640 LD B,$05
6642 LD (HL),$80
6644 ADD HL,DE
6645 DJNZ $6642
6647 RET
6648: Data block at 6648
6648 DEFB $00,$00,$00,$00,$00 ??
664D DEFB $00,$00,$00,$00,$00
6652 DEFB $00,$00,$00,$00,$00
6657 DEFB $00,$00,$00,$00,$00
665C DEFB $00,$00,$00,$00,$00
6661 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6669 DEFB $00,$00,$00,$00,$73,$18,$C9,$0C
6671 DEFB $63,$1D,$28,$E1,$8C,$51,$92,$FB
6679 DEFB $B8,$C1,$25,$24,$11,$04,$C6,$70
6681 DEFB $14,$A5,$2D,$12,$94,$A1,$28,$82
6689 DEFB $52,$AA,$52,$22,$25
668E: Data block at 668E
668E DEFB $02,$25,$42,$2E
6692: Data block at 6692
6692 DEFB $85,$29,$40,$17,$B9,$EB,$10,$F7
669A DEFB $19,$28,$C2,$12,$8B,$92,$23,$38
66A2 DEFB $C2,$25,$82,$28,$84,$E6,$30,$94
66AA DEFB $A1,$29,$12,$94,$05,$28,$82,$52
66B2 DEFB $8A,$12,$22,$24,$22,$25,$42,$2E
66BA: Data block at 66BA
66BA DEFB $84,$29,$48,$64
66BE: Data block at 66BE
66BE DEFB $A1,$29,$0C,$94,$38,$CE,$E1,$8C
66C6 DEFB $8A,$0C,$23,$A4,$C1,$19,$24,$11
66CE DEFB $04,$26,$30
66D1: Data block at 66D1
66D1 DEFB $00,$FE,$00,$00,$03,$11,$80,$00 ??
66D9 DEFB $04,$10,$40,$00,$08,$00,$20,$00
66E1 DEFB $08,$00,$20,$00,$10,$00,$10,$00
66E9 DEFB $10,$00,$10,$00,$1E,$00,$F0,$00
66F1 DEFB $10,$00,$10,$00,$10,$00,$10,$00
66F9 DEFB $08,$00,$20,$00,$08,$00,$20,$00
6701 DEFB $04,$10,$40,$00,$03,$11,$80,$00
6709 DEFB $00,$FE,$00,$00,$00,$00,$00,$00
6711 DEFB $00,$00,$00,$00,$00,$00,$00,$00 ?? 4 * 16 bytes
6719 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6721 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6729 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6731 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6739 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6741 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6749 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6751: Set up scrolling string
Used by the routines at 69F3, 6A1E and 7143.
6751 LD HL,$67CE
6754 LD ($681B),HL Set addr of scrolling string
6757 LD HL,$5AE0
675A LD B,$20
675C LD (HL),$04
675E INC L
675F DJNZ $675C
6761 LD A,$01
6763 LD ($681D),A
6766 SET 3,(IY+$07) Set bit 3 of byte ($FD87)
676A RET
676B: Routine at 676B
Used by the routine at 7357.
676B LD A,($681D)
676E DEC A
676F LD ($681D),A
6772 CALL Z,$679D
6775 LD E,$02
6777 LD BC,$2007
677A LD HL,$56FF
677D PUSH DE
677E LD DE,$681E
6781 DEC E
6782 LD A,E
6783 ADD A,C
6784 LD E,A
6785 EX DE,HL
6786 RL (HL)
6788 EX DE,HL
6789 POP DE
678A RL (HL)
678C DEC L
678D DJNZ $678A
678F LD A,$20
6791 ADD A,L
6792 LD L,A
6793 LD B,$20
6795 DEC H
6796 DEC C
6797 JR NZ,$677D
6799 DEC E
679A JR NZ,$6777
679C RET
679D: Routine at 679D
Used by the routine at 676B.
679D LD A,$04
679F LD ($681D),A
67A2 LD HL,($681B)
67A5 LD A,(HL)
67A6 CP $1F
67A8 JR Z,$67C7
67AA INC HL
67AB LD ($681B),HL
67AE CP $20
67B0 JR NZ,$67B4
67B2 LD A,$2F
67B4 LD L,A
67B5 LD H,$00
67B7 ADD HL,HL
67B8 ADD HL,HL
67B9 ADD HL,HL
67BA LD DE,$7D28
67BD ADD HL,DE
67BE LD DE,$681E
67C1 LD BC,$0007
67C4 LDIR
67C6 RET
67C7 LD HL,$67CE
67CA LD ($681B),HL
67CD RET
67CE: Message at 67CE
67CE DEFM "PRESS S TO START GAME PRESS J TO CHOOSE JOYSTICK PRESS K TO REDE"
6810 DEFM "FINE KEYS "
681A DEFB $1F
681B: Data block at 681B
681B DEFW $67D4 Address of current char in scrolling string
681D DEFB $02,$00,$00,$00,$00,$00,$00,$00
6825: Update Score
Used by the routines at 6415 and 6BBB.
Input
BC ??
6825 LD A,($FDE9) Get Score 2nd char
6828 PUSH AF
6829 LD A,$07
682B SUB C
682C LD E,A
682D ADD A,$E8
682F LD L,A
6830 LD H,$FD
6832 LD C,$00
6834 DEC L
6835 LD D,$01
6837 LD A,(HL)
6838 ADD A,B
6839 CP $3A
683B JR C,$6842
683D SUB $0A
683F INC D
6840 JR $6839
6842 LD (HL),A
6843 INC C
6844 DEC E
6845 JR Z,$684A
6847 LD B,D
6848 DJNZ $6834
684A LD D,$40
684C LD A,(HL)
684D INC L
684E SUB $30
6850 PUSH HL
6851 ADD A,A
6852 ADD A,A
6853 ADD A,A
6854 ADD A,$A8 Font 2nd char address, lo byte
6856 LD L,A
6857 LD H,$7E Font address, hi byte
6859 ADC A,H
685A SUB L
685B LD H,A
685C LD B,$07
685E LD A,(HL)
685F INC L
6860 LD (DE),A
6861 INC D
6862 DJNZ $685E
6864 POP HL
6865 LD A,D
6866 SUB $07
6868 LD D,A
6869 INC E
686A DEC C
686B JR NZ,$684C
686D POP AF
686E CP (IY+$69)
6871 RET Z
6872 LD A,$02
6874 CALL $6456
6877 LD HL,$FDE6 Address of variable - Lives player have
687A INC (HL) plus one live
687B LD A,(HL) Get Lives player have
687C CP $0A
687E RET NC
687F PUSH AF
6880 CALL $7615 Print immediate string
6883 DEFB $16,$00,$15,$19,$00,$18,$00,$10
688B DEFB $07,$11,$02,$1F
688F POP AF
6890 ADD A,$30 number 0..9 -> char '0'..'9'
6892 CALL $7637 Print char
6895 RET
6896: Routine at 6896
Used by the routine at 69B4.
6896 LD A,H
6897 PUSH AF
6898 SRL H
689A SLA L
689C SLA L
689E CALL $98D9
68A1 POP AF
68A2 RRCA
68A3 RET NC
68A4 INC H
68A5 RET
68A6: Routine at 68A6
Used by the routine at 68CA.
Input
HL ??
68A6 LD ($FD82),SP
68AA LD DE,$0000
68AD LD SP,HL
68AE PUSH DE
68AF PUSH DE
68B0 PUSH DE
68B1 PUSH DE
68B2 PUSH DE
68B3 INC H
68B4 LD A,H
68B5 AND $07
68B7 JR NZ,$68C3
68B9 LD A,L
68BA ADD A,$20
68BC LD L,A
68BD JR C,$68C3
68BF LD A,H
68C0 SUB $08
68C2 LD H,A
68C3 DJNZ $68AD
68C5 LD SP,($FD82)
68C9 RET
68CA: Routine at 68CA
68CA LD A,($FDBC)
68CD CP $A1
68CF JR NZ,$68D6
68D1 RES 2,(IY+$07)
68D5 RET
68D6 BIT 5,A
68D8 JR Z,$6906
68DA PUSH AF
68DB LD HL,$482D Address on the screen
68DE AND $1F
68E0 SRL A
68E2 INC A
68E3 LD B,A
68E4 CALL $68A6
68E7 POP AF
68E8 PUSH AF
68E9 AND $1F
68EB SRL A
68ED XOR $0F
68EF JR Z,$68F7
68F1 LD B,A
68F2 CALL $98DC
68F5 DJNZ $68F2
68F7 POP AF
68F8 PUSH AF
68F9 AND $1F
68FB SRL A
68FD SUB $10
68FF NEG
6901 LD B,A
6902 CALL $68A6
6905 POP AF
6906 INC A
6907 LD ($FDBC),A
690A DEC A
690B LD H,A
690C BIT 6,A
690E JR NZ,$6930
6910 BIT 5,A
6912 LD A,H
6913 JR Z,$6919
6915 AND $1F
6917 XOR $1F
6919 AND $1F
691B LD H,A
691C LD A,$1F
691E LD B,$20
6920 LD DE,$0000
6923 SUB H
6924 JR NC,$692C
6926 ADD A,$20
6928 CALL $6950
692B INC D
692C INC E
692D DJNZ $6923
692F RET
6930 BIT 5,A
6932 LD A,H
6933 JR Z,$6939
6935 AND $1F
6937 XOR $1F
6939 AND $1F
693B LD H,A
693C LD A,$1F
693E LD B,$20
6940 LD DE,$001F
6943 SUB H
6944 JR NC,$694C
6946 ADD A,$20
6948 CALL $6950
694B INC D
694C DEC E
694D DJNZ $6943
694F RET
6950: Routine at 6950
Used by the routine at 68CA.
6950 PUSH AF
6951 PUSH DE
6952 PUSH HL
6953 PUSH BC
6954 EXX
6955 LD DE,$7AA0
6958 EXX
6959 LD L,$03
695B LD A,($FDBC)
695E DEC A
695F BIT 5,A
6961 JR Z,$6965
6963 XOR $1F
6965 AND $1F
6967 ADD A,$91
6969 LD H,A
696A LD BC,$000A
696D CALL $69B4
6970 POP BC
6971 POP HL
6972 POP DE
6973 POP AF
6974 RET
6975: Routine at 6975
Used by the routine at 7357.
6975 LD A,($FDBB)
6978 LD H,A
6979 CP $20
697B JR NZ,$6982
697D RES 2,(IY+$07)
6981 RET
6982 INC A
6983 LD ($FDBB),A
6986 LD A,$1F
6988 LD B,$20
698A LD DE,$0000
698D SUB H
698E JR NC,$6996
6990 ADD A,$20
6992 CALL $699A
6995 INC D
6996 INC E
6997 DJNZ $698D
6999 RET
699A: Routine at 699A
Used by the routine at 6975.
699A PUSH AF
699B PUSH DE
699C PUSH HL
699D PUSH BC
699E EXX
699F LD DE,$7BE0
69A2 EXX
69A3 LD L,$05
69A5 LD A,($FDBB)
69A8 LD H,A
69A9 LD BC,$0016
69AC CALL $69B4
69AF POP BC
69B0 POP HL
69B1 POP DE
69B2 POP AF
69B3 RET
69B4: Routine at 69B4
Used by the routines at 6950 and 699A.
69B4 LD A,$1F
69B6 SUB D
69B7 SRL H
69B9 ADD A,H
69BA SUB $10
69BC LD H,A
69BD CALL $6896
69C0 PUSH HL
69C1 LD A,$1F
69C3 SUB E
69C4 LD E,A
69C5 LD H,C
69C6 CALL $800C
69C9 EXX
69CA PUSH DE
69CB EXX
69CC POP DE
69CD ADD HL,DE
69CE POP DE
69CF LDIR
69D1 RET
69D2: Data block at 69D2
69D2 DEFB $D9,$E5,$FD,$E5,$D9,$ED,$73,$80
69DA DEFB $FD,$CD,$CA,$79,$FD,$CB,$07,$CE
69E2 DEFB $21,$AB,$FD,$22,$A9,$FD,$AF,$32
69EA DEFB $A7,$FD,$32,$98,$FD,$32,$84,$FD
69F2 DEFB $FB
69F3: Top Score and Main Menu??
Used by the routine at 6CAE.
69F3 CALL $7274 Print Score Table
69F6 CALL $6AE1
This entry point is used by the routine at 6F1D.
69F9 CALL $6469 Clear 7 bytes at $6433
69FC CALL $6B21
69FF CALL $6751 Set up scrolling string
6A02 CALL $71B6
6A05 CALL $7251 Check menu keys
6A08 JR Z,$6A0F
This entry point is used by the routines at 6A1E and 7143.
6A0A CALL $7251 Check menu keys
6A0D JR NZ,$6A0A
6A0F PUSH AF
6A10 CALL $6B21
6A13 POP AF
6A14 CP $53 'S' - Start game
6A16 JP Z,$6BBB
6A19 CP $4A 'J' - Joystick
6A1B JP Z,$7143 => Select joystick type
6A1E: Redefine Keys
6A1E CALL $7615 Print immediate string
6A21 DEFB $15,$00,$11,$02,$10,$07,$18,$02
6A29 DEFB $16,$0C,$00,$19,$01
6A2E DEFM "REDEFINE",$09,"KEYS"
6A3B DEFB $16,$16,$00,$19,$00,$18,$00,$11
6A43 DEFB $00,$1F
6A45 LD HL,$759C Where to store redefined keys
6A48 LD B,$0C
6A4A LD (HL),$00
6A4C INC HL
6A4D DJNZ $6A4A
6A4F LD B,$06 6 keys to redefine
6A51 LD HL,$6AA3 Start address for messages to use in Redefine Keys
6A54 PUSH BC
6A55 CALL $71A8 Print string HL
6A58 PUSH HL
6A59 CALL $98D6 (HL) -> HL
6A5C HALT
6A5D CALL $6B14 Wait key unpress, wait key press
6A60 LD C,A
6A61 PUSH HL
6A62 CALL $6A8C
6A65 POP HL
6A66 JR C,$6A5C
6A68 LD A,($FD99)
6A6B LD (HL),A
6A6C INC HL
6A6D LD A,($FD9A)
6A70 LD (HL),A
6A71 LD A,C
6A72 CALL $75D2 Print key entered on Redefine Keys
6A75 CALL $7615 Print immediate string
6A78 DEFB $03,$04,$0D,$1F
6A7C POP HL
6A7D INC HL
6A7E INC HL
6A7F POP BC
6A80 DJNZ $6A54
6A82 LD (IY+$04),$00 Set joystick type ($FD84) = Keyboard
6A86 CALL $6751 Set up scrolling string
6A89 JP $6A0A
6A8C: Routine at 6A8C
Used by the routine at 6A1E.
6A8C LD HL,$759C
6A8F LD B,$06
6A91 LD A,($FD99)
6A94 CP (HL)
6A95 INC HL
6A96 JR NZ,$6A9E
6A98 LD A,($FD9A)
6A9B CP (HL)
6A9C SCF
6A9D RET Z
6A9E INC HL
6A9F DJNZ $6A91
6AA1 OR A
6AA2 RET
6AA3: Messages to use in Redefine Keys
6AA3 DEFM "UP"
6AA5 DEFB $03,$0D,$2E,$1F
6AA9 DEFB $A0,$75
6AAB DEFM "DOWN"
6AAF DEFB $03,$0B,$2E,$1F
6AB3 DEFB $A2,$75
6AB5 DEFM "LEFT"
6AB9 DEFB $03,$0B,$2E,$1F
6ABD DEFB $A4,$75
6ABF DEFM "RIGHT"
6AC4 DEFB $03,$0A,$2E,$1F
6AC8 DEFB $A6,$75
6ACA DEFM "FIRE"
6ACE DEFB $03,$0B,$2E,$1F
6AD2 DEFB $9E,$75
6AD4 DEFM "GRENADE"
6ADB DEFB $03,$08,$2E,$1F
6ADF DEFB $9C,$75
6AE1: Routine at 6AE1
Used by the routines at 69F3 and 6CAE.
6AE1 LD HL,$5805
6AE4 LD B,$16
6AE6 LD C,$05
6AE8 LD A,$46
6AEA CALL $75BE
6AED XOR A
6AEE LD ($FDBB),A
6AF1 LD HL,$6975
6AF4 LD ($7392),HL
6AF7 SET 2,(IY+$07)
6AFB LD HL,$4686
6AFE LD C,$05
6B00 LD DE,$666D
6B03 PUSH HL
6B04 LD B,$14
6B06 LD A,(DE)
6B07 INC DE
6B08 LD (HL),A
6B09 INC L
6B0A DJNZ $6B06
6B0C POP HL
6B0D CALL $98DC
6B10 DEC C
6B11 JR NZ,$6B03
6B13 RET
6B14: Wait key unpress, wait key press
Used by the routines at 6A1E and 7143.
6B14 LD A,($FD98) Get last key read from keyboard
6B17 OR A
6B18 JR NZ,$6B14
6B1A LD A,($FD98) Get last key read from keyboard
6B1D OR A
6B1E JR Z,$6B1A
6B20 RET
6B21: Routine at 6B21
Used by the routines at 69F3 and 6F1D.
6B21 RES 3,(IY+$07)
6B25 LD HL,$58C0
6B28 LD BC,$1110
6B2B XOR A
6B2C CALL $75BE
6B2F LD HL,$0600
6B32 LD BC,$1110
6B35 CALL $6B4C
6B38 LD HL,$5AC0
6B3B LD BC,$2002
6B3E XOR A
6B3F CALL $75BE
6B42 LD HL,$1600
6B45 LD BC,$2002
6B48 CALL $6B4C
6B4B RET
6B4C: Routine at 6B4C
Used by the routines at 6B21 and 6B87.
6B4C SLA C
6B4E SLA C
6B50 SLA C
6B52 ADD HL,HL
6B53 ADD HL,HL
6B54 CALL $98D9
6B57 LD D,B
6B58 PUSH HL
6B59 LD B,D
6B5A LD (HL),$00
6B5C INC L
6B5D DJNZ $6B5A
6B5F POP HL
6B60 CALL $98DC
6B63 DEC C
6B64 JR NZ,$6B58
6B66 RET
6B67: Letters to select from entering Top Score
6B67 DEFM "ABCDEFGH"
6B6F DEFM "IJKLMNOP"
6B77 DEFM "QRSTUVWX"
6B7F DEFM "YZ:;<=>?"
6B87: Routine at 6B87
Used by the routines at 6BBB and 792C.
Input
A ??
6B87 PUSH AF
6B88 AND $38
6B8A LD C,A
6B8B RRCA
6B8C RRCA
6B8D RRCA
6B8E OR C
6B8F LD HL,$5820
6B92 LD BC,$2017
6B95 CALL $75BE
6B98 LD HL,$0100
6B9B LD BC,$2017
6B9E CALL $6B4C
6BA1 POP AF
6BA2 LD HL,$5820
6BA5 LD BC,$2017
6BA8 CALL $75BE
6BAB RET
6BAC: Routine at 6BAC
Used by the routine at 792C.
6BAC LD B,$5C
6BAE PUSH BC
6BAF CALL $8003 -> $9193
6BB2 POP BC
6BB3 BIT 4,(IY+$15)
6BB7 RET NZ
6BB8 DJNZ $6BAE
6BBA RET
6BBB: Start Game
Used by the routine at 69F3.
6BBB CALL $796A Prepare new game
6BBE CALL $792C Prepare at new Area
6BC1 HALT
6BC2 RES 1,(IY+$07)
6BC6 HALT
6BC7 CALL $8006 -> $91AA
6BCA HALT
6BCB CALL $6469 Clear 7 bytes at $6433
6BCE CALL $DC89 -> $DCDF - Initialization and go to game main loop
6BD1 CALL $6469 Clear 7 bytes at $6433
6BD4 HALT
6BD5 SET 1,(IY+$07)
6BD9 HALT
6BDA LD A,($FD85) Get last joystick/keyboard bits
6BDD OR $E0
6BDF INC A
6BE0 BIT 0,(IY+$62) Is Player alive??
6BE4 JR Z,$6C1D => Successful end of the Area
Player is dead
6BE6 LD HL,$FDE7
6BE9 LD A,(HL) Get player's grenades number
6BEA CP $07
6BEC JR NC,$6BF0
6BEE LD (HL),$06 Set player's grenades number to max allowed
6BF0 CALL $6C80 Update grenades number on the screen
6BF3 CALL $7615 Print immediate string
6BF6 DEFB $16,$00,$15,$1F
6BFA LD A,($FDE6) Get lives player have
6BFD ADD A,$2F
6BFF CP $3A
6C01 CALL C,$7637 => Print Char
6C04 DEC (IY+$66) Minus one live
6C07 JP Z,$6CAE => Game Over
6C0A LD HL,($FD8A)
6C0D DEC HL
6C0E DEC HL
6C0F DEC HL
6C10 DEC HL
6C11 LD A,(HL)
6C12 CP $22
6C14 JR NZ,$6C0F
6C16 INC HL
6C17 INC HL
6C18 LD ($FD8A),HL
6C1B JR $6BBE
Black screen at the end of an Area
6C1D LD A,$47
6C1F CALL $6B87
6C22 CALL $7615 Print immediate string
6C25 DEFB $15,$01,$19,$01,$16,$14,$09
6C2C DEFM "BROKE AREA "
6C38 DEFB $1F
6C39 CALL $6C96 Print Area number
6C3C INC (IY+$65) increase Area number
6C3F CALL $7615 Print immediate string
6C42 DEFB $16,$19,$06
6C45 DEFM "NOW RUSH TO AREA "
6C57 DEFB $1F
6C58 CALL $6C96 Print Area number
6C5B LD BC,$0204 +2000
6C5E CALL $6825 Update Score
6C61 LD BC,$0096
6C64 CALL $7A5C Delay by BC
6C67 CALL $7615 Print immediate string
6C6A DEFB $16,$00,$0D,$1F
6C6E CALL $6C96 Print Area number
6C71 CALL $7615 Print immediate string
6C74 DEFB $19,$00,$1F
6C77 JP $6BBE
6C7A: We've got A more grenades
Used by the routine at 6430.
6C7A ADD A,(IY+$67)
6C7D LD ($FDE7),A Update player's grenades number
6C80: Update grenades number on the screen
Used by the routine at 6BBB.
6C80 CALL $7615 Print immediate string
6C83 DEFB $10,$07,$11,$02,$19,$00,$18,$00
6C8B DEFB $16,$00,$1E,$15,$00,$1F
6C91 LD A,($FDE7) Get player's grenades number
6C94 JR $6C99 Print 2-digit number
6C96: Print Area number
Used by the routine at 6BBB.
6C96 LD A,($FDE5) Get Area number
6C99: Print 2-digit number A
Used by the routine at 6C80.
6C99 PUSH BC
6C9A LD B,$2F
6C9C INC B
6C9D SUB $0A minus 10
6C9F JR NC,$6C9C
6CA1 PUSH AF
6CA2 LD A,B
6CA3 CALL $7637 Print char
6CA6 POP AF
6CA7 ADD A,$3A
6CA9 CALL $7637 Print char
6CAC POP BC
6CAD RET
6CAE: Game Over
Used by the routine at 6BBB.
6CAE CALL $70F8 Find a place in Top Score table
6CB1 OR A
6CB2 JP Z,$69F3 => Top Score and Main Menu
Enter name for the new Top Score record
6CB5 SUB $0B
6CB7 NEG
6CB9 LD ($FDB9),A
6CBC XOR A
6CBD LD ($FDBA),A
6CC0 CALL $7274
6CC3 CALL $6AE1
6CC6 CALL $7615 Print immediate string
6CC9 DEFB $16,$0C,$01,$13,$01,$1F
6CCF LD HL,$6B67 Letters to select from entering Top Score
6CD2 LD C,$04 4 rows
6CD4 LD B,$08 8 columns
6CD6 LD A,(HL)
6CD7 INC HL
6CD8 CALL $7637 Print char
6CDB LD A,$09
6CDD CALL $7637 Print char
6CE0 DJNZ $6CD6
6CE2 CALL $7615 Print immediate string
6CE5 DEFB $03,$04,$0D,$1F
6CE9 DEC C
6CEA JR NZ,$6CD4
6CEC CALL $7615 Print immediate string
6CEF DEFB $16,$20,$01,$18,$02,$19,$01,$11
6CF7 DEFB $01
6CF8 DEFM "ENTER YOUR NAME"
6D07 DEFB $19,$00,$11,$00,$13,$00,$1F
6D0E LD HL,$70A1
6D11 LD DE,$70AF
6D14 LD BC,$000E
6D17 LDIR
6D19 LD IX,$70AF
6D1D LD B,$11
6D1F PUSH BC
6D20 HALT
6D21 INC (IX+$05)
6D24 BIT 0,B
6D26 JR Z,$6D30
6D28 LD A,($70B6)
6D2B XOR $0F
6D2D LD ($70B6),A
6D30 CALL $98D0
6D33 HALT
6D34 POP BC
6D35 DJNZ $6D1F
6D37 XOR A
6D38 LD ($70B6),A
6D3B CALL $98D0
6D3E CALL $70EC Copy 64 bytes $66D1 to $6711
6D41 LD A,$14
6D43 LD ($FDB2),A
6D46 XOR A
6D47 LD ($FDB6),A
6D4A CALL $70BD
6D4D LD A,($FD98) Get last key read from keyboard
6D50 OR A
6D51 JR NZ,$6D5A
6D53 LD A,($FD85) Get last joystick/keyboard bits
6D56 AND $1F
6D58 JR Z,$6D4D
6D5A CALL $7615 Print immediate string
6D5D DEFB $16,$20,$01,$03,$0F,$20,$18,$03
6D65 DEFB $1F
6D66 CALL $6FC7
6D69 CALL $6F46
6D6C LD (IY+$38),$01
6D70 HALT
6D71 BIT 4,(IY+$05) Check bit 4 (Fire) of Last joystick/keyboard bits ($FD85)
6D75 JR NZ,$6D7D
6D77 LD (IY+$37),$00
6D7B JR $6D84
6D7D LD A,($FDB7)
6D80 OR A
6D81 CALL Z,$6F79
6D84 CALL $6E7B
6D87 DEC (IY+$38)
6D8A JR NZ,$6D93
6D8C LD (IY+$38),$02
6D90 CALL $6E11
6D93 HALT
6D94 LD IX,$70AF
6D98 CALL $98D0
6D9B CALL $70BD
6D9E LD A,($FD85) Get last joystick/keyboard bits
6DA1 AND $0C
6DA3 JP PE,$6DB1
6DA6 CP $04
6DA8 LD A,$01
6DAA JR Z,$6DAE
6DAC LD A,$FF
6DAE LD ($FDB6),A
6DB1 LD A,($FDB2)
6DB4 ADD A,(IY+$36)
6DB7 CP $13
6DB9 JR Z,$6DCC
6DBB CP $2D
6DBD JR Z,$6DCC
6DBF LD ($FDB2),A
6DC2 AND $07
6DC4 CP $04
6DC6 JR NZ,$6DCC
6DC8 XOR A
6DC9 LD ($FDB6),A
6DCC LD A,($FD85) Get last joystick/keyboard bits
6DCF AND $03
6DD1 JP PE,$6DDD
6DD4 CP $01
6DD6 JR Z,$6DDA
6DD8 LD A,$FF
6DDA LD ($70BB),A
6DDD LD C,(IX+$0C)
6DE0 CALL $6FF5
6DE3 LD A,($70B5)
6DE6 OR A
6DE7 JR NZ,$6E02
6DE9 BIT 0,(IX+$04)
6DED JR NZ,$6E02
6DEF LD (IX+$0C),$00
6DF3 LD A,($70BC)
6DF6 CP $03
6DF8 JR Z,$6E02
6DFA INC A
6DFB JR C,$6DFF
6DFD SUB $02
6DFF LD ($70BC),A
6E02 CALL $70BD
6E05 JP $6D70
6E08: Data block at 6E08
6E08 DEFB $CD,$14,$6B,$CD,$21,$6B,$C3,$F9
6E10 DEFB $69
6E11: Routine at 6E11
Used by the routines at 6CAE and 6F1D.
6E11 LD HL,$6FE5
6E14 LD B,$08
6E16 PUSH BC
6E17 LD A,(HL)
6E18 INC HL
6E19 LD C,A
6E1A INC A
6E1B JR Z,$6E2F
6E1D LD A,(HL)
6E1E CALL $6E34
6E21 INC (HL)
6E22 LD A,(HL)
6E23 CALL $6E34
6E26 LD A,(HL)
6E27 CP $20
6E29 JR NZ,$6E2F
6E2B DEC HL
6E2C LD (HL),$FF
6E2E INC HL
6E2F POP BC
6E30 INC HL
6E31 DJNZ $6E16
6E33 RET
6E34: Routine at 6E34
Used by the routine at 6E11.
6E34 LD E,C
6E35 LD D,A
6E36 LD A,$16
6E38 CALL $7637 Print char
6E3B LD A,C
6E3C SUB $41
6E3E JR NC,$6E42
6E40 ADD A,$21
6E42 AND $F8
6E44 SRL A
6E46 ADD A,$0C
6E48 CALL $7637 Print char
6E4B LD A,C
6E4C CP $41
6E4E ADC A,$00
6E50 DEC A
6E51 AND $07
6E53 ADD A,A
6E54 INC A
6E55 CALL $7637 Print char
6E58 LD A,D
6E59 AND $03
6E5B RRCA
6E5C JR NC,$6E64
6E5E LD A,$03
6E60 LD C,$40
6E62 JR $6E6B
6E64 OR A
6E65 LD A,$03
6E67 JR Z,$6E6B
6E69 LD A,$01
6E6B LD B,A
6E6C LD A,$18
6E6E CALL $7637 Print char
6E71 LD A,B
6E72 CALL $7637 Print char
6E75 LD A,C
6E76 CALL $7637 Print char
6E79 LD C,E
6E7A RET
6E7B: Routine at 6E7B
Used by the routine at 6CAE.
6E7B LD IX,$6FD9
6E7F LD B,$04
6E81 LD A,(IX+$00)
6E84 INC A
6E85 JR Z,$6E9A
6E87 CALL $6FB0
6E8A DEC (IX+$02)
6E8D JR Z,$6EA2
6E8F LD A,(IX+$01)
6E92 SUB $04
6E94 LD (IX+$01),A
6E97 CALL $6FB0
6E9A LD DE,$0003
6E9D ADD IX,DE
6E9F DJNZ $6E81
6EA1 RET
6EA2 LD L,(IX+$00)
6EA5 LD H,(IX+$01)
6EA8 LD (IX+$00),$FF
6EAC LD A,H
6EAD SUB $16
6EAF AND $F8
6EB1 SRL L
6EB3 ADD A,L
6EB4 LD HL,$6B67 Letters to select from entering Top Score
6EB7 CALL $98D3 HL = HL + A
6EBA LD A,(HL)
6EBB CP $3F
6EBD JR Z,$6F1D
6EBF PUSH BC
6EC0 PUSH AF
6EC1 CALL $6ECD
6EC4 POP AF
6EC5 CP $3E
6EC7 CALL NZ,$6F52
6ECA POP BC
6ECB JR $6E9A
6ECD: Routine at 6ECD
Used by the routine at 6E7B.
6ECD LD C,A
6ECE CALL $7615 Print immediate string
6ED1 DEFB $18,$00,$16,$1F
6ED5 LD A,($FDB9)
6ED8 LD H,A
6ED9 ADD A,A
6EDA ADD A,H
6EDB ADD A,$0C
6EDD CALL $7637 Print char
6EE0 LD A,($FDBA)
6EE3 LD E,A
6EE4 ADD A,$11
6EE6 CALL $7637 Print char
6EE9 LD HL,$FDBA
6EEC LD A,C
6EED CP $3E
6EEF JR NZ,$6EF8
6EF1 INC E
6EF2 DEC E
6EF3 RET Z
6EF4 DEC (HL)
6EF5 DEC (HL)
6EF6 LD C,$0C
6EF8 LD A,(HL)
6EF9 INC A
6EFA CP $09
6EFC RET Z
6EFD LD (HL),A
6EFE DEC HL
6EFF LD A,(HL)
6F00 ADD A,A
6F01 ADD A,A
6F02 ADD A,A
6F03 ADD A,A
6F04 SUB (HL)
6F05 INC HL
6F06 ADD A,(HL)
6F07 LD HL,$72B2 Score table address
6F0A DEC A
6F0B CP $FF
6F0D RET Z
6F0E CALL $98D3 HL = HL + A
6F11 LD A,C
6F12 CP $0C
6F14 JR NZ,$6F19
6F16 INC HL
6F17 LD C,$20
6F19 LD (HL),C
6F1A JP $7637 => Print Char
6F1D: Routine at 6F1D
Used by the routine at 6E7B.
6F1D LD IX,$6FD9
6F21 LD B,$04
6F23 LD DE,$0003
6F26 LD A,(IX+$00)
6F29 INC A
6F2A CALL NZ,$6FB0
6F2D ADD IX,DE
6F2F DJNZ $6F26
6F31 LD B,$14
6F33 PUSH BC
6F34 LD B,$04
6F36 HALT
6F37 DJNZ $6F36
6F39 CALL $6E11
6F3C POP BC
6F3D DJNZ $6F33
6F3F POP BC
6F40 CALL $6B21
6F43 JP $69F9
6F46: Prepare records at $6FE5
Used by the routine at 6CAE.
6F46 LD HL,$6FE5
6F49 LD B,$08
6F4B LD (HL),$FF
6F4D INC HL
6F4E INC HL
6F4F DJNZ $6F4B
6F51 RET
6F52: Routine at 6F52
Used by the routine at 6E7B.
6F52 LD C,A
6F53 LD HL,$6FE5
6F56 LD B,$08
6F58 LD A,(HL)
6F59 CP C
6F5A JR Z,$6F6E
6F5C INC HL
6F5D INC HL
6F5E DJNZ $6F58
6F60 LD HL,$6FE5
6F63 LD B,$08
6F65 LD A,(HL)
6F66 INC A
6F67 JR Z,$6F74
6F69 INC HL
6F6A INC HL
6F6B DJNZ $6F65
6F6D RET
6F6E INC HL
6F6F LD A,(HL)
6F70 AND $03
6F72 LD (HL),A
6F73 RET
6F74 LD (HL),C
6F75 INC HL
6F76 LD (HL),$00
6F78 RET
6F79: Routine at 6F79
Used by the routine at 6CAE.
6F79 LD A,$FF
6F7B LD ($FDB7),A
6F7E LD IX,$6FD9
6F82 LD B,$04
6F84 LD DE,$0003
6F87 LD A,(IX+$00)
6F8A INC A
6F8B JR Z,$6F92
6F8D ADD IX,DE
6F8F DJNZ $6F87
6F91 RET
6F92 LD A,($70B3)
6F95 INC A
6F96 OR $01
6F98 LD (IX+$00),A
6F9B LD A,$4E
6F9D LD (IX+$01),A
6FA0 SUB (IY+$32)
6FA3 SUB $06
6FA5 AND $F8
6FA7 SRL A
6FA9 SRL A
6FAB ADD A,$02
6FAD LD (IX+$02),A
This entry point is used by the routines at 6E7B and 6F1D.
6FB0 LD L,(IX+$00)
6FB3 SLA L
6FB5 SLA L
6FB7 LD H,(IX+$01)
6FBA CALL $98D9
6FBD LD A,(HL)
6FBE XOR $30
6FC0 LD (HL),A
6FC1 INC H
6FC2 LD A,(HL)
6FC3 XOR $30
6FC5 LD (HL),A
6FC6 RET
6FC7: Prepare records at $6FD9
Used by the routine at 6CAE.
6FC7 LD IX,$6FD9
6FCB LD DE,$0003
6FCE LD B,$04
6FD0 LD (IX+$00),$FF
6FD4 ADD IX,DE
6FD6 DJNZ $6FD0
6FD8 RET
6FD9: Data block at 6FD9
6FD9 DEFB $00,$00,$00
6FDC DEFB $00,$00,$00
6FDF DEFB $00,$00,$00
6FE2 DEFB $00,$00,$00
6FE5: Data block at 6FE5
6FE5 DEFB $00,$00,$00,$00,$00,$00,$00,$00
6FED DEFB $00,$00,$00,$00,$00,$00,$00,$00
6FF5: Routine at 6FF5
Used by the routine at 6CAE.
6FF5 LD A,($70B3)
6FF8 ADD A,A
6FF9 ADD A,A
6FFA ADD A,(IX+$06)
6FFD ADD A,C
6FFE LD B,A
6FFF CP $FF
7001 RET Z
7002 CP $39
7004 RET Z
7005 AND $03
7007 LD ($70B5),A
700A LD A,B
700B SRL A
700D SRL A
700F LD ($70B3),A
7012 LD A,($70BC)
7015 ADD A,C
7016 LD B,A
7017 LD HL,$709A
701A CALL $98D3 HL = HL + A
701D LD A,(HL)
701E CP $FF
7020 JR Z,$7029
7022 LD ($70B6),A
7025 LD A,B
7026 LD ($70BC),A
7029 LD A,($70B5)
702C LD B,C
702D LD C,$02
702F DJNZ $7037
7031 OR A
7032 JP Z,$70EC => Copy 64 bytes $66D1 to $6711
7035 JR $7057
7037 INC B
7038 RET Z
7039 CP $03
703B JR Z,$706E
703D LD DE,$0007
7040 LD HL,$6714
7043 LD B,$10
7045 SLA (HL)
7047 DEC HL
7048 RL (HL)
704A DEC HL
704B RL (HL)
704D DEC HL
704E RL (HL)
7050 ADD HL,DE
7051 DJNZ $7045
7053 DEC C
7054 JR NZ,$703D
7056 RET
7057 LD HL,$6711
705A LD B,$10
705C SRL (HL)
705E INC HL
705F RR (HL)
7061 INC HL
7062 RR (HL)
7064 INC HL
7065 RR (HL)
7067 INC HL
7068 DJNZ $705C
706A DEC C
706B JR NZ,$7057
706D RET
706E: Routine at 706E
Used by the routine at 6FF5.
706E LD HL,$66D1
7071 LD DE,$6711
7074 EXX
7075 LD B,$10
7077 EXX
7078 LD C,(HL)
7079 INC HL
707A LD B,(HL)
707B INC HL
707C LD A,(HL)
707D INC HL
707E INC HL
707F SLA A
7081 RL B
7083 RL C
7085 SLA A
7087 RL B
7089 RL C
708B EX DE,HL
708C LD (HL),$00
708E INC HL
708F LD (HL),C
7090 INC HL
7091 LD (HL),B
7092 INC HL
7093 LD (HL),A
7094 INC HL
7095 EX DE,HL
7096 EXX
7097 DJNZ $7077
7099 RET
709A: Data block at 709A
709A DEFB $FF,$0B,$0D,$00,$02,$04,$FF,$08
70A2 DEFB $3D,$00,$07,$08,$3D,$00,$07,$48
70AA DEFB $5F,$0A,$00,$00,$03,$00,$00,$00
70B2 DEFB $00,$00,$00,$00,$00,$00,$00,$00
70BA DEFB $00,$00,$00
70BD: Routine at 70BD
Used by the routine at 6CAE.
70BD LD A,($70B3)
70C0 ADD A,A
70C1 ADD A,A
70C2 LD L,A
70C3 LD A,($FDB2)
70C6 ADD A,$02
70C8 LD H,A
70C9 CALL $98D9
70CC LD B,$10
70CE LD DE,$6711
70D1 LD C,L
70D2 LD A,(DE)
70D3 INC DE
70D4 XOR (HL)
70D5 LD (HL),A
70D6 INC L
70D7 LD A,(DE)
70D8 INC DE
70D9 XOR (HL)
70DA LD (HL),A
70DB INC L
70DC LD A,(DE)
70DD INC DE
70DE XOR (HL)
70DF LD (HL),A
70E0 INC L
70E1 LD A,(DE)
70E2 INC DE
70E3 XOR (HL)
70E4 LD (HL),A
70E5 LD L,C
70E6 CALL $98DC
70E9 DJNZ $70D1
70EB RET
70EC: Copy 64 bytes $66D1 to $6711
Used by the routines at 6CAE and 6FF5.
70EC LD HL,$66D1
70EF LD DE,$6711
70F2 LD BC,$0040
70F5 LDIR
70F7 RET
70F8: Find a place in Top Score table
Used by the routine at 6CAE.
70F8 LD HL,$FDE8 Score address
70FB LD DE,$72AC
70FE LD C,$0B
7100 LD B,$0F
7102 INC DE
7103 DJNZ $7102
7105 PUSH HL
7106 PUSH DE
7107 EXX
7108 POP DE
7109 POP HL
710A LD B,$06
710C LD A,(DE)
710D CP (HL)
710E JR C,$711C
7110 JR NZ,$7116
7112 INC HL
7113 INC DE
7114 DJNZ $710C
7116 EXX
7117 DEC C
7118 JR NZ,$7100
711A XOR A
711B RET
711C EXX
711D LD A,C
711E PUSH AF
711F DEC A
7120 JR Z,$7132
7122 EXX
7123 LD HL,$7347 Top score #10 last char address
7126 LD DE,$7356 Top score #11 last char address
7129 LD BC,$000F Top score line width = 15
712C LDDR
712E DEC A
712F JR NZ,$7129
7131 EXX
7132 LD A,$20
7134 PUSH DE
7135 LD B,$09
7137 DEC DE
7138 LD (DE),A
7139 DJNZ $7137
713B POP DE
713C LD BC,$0006
713F LDIR
7141 POP AF
7142 RET
7143: Select joystick type
Used by the routine at 69F3.
7143 CALL $7615 Print immediate string
7146 DEFB $11,$02,$10,$07,$18,$02,$16,$0C
714E DEFB $00,$15,$00,$19,$01
7153 DEFM "SELECT"
7159 DEFB $16,$13,$00,$19,$00,$11,$00
7160 DEFM "1.KEMPSTON"
716A DEFB $03,$07,$0D
716D DEFM "2.INTERFACE II"
717B DEFB $03,$07,$0D
717E DEFM "3.FULLER"
7186 DEFB $03,$07,$0D
7189 DEFM "4.CURSOR"
7191 DEFB $1F
7192 CALL $6B14 Wait key unpress, wait key press
7195 CP $31 < '1' ?
7197 JR C,$7192
7199 CP $35 >= '5' ?
719B JR NC,$7192
719D SUB $30 char '1'..'4' -> number 1..4
719F LD ($FD84),A
71A2 CALL $6751 Set up scrolling string
71A5 JP $6A0A
71A8: Print string HL
Used by the routine at 6A1E.
71A8 LD A,(HL)
71A9 INC HL
71AA CP $1F
71AC RET Z
71AD CALL $7637 Print char
71B0 JR $71A8
71B2: Screen attributes, 4 bytes
71B2 DEFB $07,$05,$46,$06
71B6: Routine at 71B6
Used by the routine at 69F3.
71B6 CALL $725D Print immediate string checking menu keys
71B9 DEFB $13,$00,$16,$0C,$02,$18,$02,$19
71C1 DEFB $01,$15,$00
71C4 DEFM "PUBLISHED BY"
71D0 DEFB $1F
71D1 LD DE,$71B2
71D4 LD HL,$5923
71D7 LD C,$04
71D9 LD B,$0A
71DB LD A,(DE)
71DC INC DE
71DD LD (HL),A
71DE INC L
71DF DJNZ $71DD
71E1 LD B,$16
71E3 INC HL
71E4 DJNZ $71E3
71E6 DEC C
71E7 JR NZ,$71D9
71E9 LD A,$40
71EB LD ($FDBC),A
71EE LD HL,$68CA
71F1 LD ($7392),HL
71F4 SET 2,(IY+$07)
71F8 CALL $725D Print immediate string checking menu keys
71FB DEFB $16,$1D,$02,$18,$00
7200 DEFM "CONVERTED BY",$04,$14,$01
720F DEFM "KEITH BURKHILL",$04
721E DEFM "& NIGEL ALDERTON",$04,$0D,$14,$01
7232 DEFM "GRAPHIC DESIGN",$04,$14,$02
7243 DEFM "RORY & KAREN"
724F DEFB $1F
7250 RET
7251: Check menu keys
Used by the routines at 69F3 and 725D.
7251 LD A,($FD98) Get last key read from keyboard
7254 CP $53 'S' - Start game
7256 RET Z
7257 CP $4A 'J' - Joystick
7259 RET Z
725A CP $4B 'K' - Redefine keys
725C RET
725D: Print immediate string checking menu keys
Used by the routine at 71B6.
725D HALT
725E CALL $7251 Check menu keys
7261 POP HL
7262 JR Z,$726F
7264 LD A,(HL)
7265 INC HL
7266 PUSH HL
7267 CP $1F
7269 RET Z
726A CALL $7637 Print char
726D JR $725D
726F RES 2,(IY+$07)
7273 RET
7274: Print Score Table
Used by the routines at 69F3 and 6CAE.
7274 XOR A
7275 OUT ($FE),A
7277 CALL $7615 Print immediate string
727A DEFB $01,$00,$07,$15,$01,$1F
7280 HALT
7281 LD HL,$58D1
7284 LD B,$0F
7286 LD C,$10
7288 LD A,$17
728A CALL $75BE
728D CALL $7615 Print immediate string
7290 DEFB $13,$11,$16,$0C,$11,$19,$00,$1F
7298 LD HL,$72B2 Score table address
729B LD C,$0B 11 = score table lines count
729D LD B,$0F
729F LD A,(HL)
72A0 CALL $7637 Print char
72A3 INC HL
72A4 DJNZ $729F
72A6 LD A,$0D
72A8 CALL $7637 Print char
72AB CALL $7637 Print char
72AE DEC C
72AF JR NZ,$729D
72B1 RET
72B2: Score table
72B2 DEFM "KEITH... 060000"
72C1 DEFM "NIGUL... 050000"
72D0 DEFM "RORY.... 040000"
72DF DEFM "KAREN... 030000"
72EE DEFM "STUART.. 020000"
72FD DEFM "RAY..... 010000"
730C DEFM "CLARE... 009000"
731B DEFM "CHRIS... 008000"
732A DEFM "DAWN.... 007000"
7339 DEFM "PAT.LYNN 006000"
7348 DEFM "TA.MYK.. 005000"
7357: Routine at 7357
Used by the routines at 7A42 and FCFC.
7357 LD ($FD8F),HL
735A LD HL,$0000
735D EX (SP),HL
735E LD ($FD92),HL
7361 LD ($FD8D),SP
7365 LD SP,$FD80
7368 PUSH AF
7369 PUSH BC
736A PUSH DE
736B BIT 1,(IY+$07)
736F JR NZ,$73A4
7371 CALL $7405
7374 CALL $7547 Read input: joystick or keyboard
7377 LD ($FD85),A Save the input
737A AND $C0
737C CP $C0
737E LD HL,$FDC2
7381 DEC (HL)
7382 JR NZ,$738D
7384 LD (HL),$02
7386 SET 0,(IY+$07)
738A CALL $6474
738D BIT 2,(IY+$07)
7391 CALL NZ,$6975 !!! Modifying argument: $6975 / $68CA
7394 POP DE
7395 POP BC
7396 POP AF
7397 LD HL,($FD8F)
739A LD SP,($FD8D)
739E INC SP
739F INC SP
73A0 EI
73A1 JP $FD91 -> $7A5D - Delay by BC-1 HALTs
73A4 CALL $73B7 Read Keyboard
73A7 LD ($FD98),A Save last key read from keyboard
73AA LD ($FD99),BC
73AE BIT 3,(IY+$07)
73B2 CALL NZ,$676B
73B5 JR $7374
73B7: Read Keyboard
Used by the routine at 7357.
73B7 LD BC,$FEFE
73BA LD HL,$73DC
73BD LD DE,$0005
73C0 IN A,(C)
73C2 OR $E0
73C4 CPL
73C5 OR A
73C6 JR NZ,$73D1
73C8 ADD HL,DE
73C9 RLC B
73CB JR C,$73C0
73CD XOR A
73CE LD B,A
73CF LD C,A
73D0 RET
73D1 LD C,B
73D2 LD B,$00
73D4 SCF
73D5 INC HL
73D6 RL B
73D8 RRCA
73D9 JR NC,$73D5
73DB LD A,(HL)
73DC RET
Keyboard map
73DD DEFM $01,"ZXCV"
73E2 DEFM "ASDFG"
73E7 DEFM "QWERT"
73EC DEFM "12345"
73F1 DEFM "09876"
73F6 DEFM "POIUY"
73FB DEFM $0D,"LKJH"
7400 DEFM " ",$02,"MNB"
7405: Routine at 7405
Used by the routine at 7357.
7405 LD DE,($FD8D)
7409 LD A,D
740A CP $80
740C RET C
740D CP $F0
740F JP NC,$74FF
7412 CALL $7416
7415 INC DE
7416 LD L,E
7417 LD H,$80
7419 XOR A
741A XOR (HL)
741B INC H
741C XOR (HL)
741D INC H
741E XOR (HL)
741F INC H
7420 XOR (HL)
7421 INC H
7422 XOR (HL)
7423 INC H
7424 XOR (HL)
7425 INC H
7426 XOR (HL)
7427 INC H
7428 XOR (HL)
7429 INC H
742A XOR (HL)
742B INC H
742C XOR (HL)
742D INC H
742E XOR (HL)
742F INC H
7430 XOR (HL)
7431 INC H
7432 XOR (HL)
7433 INC H
7434 XOR (HL)
7435 INC H
7436 XOR (HL)
7437 INC H
7438 XOR (HL)
7439 INC H
743A XOR (HL)
743B INC H
743C XOR (HL)
743D INC H
743E XOR (HL)
743F INC H
7440 XOR (HL)
7441 INC H
7442 XOR (HL)
7443 INC H
7444 XOR (HL)
7445 INC H
7446 XOR (HL)
7447 INC H
7448 XOR (HL)
7449 INC H
744A XOR (HL)
744B INC H
744C XOR (HL)
744D INC H
744E XOR (HL)
744F INC H
7450 XOR (HL)
7451 INC H
7452 XOR (HL)
7453 INC H
7454 XOR (HL)
7455 INC H
7456 XOR (HL)
7457 INC H
7458 XOR (HL)
7459 INC H
745A XOR (HL)
745B INC H
745C XOR (HL)
745D INC H
745E XOR (HL)
745F INC H
7460 XOR (HL)
7461 INC H
7462 XOR (HL)
7463 INC H
7464 XOR (HL)
7465 INC H
7466 XOR (HL)
7467 INC H
7468 XOR (HL)
7469 INC H
746A XOR (HL)
746B INC H
746C XOR (HL)
746D INC H
746E XOR (HL)
746F INC H
7470 XOR (HL)
7471 INC H
7472 XOR (HL)
7473 INC H
7474 XOR (HL)
7475 INC H
7476 XOR (HL)
7477 INC H
7478 XOR (HL)
7479 INC H
747A XOR (HL)
747B INC H
747C XOR (HL)
747D INC H
747E XOR (HL)
747F INC H
7480 XOR (HL)
7481 INC H
7482 XOR (HL)
7483 INC H
7484 XOR (HL)
7485 INC H
7486 XOR (HL)
7487 INC H
7488 XOR (HL)
7489 INC H
748A XOR (HL)
748B INC H
748C XOR (HL)
748D INC H
748E XOR (HL)
748F INC H
7490 XOR (HL)
7491 INC H
7492 XOR (HL)
7493 INC H
7494 XOR (HL)
7495 INC H
7496 XOR (HL)
7497 INC H
7498 XOR (HL)
7499 INC H
749A XOR (HL)
749B INC H
749C XOR (HL)
749D INC H
749E XOR (HL)
749F INC H
74A0 XOR (HL)
74A1 INC H
74A2 XOR (HL)
74A3 INC H
74A4 XOR (HL)
74A5 INC H
74A6 XOR (HL)
74A7 INC H
74A8 XOR (HL)
74A9 INC H
74AA XOR (HL)
74AB INC H
74AC XOR (HL)
74AD INC H
74AE XOR (HL)
74AF INC H
74B0 XOR (HL)
74B1 INC H
74B2 XOR (HL)
74B3 INC H
74B4 XOR (HL)
74B5 INC H
74B6 XOR (HL)
74B7 INC H
74B8 XOR (HL)
74B9 INC H
74BA XOR (HL)
74BB INC H
74BC XOR (HL)
74BD INC H
74BE XOR (HL)
74BF INC H
74C0 XOR (HL)
74C1 INC H
74C2 XOR (HL)
74C3 INC H
74C4 XOR (HL)
74C5 INC H
74C6 XOR (HL)
74C7 INC H
74C8 XOR (HL)
74C9 INC H
74CA XOR (HL)
74CB INC H
74CC XOR (HL)
74CD INC H
74CE XOR (HL)
74CF INC H
74D0 XOR (HL)
74D1 INC H
74D2 XOR (HL)
74D3 INC H
74D4 XOR (HL)
74D5 INC H
74D6 XOR (HL)
74D7 INC H
74D8 XOR (HL)
74D9 INC H
74DA XOR (HL)
74DB INC H
74DC XOR (HL)
74DD INC H
74DE XOR (HL)
74DF INC H
74E0 XOR (HL)
74E1 INC H
74E2 XOR (HL)
74E3 INC H
74E4 XOR (HL)
74E5 INC H
74E6 XOR (HL)
74E7 INC H
74E8 XOR (HL)
74E9 INC H
74EA XOR (HL)
74EB INC H
74EC XOR (HL)
74ED INC H
74EE XOR (HL)
74EF INC H
74F0 XOR (HL)
74F1 INC H
74F2 XOR (HL)
74F3 INC H
74F4 XOR (HL)
74F5 INC H
74F6 XOR (HL)
74F7 INC H
74F8 XOR (HL)
74F9 INC H
74FA LD H,$FA see $FA00
74FC XOR (HL)
74FD LD (DE),A
74FE RET
74FF LD A,($FDF5)
7502 EX AF,AF'
7503 LD A,($FDF4)
7506 CALL $7511 XOR AF and AF' with every byte in $F900-F9FF
7509 LD HL,($FD8D)
750C LD (HL),A
750D EX AF,AF'
750E INC L
750F LD (HL),A
7510 RET
7511: XOR AF and AF' with every byte in $F900-F9FF
Used by the routines at 6424 and 7405.
7511 LD HL,$F900
7514 XOR (HL) #0
7515 EX AF,AF'
7516 INC L
7517 XOR (HL) #1
7518 EX AF,AF'
7519 INC L
751A XOR (HL) #2
751B EX AF,AF'
751C INC L
751D XOR (HL) #3
751E EX AF,AF'
751F INC L
7520 XOR (HL) #4
7521 EX AF,AF'
7522 INC L
7523 XOR (HL) #5
7524 EX AF,AF'
7525 INC L
7526 XOR (HL) #6
7527 EX AF,AF'
7528 INC L
7529 XOR (HL) #7
752A EX AF,AF'
752B INC L
752C XOR (HL) #8
752D EX AF,AF'
752E INC L
752F XOR (HL) #9
7530 EX AF,AF'
7531 INC L
7532 XOR (HL) #10
7533 EX AF,AF'
7534 INC L
7535 XOR (HL) #11
7536 EX AF,AF'
7537 INC L
7538 XOR (HL) #12
7539 EX AF,AF'
753A INC L
753B XOR (HL) #13
753C EX AF,AF'
753D INC L
753E XOR (HL) #14
753F EX AF,AF'
7540 INC L
7541 XOR (HL) #15
7542 EX AF,AF'
7543 INC L
7544 JR NZ,$7514
7546 RET
7547: Read input: joystick or keyboard
Used by the routine at 7357.
7547 LD C,$00
7549 LD A,($FD84) Get joystick type 0..4
754C DEC A
754D JP M,$75A8 => Read keysboard
7550 ADD A,A
7551 LD HL,$755B
7554 CALL $98D3 -> $98EA - HL = HL + A
7557 CALL $98D6 -> $98F0 - (HL) -> HL
755A JP (HL) Go to joystick read procedure
755B DEFW $7563,$7569,$757A,$7587 Joystick read procedure addresses
Read Kempston
7563 IN A,($1F)
7565 AND $1F
7567 LD C,A
7568 RET
Read Interface II
7569 LD HL,$7570
756C LD B,$08
756E JR $75AD
7570 DEFB $EF,$01,$EF,$02,$EF,$04,$EF,$10 Keyboard ports + bit masks for cursor keys
7578 DEFB $EF,$08
Read Fuller
757A LD B,$10
757C IN A,($7F)
757E RLCA
757F RRCA
7580 RL B
7582 JR NC,$757F
7584 CPL
7585 LD C,A
7586 RET
Read Cursor
7587 LD HL,$758E
758A LD B,$08
758C JR $75AD
758E DEFB $EF,$01,$EF,$08,$EF,$10,$F7,$10 Keyboard ports + bit masks for cursor keys
7596 DEFB $EF,$04
7598: Keyboard ports and bit masks - keys to read in game mode
7598 DEFB $FE,$01,$7F,$01,$7F,$04,$FE,$02
75A0 DEFB $F7,$02,$FB,$02,$EF,$02,$EF,$01
75A8: Read keyboard in game mode
Used by the routine at 7547.
75A8 LD B,$01
75AA LD HL,$7598
This entry point is used by the routine at 7547.
75AD LD A,(HL)
75AE INC HL
75AF IN A,($FE)
75B1 AND (HL)
75B2 INC HL
75B3 JR NZ,$75B6
75B5 SCF
75B6 RL B
75B8 JR NC,$75AD
75BA LD A,B
75BB OR C
75BC LD C,A
75BD RET
75BE: Routine at 75BE
Used by the routines at 6400, 6AE1, 6B21, 6B87 and 7274.
Input
HL ??
BC ??
75BE LD D,B
75BF LD E,L
75C0 LD (HL),A
75C1 INC L
75C2 DJNZ $75C0
75C4 LD B,D
75C5 EX AF,AF'
75C6 LD A,E
75C7 ADD A,$20
75C9 LD L,A
75CA JR NC,$75CD
75CC INC H
75CD EX AF,AF'
75CE DEC C
75CF JR NZ,$75BF
75D1 RET
75D2: Print key entered on Redefine Keys
Used by the routine at 6A1E.
Input
A Key entered - character or special code
75D2 CP $0D
75D4 JR Z,$75FB
75D6 CP $20
75D8 JR Z,$7608
75DA CP $02
75DC JR C,$75EF
75DE JP NZ,$7637 => Print Char
75E1 CALL $7615 Print immediate string
75E4 DEFB $03,$05,$08
75E7 DEFM "SYMBOL"
75ED DEFB $1F
75EE RET
75EF CALL $7615 Print immediate string
75F2 DEFB $03,$03,$08
75F5 DEFM "CAPS"
75F9 DEFB $1F
75FA RET
75FB CALL $7615 Print immediate string
75FE DEFB $03,$04,$08
7601 DEFM "ENTER"
7606 DEFB $1F
7607 RET
7608 CALL $7615 Print immediate string
760B DEFB $03,$04,$08
760E DEFM "SPACE"
7613 DEFB $1F
7614 RET
7615: Print immediate string
Used by the routines at 6825, 6A1E, 6BBB, 6C80, 6CAE, 6ECD, 7143, 7274, 75D2, 786E and 796A.
7615 EX (SP),HL
7616 LD A,(HL)
7617 INC HL
7618 EX (SP),HL
7619 CP $1F
761B RET Z
761C CALL $7637 Print char
761F JR $7615
7621: Routine at 7621
Used by the routine at 6400.
7621 LD A,H
7622 CALL $7626
7625 LD A,L
This entry point is used by the routine at 6400.
7626 PUSH AF
7627 RRCA
7628 RRCA
7629 RRCA
762A RRCA
762B CALL $762F
762E POP AF
762F AND $0F
7631 ADD A,$90
7633 DAA
7634 ADC A,$40
7636 DAA
7637: Print Char
Used by the routines at 6825, 6BBB, 6C99, 6CAE, 6E34, 6ECD, 71A8, 725D, 7274, 75D2, 7615 and 783E.
Input
A Character to print
7637 PUSH HL
7638 PUSH AF
7639 LD A,($FDA7)
763C AND A
763D JR Z,$7655
763F POP AF
7640 PUSH AF
7641 LD HL,($FDA9)
7644 LD (HL),A
7645 INC HL
7646 LD ($FDA9),HL
7649 LD A,($FDA7)
764C DEC A
764D LD ($FDA7),A
7650 JR Z,$7675
7652 POP AF
7653 POP HL
7654 RET
7655 POP AF
7656 PUSH AF
7657 CP $20 $00..$1F ?
7659 JP NC,$7687 no => jump
Process a special char $00..$1F
765C LD ($FDA8),A
765F LD HL,$78CC
7662 CALL $98D3 HL = HL + A
7665 LD A,(HL) A = $00..$02
7666 LD ($FDA7),A
7669 AND A
766A JR Z,$7675
766C LD HL,$FDAB
766F LD ($FDA9),HL
7672 POP AF
7673 POP HL
7674 RET
7675 LD A,($FDA8)
7678 ADD A,A
7679 LD HL,$78EC
767C CALL $98D3 HL = HL + A
767F CALL $98D6 (HL) -> HL
7682 PUSH HL
7683 LD HL,$FDA5
7686 RET
Print usual char >= $20
7687 PUSH BC
7688 PUSH DE
7689 CP $2E
768B JR NZ,$768F
768D LD A,$3A
768F CP $21
7691 JR NZ,$7695
7693 LD A,$3C
7695 CP $26
7697 JR NZ,$769B
7699 LD A,$3D
769B SUB $20
769D JR Z,$76A1
769F SUB $0F
76A1 LD HL,$FDAF
76A4 BIT 0,(HL)
76A6 JR Z,$76B6
76A8 PUSH AF
76A9 OR A
76AA LD A,$06
76AC CALL NZ,$6456
76AF LD BC,$0004
76B2 CALL $7A5C Delay by BC
76B5 POP AF
76B6 LD L,A
76B7 LD H,$00
76B9 ADD HL,HL
76BA ADD HL,HL
76BB ADD HL,HL HL = HL * 8
76BC LD DE,($FDA3) Get Font address
76C0 ADD HL,DE
76C1 EX DE,HL
76C2 LD HL,($FDA5)
76C5 ADD HL,HL
76C6 SLA L
76C8 CALL $98D9
76CB PUSH HL
76CC LD B,$07
76CE LD A,($FDB0)
76D1 CP $01
76D3 JR C,$7716
76D5 JR Z,$76E6
76D7 CP $02
76D9 JR Z,$770A
76DB LD A,(DE)
76DC INC DE
76DD XOR (HL)
76DE LD (HL),A
76DF CALL $98DC
76E2 DJNZ $76DB
76E4 JR $771E
76E6 LD A,(DE)
76E7 INC DE
76E8 ADD A,A
76E9 RR C
76EB ADD A,A
76EC RR C
76EE ADD A,A
76EF RR C
76F1 ADD A,A
76F2 RR C
76F4 ADD A,A
76F5 RR C
76F7 ADD A,A
76F8 RR C
76FA ADD A,A
76FB RR C
76FD ADD A,A
76FE RR C
7700 LD A,(HL)
7701 XOR C
7702 LD (HL),A
7703 CALL $98DC
7706 DJNZ $76E6
7708 JR $771E
770A LD A,(DE)
770B INC DE
770C LD (HL),A
770D INC H
770E LD (HL),A
770F CALL $98DC
7712 DJNZ $770A
7714 JR $771E
7716 LD A,(DE)
7717 INC DE
7718 LD (HL),A
7719 CALL $98DC
771C DJNZ $7716
771E LD HL,$FDAF
7721 BIT 1,(HL)
7723 POP HL
7724 JR NZ,$774B
7726 LD A,H
7727 AND $07
7729 LD C,A
772A LD A,H
772B RRA
772C RRA
772D RRA
772E AND $03
7730 ADD A,(IY+$22)
7733 LD H,A
7734 LD A,($FDA0)
7737 LD (HL),A
7738 LD DE,$0020
773B LD B,A
773C INC C
773D DEC C
773E JR Z,$7742
7740 ADD HL,DE
7741 LD (HL),B
7742 LD A,($FDB0)
7745 CP $02
7747 JR NZ,$774B
7749 ADD HL,DE
774A LD (HL),B
774B POP DE
774C POP BC
774D LD A,($FDB1)
7750 ADD A,A
7751 LD HL,$775F
7754 CALL $98D3 HL = HL + A
7757 CALL $98D6 (HL) -> HL
775A PUSH HL
775B LD HL,$FDA5
775E RET
775F: Data block at 775F
775F DEFW $77C2
7761 DEFW $77CB
7763 DEFW $77AC
7765 DEFW $77B8
7767: Routine at 7767
7767 LD A,($FDAB)
776A SUB $08
776C JP C,$78BF
776F CP $04
7771 JP NC,$78BF
7774 LD ($FDB1),A
7777 JP $78C4
777A: Routine at 777A
777A PUSH BC
777B PUSH DE
777C LD A,($FDAB) Get attribute byte
777F LD E,A
7780 LD D,$00
7782 CALL $7795 Fill all screen attributes with D
7785 LD HL,$4000
7788 LD BC,$0018
778B CALL $779B Clear all the screen bits
778E LD D,E
778F CALL $7795 Fill all screen attributes with D
7792 JP $78C7
7795: Fill all screen attributes with D
Used by the routine at 777A.
7795 LD HL,$5800
7798 LD BC,$0003
This entry point is used by the routine at 777A.
779B LD (HL),D
779C INC L
779D DJNZ $779B
779F INC H
77A0 DEC C
77A1 JR NZ,$779B
77A3 RET
77A4: Routine at 77A4
77A4 INC HL
77A5 INC (HL)
77A6 INC (HL)
77A7 DEC HL
This entry point is used by the routine at 77CB.
77A8 LD A,($FD9F)
77AB LD (HL),A
77AC: Routine at 77AC
77AC INC HL
77AD LD A,(HL)
77AE INC A
77AF LD (HL),A
77B0 CP $31
77B2 JP NC,$78BF
77B5 JP $78C4
77B8: Routine at 77B8
77B8 INC HL
77B9 LD A,(HL)
77BA DEC A
77BB LD (HL),A
77BC JP C,$78BF
77BF JP $78C4
77C2: Routine at 77C2
77C2 LD A,(HL)
77C3 DEC A
77C4 LD (HL),A
77C5 JP M,$78BF
77C8 JP $78C4
77CB: Routine at 77CB
77CB LD A,(HL)
77CC INC A
77CD LD (HL),A
77CE CP $20
77D0 JP C,$78C4
77D3 JR $77A8
77D5: Routine at 77D5
77D5 LD HL,$FDA0
77D8 LD A,(HL)
77D9 AND $BF
77DB LD (HL),A
77DC LD A,($FDAB)
77DF CP $02
77E1 JP NC,$78BF
77E4 RRCA
77E5 RRCA
77E6 OR (HL)
77E7 LD (HL),A
77E8 JP $78C4
77EB: Routine at 77EB
77EB LD HL,$FDAF
77EE LD A,($FDAB)
77F1 CP $02
77F3 JP NC,$78BF
77F6 RES 0,(HL)
77F8 OR (HL)
77F9 LD (HL),A
77FA JP $78C4
77FD: Routine at 77FD
77FD LD HL,$FDA0
7800 LD A,(HL)
7801 AND $F8
7803 LD (HL),A
7804 LD A,($FDAB)
7807 CP $08
7809 JP NC,$78BF
780C OR (HL)
780D LD (HL),A
780E JP $78C4
7811: Routine at 7811
7811 LD HL,$FDA0
7814 LD A,(HL)
7815 AND $C7
7817 LD (HL),A
7818 LD A,($FDAB)
781B CP $08
781D JP NC,$78BF
7820 ADD A,A
7821 ADD A,A
7822 ADD A,A
7823 OR (HL)
7824 LD (HL),A
7825 JP $78C4
7828: Routine at 7828
7828 LD A,($FDAC)
782B CP $20
782D JP NC,$78BF
7830 LD (HL),A
7831 INC HL
7832 LD A,($FDAB)
7835 CP $2F
7837 JP NC,$78BF
783A LD (HL),A
783B JP $78C4
783E: Routine at 783E
783E LD HL,($FDAB)
7841 LD A,H
7842 CALL $7637 Print char
7845 DEC L
7846 JR NZ,$7841
7848 JR $78C4
784A: Routine at 784A
784A LD A,($FDAB)
784D LD ($FD9F),A
7850 JR $78C4
7852: Routine at 7852
7852 LD A,($FDAB)
7855 CP $20
7857 JP NC,$78BF
785A CP (HL)
785B LD (HL),A
785C JP NC,$78C4
785F INC HL
7860 LD A,(HL)
7861 ADD A,$02
7863 LD (HL),A
7864 JR $78C4
7866: Routine at 7866
7866 LD HL,($FDAB)
7869 LD ($FDA3),HL
786C JR $78C4
786E: Routine at 786E
786E PUSH BC
786F LD HL,$FDB0
7872 LD B,(HL)
7873 LD (HL),$00
7875 CALL $7615
7878 DEFB $08,$20,$08,$1F
787C LD (HL),B
787D JR $78C8
787F: Routine at 787F
787F LD A,($FDAB)
7882 LD ($FDB0),A
7885 JR $78C4
7887: Routine at 7887
7887 LD HL,$FDAF
788A RES 1,(HL)
788C LD A,($FDAB)
788F OR A
7890 JR Z,$78C4
7892 SET 1,(HL)
7894 JR $78C4
7896: Routine at 7896
7896 LD A,$07
7898 LD ($FDA0),A
789B LD A,$01
789D LD ($FDB1),A
78A0 XOR A
78A1 LD ($FD9F),A
78A4 LD ($FDAF),A
78A7 LD ($FDB0),A
78AA LD HL,$0000
78AD LD ($FDA5),HL
78B0 LD HL,$7EA0 Font address
78B3 LD ($FDA3),HL Set Font address
78B6 LD HL,$5800
78B9 LD ($FDA1),HL
78BC JP $78C4
78BF: -> $7A10
Used by the routines at 7767, 77AC, 77B8, 77C2, 77D5, 77EB, 77FD, 7811, 7828 and 7852.
78BF JP $7A10
78C2: Data block at 78C2
78C2 DEFB $C1,$D1
78C4: Routine at 78C4
Used by the routines at 7767, 77AC, 77B8, 77C2, 77CB, 77D5, 77EB, 77FD, 7811, 7828, 783E, 784A, 7852, 7866, 787F, 7887 and 7896.
78C4 POP AF
78C5 POP HL
78C6 RET
78C7: Routine at 78C7
Used by the routine at 777A.
78C7 POP DE
This entry point is used by the routine at 786E.
78C8 POP BC
78C9 POP AF
78CA POP HL
78CB RET
78CC: Table to map special char $00..$1F to types $00..$02
78CC DEFB $01,$00,$01,$02,$00,$00,$00,$00
78D4 DEFB $00,$00,$00,$00,$00,$00,$00,$00
78DC DEFB $01,$01,$01,$01,$01,$01,$02,$00
78E4 DEFB $01,$01,$02,$00,$00,$00,$00,$00
78EC: Address map to print chars $00..$1F - 32 addresses
78EC DEFW $777A
78EE DEFW $7896
78F0 DEFW $7767
78F2 DEFW $783E
78F4 DEFW $77A4
78F6 DEFW $78BF
78F8 DEFW $78BF
78FA DEFW $78BF
78FC DEFW $77C2
78FE DEFW $77CB
7900 DEFW $77AC
7902 DEFW $77B8
7904 DEFW $786E
7906 DEFW $77A8
7908 DEFW $78BF
790A DEFW $78BF
790C DEFW $77FD
790E DEFW $7811
7910 DEFW $77D5
7912 DEFW $784A
7914 DEFW $7852
7916 DEFW $7887
7918 DEFW $7828
791A DEFW $78BF
791C DEFW $787F
791E DEFW $77EB
7920 DEFW $7866
7922 DEFW $78BF
7924 DEFW $78BF
7926 DEFW $78BF
7928 DEFW $78BF
792A DEFW $78BF
792C: Prepare at new Area
Used by the routine at 6BBB.
792C XOR A
792D LD ($FD85),A Clear last joystick/keyboard bits
7930 LD ($FD86),A Clear Land space size
7933 LD ($FD88),A Clear Offset in $FF00 buffer
7936 LD ($FDDA),A
7939 LD ($FDE0),A
793C LD ($FDFA),A
793F LD ($FDFB),A
7942 LD A,$FF
7944 LD ($FDC3),A
7947 LD ($FDC5),A
794A LD ($FDC7),A
794D LD ($FDC9),A
7950 LD ($FDCB),A
7953 RES 0,(IY+$62) Clear Player's dead flag
7957 RES 4,(IY+$15)
795B CALL $79E1
795E CALL $6626 Prepare records and variables at $6648
7961 LD A,$31
7963 CALL $6B87
7966 CALL $6BAC
7969 RET
796A: Prepare New Game
Used by the routine at 6BBB.
796A LD HL,($800A)
796D LD ($FD8A),HL
7970 XOR A
7971 LD ($FDA7),A
7974 INC A
7975 LD ($FDE5),A Area number = $01
7978 LD HL,$FDE8 Score = "000000"
797B LD B,$06
797D LD (HL),$30
797F INC HL
7980 DJNZ $797D
7982 LD A,$05 Player's lives = $05
7984 LD ($FDE6),A
7987 INC A
7988 LD ($FDE7),A Set grenades number = $06
798B LD A,$00
798D OUT ($FE),A
798F CALL $7615 Print immediate string
7992 DEFB $01,$00,$30,$15,$00,$16,$00,$00
799A DEFB $18,$00,$19,$00,$11,$02,$10,$07
79A2 DEFM "000000 AREA 01 MEN 5 BOMBS 06"
79C2 DEFB $1F
79C3 EI
79C4 HALT
79C5 RES 0,(IY+$07)
79C9 RET
79CA: Routine at 79CA
Used by the routine at 6400.
79CA DI
79CB LD IY,$FD80
79CF CALL $7A1E
79D2 CALL $7A45 Prepare $FE00 table - addresses for every even screen line
79D5 CALL $79FB Calculate checksums??
79D8 LD (IY+$07),$00 Clear byte ($FD87)
79DC LD (IY+$42),$02 Set byte ($FDC2) = $02
79E0 RET
79E1: Routine at 79E1
Used by the routine at 792C.
79E1 LD HL,$FF00
79E4 LD C,$20
79E6 LD A,$08
79E8 LD (HL),A
79E9 INC L
79EA SUB $10
79EC LD (HL),A
79ED INC L
79EE ADD A,$18
79F0 LD B,$06
79F2 LD (HL),$00
79F4 INC L
79F5 DJNZ $79F2
79F7 DEC C
79F8 JR NZ,$79E8
79FA RET
79FB: Calculate checksums??
Used by the routine at 79CA.
79FB LD HL,$8000
79FE LD DE,$FA00
7A01 LD B,$70
7A03 XOR A
7A04 XOR (HL)
7A05 INC H
7A06 DJNZ $7A04
7A08 LD (DE),A
7A09 INC E
7A0A LD H,$80
7A0C INC L
7A0D JR NZ,$7A01
7A0F RET
7A10: Routine at 7A10
Used by the routines at 6400 and 78BF.
7A10 DI
7A11 LD SP,($FD80)
7A15 EXX
7A16 POP IY
7A18 POP HL
7A19 EXX
7A1A IM 1
7A1C EI
7A1D RET
7A1E: Routine at 7A1E
Used by the routine at 79CA.
7A1E LD A,($7A42)
7A21 LD ($FD91),A
7A24 LD HL,$FB00
7A27 LD B,$00
7A29 LD (HL),$FC
7A2B INC HL
7A2C DJNZ $7A29
7A2E LD (HL),$FC
7A30 LD DE,$FCFC
7A33 LD HL,$7A42
7A36 LD BC,$0003
7A39 LDIR
7A3B LD A,$FB
7A3D LD I,A
7A3F IM 2
7A41 RET
7A42: -> $7357
7A42 JP $7357
7A45: Prepare $FE00 table - addresses for every even screen line
Used by the routine at 79CA.
7A45 LD B,$80
7A47 LD DE,$4000
7A4A LD HL,$FE00
7A4D LD (HL),E
7A4E INC L
7A4F LD (HL),D
7A50 INC L
7A51 EX DE,HL
7A52 CALL $98DC -> $9904 - DOWN HL
7A55 CALL $98DC -> $9904 - DOWN HL
7A58 EX DE,HL
7A59 DJNZ $7A4D
7A5B RET
7A5C: Delay by BC HALTs
Used by the routines at 6400, 6BBB and 7637.
7A5C HALT
This entry point is used by the routine at FD91.
7A5D DEC BC
7A5E LD A,B
7A5F OR C
7A60 JR NZ,$7A5C
7A62 RET
7A63: Data block at 7A63
7A63 DEFB $10,$FB,$36,$FC,$11,$FC,$FC
7A6A: Message at 7A6A
7A6A DEFM "!yz"
7A6D: Data block at 7A6D
7A6D DEFB $01,$03,$00,$ED,$B0,$3E,$FB,$ED
7A75 DEFB $47,$ED,$5E,$C9,$C3,$89,$73,$06
7A7D DEFB $80,$11,$00,$40,$21,$00,$FE,$73
7A85 DEFB $2C,$72,$2C
7A88: Data block at 7A88
7A88 DEFB $EB,$CD,$DC,$98,$CD,$DC,$98,$EB
7A90 DEFB $10,$F2,$C9,$76,$0B,$78,$B1,$20
7A98 DEFB $FA,$C9,$00,$00,$00,$00,$00,$00
7AA0 DEFB $00,$00,$00,$07,$07,$07,$00,$00
7AA8 DEFB $00,$00,$00,$00,$00,$08,$88,$88
7AB0 DEFB $80,$00,$00,$00,$00,$00,$00,$10
7AB8 DEFB $50,$50,$40,$00,$00,$00,$00,$00
7AC0 DEFB $00,$10,$58,$D0,$40,$00,$00,$00
7AC8 DEFB $00,$00,$00,$10,$5F,$D0,$40,$00
7AD0 DEFB $00,$00,$00,$00,$00,$10,$4F,$90
7AD8 DEFB $40,$00,$00,$00,$00,$00,$00,$10
7AE0 DEFB $47,$10,$40,$00,$00,$00,$00,$00
7AE8 DEFB $00,$10,$40,$10,$40,$00,$00,$00
7AF0 DEFB $00,$03,$FF,$90,$47,$10,$3E,$03
7AF8 DEFB $FF,$80,$00,$1C,$00,$50,$48,$90
7B00 DEFB $01,$1C,$00,$40,$00,$20,$00,$50
7B08 DEFB $50,$50
7B0A: Data block at 7B0A
7B0A DEFB $01,$20,$00,$40,$00,$40,$FF,$D0
7B12 DEFB $50,$50,$3F
7B15: Data block at 7B15
7B15 DEFB $40,$FF,$C0,$00,$43,$FF,$90,$50
7B1D DEFB $50,$7E,$43,$FF,$80,$00,$87,$00
7B25 DEFB $10,$50,$50,$40,$87,$00,$00,$00
7B2D DEFB $8C,$00,$10,$50,$50,$40,$8C,$00
7B35 DEFB $00,$01,$88,$00,$10,$50,$50,$41
7B3D: Data block at 7B3D
7B3D DEFB $88,$00,$00,$01,$88,$00,$18,$58
7B45 DEFB $58,$41
7B47: Data block at 7B47
7B47 DEFB $88,$00,$00,$01,$88,$00,$18,$D8
7B4F DEFB $D8,$C1,$88,$00,$00,$03,$87,$FF
7B57 DEFB $98,$D8,$D8,$C3,$87,$FF,$80,$03
7B5F DEFB $80,$00,$58,$D8,$D8,$C3,$80,$00
7B67 DEFB $40,$03,$C0,$00,$5D,$DD,$DD,$C3
7B6F DEFB $C0,$00,$40,$03,$FF,$FF,$DF,$DF
7B77 DEFB $DF,$C3,$FF,$FF,$C0,$01,$FF,$FF
7B7F DEFB $9F,$DF,$DF,$C1,$FF,$FF,$80,$01
7B87 DEFB $F8,$00,$1F,$DF,$DF,$C1,$F8,$00
7B8F DEFB $00,$01,$F8,$00,$1E,$DE,$DE,$C1
7B97 DEFB $F8,$00,$00,$00,$FC,$00,$1F,$5F
7B9F DEFB $5F,$40,$FC,$00,$00,$00,$FB,$00
7BA7 DEFB $1E,$DE,$DE,$C0,$FB,$00,$00,$00
7BAF DEFB $75,$FF,$9D,$5D,$5D,$3E,$75
7BB6: Data block at 7BB6
7BB6 DEFB $FF,$80,$00,$7A,$00,$5A,$DA,$DA
7BBE DEFB $81,$7A,$00,$40,$00,$3D,$00,$5D
7BC6 DEFB $5D,$5D,$41,$3D
7BCA: Data block at 7BCA
7BCA DEFB $00,$40,$00,$1F,$FF,$CF,$8F,$8F
7BD2 DEFB $FF,$1F,$FF,$C0,$00,$03,$FF,$87
7BDA DEFB $07,$07,$FE,$03,$FF,$80,$00,$03
7BE2 DEFB $FF,$FE,$00,$00,$00,$00,$00,$00
7BEA DEFB $00,$00,$00,$00,$00,$00,$00,$00
7BF2 DEFB $07,$F8,$00,$00,$00,$7C,$47,$FD
7BFA DEFB $00,$00,$00,$00,$00,$00,$00,$00
7C02 DEFB $00,$00,$00,$00,$00,$00,$FB,$E7
7C0A DEFB $F8,$00,$00,$88,$0F,$FB,$80,$00
7C12 DEFB $00,$00,$00,$00,$00,$00,$00,$00
7C1A DEFB $00,$00,$00,$01,$FF,$F0,$07,$80
7C22 DEFB $01,$00,$0F,$FB,$C3,$FE,$00,$00
7C2A DEFB $00,$00,$00,$00,$00,$00,$00,$00
7C32 DEFB $0E,$FF,$FF,$F0,$00,$80,$01,$00
7C3A DEFB $1F,$FF,$FF,$FF,$F0,$00,$00,$00
7C42 DEFB $00,$00,$00,$00,$00,$01,$B7,$87
7C4A DEFB $FF,$F8,$18,$40,$02,$01,$E0,$FF
7C52 DEFB $F3,$FF,$C8,$F0,$00,$00,$00,$00
7C5A DEFB $00,$00,$00,$0F,$5F,$CF,$99,$07
7C62 DEFB $F0,$40,$04,$FE,$3F,$00,$37,$EF
7C6A DEFB $BF,$F1,$FC,$00,$00,$00,$00,$00
7C72 DEFB $05,$DF,$DF,$EF,$00,$DC,$0F,$E0
7C7A DEFB $0F,$00,$3F,$EF,$80,$07,$FD,$FE
7C82 DEFB $26,$78,$00,$00,$00,$1F,$FF,$EF
7C8A DEFB $FF,$00,$FB,$FC,$00,$20,$0A,$04
7C92 DEFB $FF,$C1,$E7,$F0,$05,$F8,$5F,$F8
7C9A DEFB $7F,$03,$F8,$3F,$0F,$EE,$00,$EF
7CA2 DEFB $F2,$FC,$00,$20,$08,$38,$3F,$07
7CAA DEFB $F7,$5B,$F8,$00,$7E,$5F,$8F,$83
7CB2 DEFB $E7,$8B,$8E,$01,$EF,$EF,$E1,$FC
7CBA DEFB $00,$20,$0B,$C6,$3F,$C6,$F7,$E0
7CC2 DEFB $FC,$FC,$00,$5C,$1F,$83,$F0,$BE
7CCA DEFB $01,$C7,$C4,$EF,$E1,$FC,$01,$E0
7CD2 DEFB $0C,$00,$3F,$C6,$F7,$F1,$FC,$FC
7CDA DEFB $78,$00,$1B,$83,$F0,$41,$C7,$C7
7CE2 DEFB $23,$CE,$00,$FC,$1E,$20,$09,$E0
7CEA DEFB $3F,$C5,$F7,$F1,$FC,$2C,$F6,$7E
7CF2 DEFB $20,$04,$50,$5F,$07,$C7,$E7,$AF
7CFA DEFB $A1,$3C,$00,$20,$0E,$00,$FF,$C3
7D02 DEFB $F7,$F1,$FC,$FE,$FE,$15,$3F,$07
7D0A DEFB $F0,$5C,$E7,$C7,$E7,$EF,$61,$DF
7D12 DEFB $00,$00,$08,$03,$3F,$FF,$F7,$F1
7D1A DEFB $AC,$FE,$FE,$7F,$7F,$07,$F8,$47
7D22 DEFB $E7,$C1,$E7,$EF,$E0,$FC,$70,$20
7D2A DEFB $08,$04,$3F,$D0,$07,$F1,$F0,$FE
7D32 DEFB $FE,$7F,$FF,$07,$F8,$2F,$F7,$C7
7D3A DEFB $67,$EF,$E0,$5C,$08,$20,$08,$3A
7D42 DEFB $3F,$D0,$00,$F1,$FC,$4F,$FE,$0F
7D4A DEFB $FF,$07,$F8,$33,$F7,$07,$E3,$E2
7D52 DEFB $E1,$FC,$06,$20,$09,$81,$3F,$D0
7D5A DEFB $07,$F1,$FC,$FF,$F4,$7F,$F8,$07
7D62 DEFB $B8,$3F,$2F,$C7,$84,$EF,$E1,$FC
7D6A DEFB $19,$A0,$0E,$00,$3A,$3F,$F7,$41
7D72 DEFB $FC,$FD,$EE,$7F,$EF,$0F,$BC,$1F
7D7A DEFB $FF,$C7,$E7,$EF,$E0,$5C,$20,$20
7D82 DEFB $08,$00,$CF,$C7,$F7,$F1,$FC,$FF
7D8A DEFB $DE,$7F,$FF,$0E,$3C,$1F,$FF,$87
7D92 DEFB $E7,$EF,$E1,$FC,$00,$20,$08,$00
7D9A DEFB $1F,$C7,$F7,$F1,$FC,$FE,$DE,$78
7DA2 DEFB $EF,$0F,$3C,$1F,$DF,$C7,$E7,$0F
7DAA DEFB $E1,$9C,$00,$20,$08,$EC,$3F,$C7
7DB2 DEFB $F7,$F1,$CC,$FA,$BE,$7D,$DF,$0F
7DBA DEFB $04,$1E,$FF,$C7,$E6,$CF,$E0,$6F
7DC2 DEFB $6C,$20
7DC4: Data block at 7DC4
7DC4 DEFB $0F,$00,$7F,$C7,$F7,$F1,$BC,$F9
7DCC DEFB $BE,$7D,$DF,$0F,$3E,$18,$00,$00
7DD4 DEFB $C1,$EF,$E1,$FC,$C0,$20,$08,$01
7DDC DEFB $FF,$C7,$F7,$F1,$FC,$FB,$BE,$7D
7DE4 DEFB $DF,$0E,$FE,$0F,$7F,$C4,$E7,$E1
7DEC DEFB $73,$FC,$00,$60,$08,$0A,$3F,$EB
7DF4 DEFB $F7,$C0,$FC,$F9,$3E,$3C,$9F,$1B
7DFC DEFB $F8,$1E,$7C,$C7,$C7,$EF,$EF,$FC
7E04 DEFB $00,$60,$08,$00,$3F,$EF,$F7,$F1
7E0C DEFB $7C,$F9,$3E,$2C,$9F,$1F,$A6,$1F
7E14 DEFB $3F,$47,$EF,$EF,$DE,$FF,$00,$A0
7E1C DEFB $08,$0F,$FE,$DE,$77,$FB,$FC,$28
7E24 DEFB $3E,$7C,$1F,$1F,$FF,$1F,$3E,$07
7E2C DEFB $FF,$E7,$FF,$0C,$80,$20,$07,$F0
7E34 DEFB $1D,$FF,$84,$57,$E4,$F8,$3E,$78
7E3C DEFB $1F,$1F,$1F,$0B,$1C,$C7,$FB,$E8
7E44 DEFB $7F,$B7,$F0,$20,$04,$C0,$03,$FF
7E4C DEFB $E3,$FF,$F9,$FC,$7F,$72,$3C,$A5
7E54 DEFB $08,$BF,$9B,$EF,$FD,$EF,$BF,$F8
7E5C DEFB $4F,$C0,$03,$20,$0F,$FF,$C3,$9F
7E64 DEFB $F8,$7C,$7F,$6E,$3F,$BF,$9F,$BF
7E6C DEFB $8F,$EF,$FD,$C7,$DF,$F0,$80,$40
7E74 DEFB $00,$80,$07,$FF,$81,$BF,$F1,$AC
7E7C DEFB $7F,$7E,$3F,$BF,$9F,$BF,$8F,$EF
7E84 DEFB $FF,$83,$FF,$F0,$00,$80,$00,$7F
7E8C DEFB $FF,$FF,$7F,$7F,$EE,$FB,$BE,$BD
7E94 DEFB $DF,$5F,$6F,$5F,$75,$D7,$FF,$7D
7E9C DEFB $FF,$FF,$FF,$00
7EA0: Font
font0 font1
7EA0 DEFB $00,$00,$00,$00,$00,$00,$00,$00
7EA8 DEFB $28,$6C,$6C,$6C,$6C,$6C,$28,$00
7EB0 DEFB $18,$38,$18,$18,$18,$18,$3C,$00
7EB8 DEFB $5C,$CE,$4E,$1C,$30,$06,$7E,$00
7EC0 DEFB $6C,$C6,$06,$1C,$06,$C6,$6C,$00
7EC8 DEFB $0C,$0C,$2C,$4C,$EE,$0C,$1E,$00
7ED0 DEFB $FE,$FC,$80,$EC,$06,$C6,$EC,$00
7ED8 DEFB $34,$62,$60,$6C,$66,$66,$34,$00
7EE0 DEFB $FE,$F8,$86,$1C,$38,$3C,$18,$00
7EE8 DEFB $6C,$C6,$C6,$6C,$C6,$C6,$6C,$00
7EF0 DEFB $2C,$66,$66,$36,$06,$46,$2C,$00
7EF8 DEFB $00,$00,$00,$00,$00,$18,$18,$00
7F00 DEFB $6C,$9E,$BE,$BE,$5C,$38,$10,$00
7F08 DEFB $18,$18,$18,$18,$18,$00,$18,$00
7F10 DEFB $38,$64,$38,$72,$9A,$D8,$6C,$00
7F18 DEFB $10,$30,$7E,$FE,$7E,$30,$10,$00
7F20 DEFB $E0,$80,$CC,$8A,$EA,$0A,$0C,$00
7F28 DEFB $18,$18,$18,$18,$18,$18,$18,$00
7F30 DEFB $30,$30,$58,$58,$7C,$8C,$9E,$00
7F38 DEFB $EC,$66,$66,$6C,$66,$66,$EC,$00
7F40 DEFB $6E,$C6,$C2,$C0,$C0,$C2,$6C,$00
7F48 DEFB $EC,$66,$66,$66,$66,$66,$EC,$00
7F50 DEFB $EE,$62,$64,$6C,$64,$62,$EE,$00
7F58 DEFB $EE,$62,$64,$6C,$64,$60,$E0,$00
7F60 DEFB $6E,$C6,$C2,$C0,$CE,$C6,$6C,$00
7F68 DEFB $EE,$6C,$6C,$7C,$6C,$6C,$EE,$00
7F70 DEFB $3C,$18,$18,$18,$18,$18,$3C,$00
7F78 DEFB $1E,$0C,$0C,$0C,$CC,$8C,$58,$00
7F80 DEFB $EE,$64,$68,$78,$6C,$6C,$EE,$00
7F88 DEFB $F0,$60,$60,$60,$62,$66,$EE,$00
7F90 DEFB $8E,$DC,$FC,$7C,$AC,$AC,$8E,$00
7F98 DEFB $C6,$E2,$72,$BA,$9C,$8E,$C6,$00
7FA0 DEFB $6C,$C6,$C6,$C6,$C6,$C6,$6C,$00
7FA8 DEFB $EC,$66,$66,$66,$6C,$60,$E0,$00
7FB0 DEFB $6C,$C6,$C6,$C6,$D6,$CC,$6A,$00
7FB8 DEFB $EC,$66,$66,$6C,$6C,$66,$E6,$00
7FC0 DEFB $6E,$E2,$F0,$7C,$1E,$8E,$EC,$00
7FC8 DEFB $5A,$5A,$18,$18,$18,$18,$18,$00
7FD0 DEFB $F2,$62,$62,$62,$62,$62,$34,$00
7FD8 DEFB $F2,$62,$64,$34,$30,$18,$18,$00
7FE0 DEFB $E2,$6A,$6A,$6A,$34,$34,$34,$00
7FE8 DEFB $C6,$E4,$70,$38,$1C,$4E,$C6,$00
7FF0 DEFB $E6,$64,$30,$18,$18,$18,$3C,$00
7FF8 DEFB $F6,$CE,$9C,$38,$72,$E6,$DE,$00
8000: Data block at 8000
8000 DEFB $C3,$00,$64
8003: -> $9193
Used by the routines at 6BAC and DC95.
8003 JP $9193
8006: -> $91AA
Used by the routines at 6BBB and DE91.
8006 JP $91AA
8009: Data block at 8009
8009 DEFB $C3,$36,$92
800C: -> $8E92
Used by the routine at 69B4.
800C JP $8E92
800F: -> $806B
Used by the routines at 65A5 and DD8D.
800F JP $806B
8012: Data block at 8012
8012 DEFB $F5,$86,$AC,$90,$14,$90,$05,$90
801A DEFB $42,$8F,$49,$8F,$3E,$90,$F1,$87
8022 DEFB $6E,$87,$17,$8F,$26,$8F,$35,$8F
802A DEFB $CC,$8D,$5D,$8D,$B5,$8E,$CC,$8E
8032 DEFB $E3,$8E,$74,$8E,$83,$8E,$01,$83
803A DEFB $FD,$88,$14,$89,$2F,$87,$7F,$89
8042 DEFB $58,$8D,$94,$85,$58,$84,$A4,$83
804A DEFB $3F,$83,$2F,$83,$44,$83,$2B,$82
8052 DEFB $8F,$81,$87,$81,$69,$81,$78,$81
805A DEFB $64,$81,$4D,$90,$58,$81,$62,$80
8062 DEFB $FD,$73,$7B,$FD,$36,$7D,$01,$37
806A DEFB $C9
806B: Routine at 806B
Used by the routines at 800F and 82C1.
806B EXX
806C LD D,(IX+$01)
806F LD E,(IX+$00)
8072 LD A,(IX+$07)
8075 CP $12
8077 JR Z,$80D6
8079 LD H,(IX+$05)
807C LD L,(IX+$04)
807F LD A,L
8080 CP E
8081 JR Z,$8092
8083 JP M,$808B
8086 CALL $80FB
8089 JR $8092
808B INC E
808C INC E
808D CALL $80FB
8090 DEC E
8091 DEC E
8092 CALL $8101
8095 INC L
8096 CALL $8101
8099 INC L
809A CALL $8101
809D DEC L
809E DEC L
809F LD A,D
80A0 AND $FC
80A2 LD B,A
80A3 LD A,H
80A4 AND $FC
80A6 CP B
80A7 JR Z,$80B4
80A9 JP M,$80B1
80AC CALL $80E4
80AF JR $80B4
80B1 CALL $80EA
80B4 LD A,D
80B5 INC A
80B6 AND $FC
80B8 LD B,A
80B9 LD A,H
80BA INC A
80BB AND $FC
80BD CP B
80BE JR Z,$80D3
80C0 JP M,$80CC
80C3 LD A,H
80C4 ADD A,$0A
80C6 LD A,H
80C7 CALL $80EA
80CA JR $80D3
80CC LD A,D
80CD ADD A,$0A
80CF LD D,A
80D0 CALL $80E4
80D3 JP $98D0
80D6 CALL $80FB
80D9 INC E
80DA CALL $80FB
80DD INC E
80DE CALL $80FB
80E1 JP $98D0
80E4: Routine at 80E4
Used by the routine at 806B.
80E4 PUSH DE
80E5 EXX
80E6 LD B,$01
80E8 JR $80ED
80EA: Routine at 80EA
Used by the routine at 806B.
80EA PUSH HL
80EB EXX
80EC LD B,C
This entry point is used by the routine at 80E4.
80ED POP DE
80EE CALL $8122
80F1 INC E
80F2 CALL $8122
80F5 INC E
80F6 CALL $8122
80F9 EXX
80FA RET
80FB: Routine at 80FB
Used by the routine at 806B.
80FB PUSH DE
80FC EXX
80FD LD B,$01
80FF JR $8104
8101: Routine at 8101
Used by the routine at 806B.
8101 PUSH HL
8102 EXX
8103 LD B,C
This entry point is used by the routine at 80FB.
8104 POP DE
8105 CALL $8122
8108 LD A,D
8109 ADD A,$04
810B LD D,A
810C CALL $8122
810F LD A,D
8110 ADD A,$04
8112 LD D,A
8113 CALL $8122
8116 LD A,D
8117 ADD A,$04
8119 LD D,A
811A INC A
811B AND $03
811D CALL Z,$8122
8120 EXX
8121 RET
8122: Routine at 8122
Used by the routines at 80EA and 8101.
8122 LD A,E
8123 CP $20
8125 RET NC
8126 LD A,D
8127 DEC A
8128 CP $5F
812A RET NC
812B INC A
812C CP $04
812E RET C
812F ADD A,A
8130 ADD A,A
8131 LD H,$16
8133 RL H
8135 ADD A,A
8136 RL H
8138 AND $E0
813A OR E
813B LD L,A
813C LD A,B
813D CP $01
813F JR Z,$814D
8141 LD A,(HL)
8142 AND $07
8144 CP $01
8146 RET NZ
8147 LD A,(HL)
8148 AND $38
814A OR B
814B LD (HL),A
814C RET
814D LD A,(HL)
814E AND $07
8150 CP C
8151 RET NZ
8152 LD A,(HL)
8153 AND $38
8155 OR B
8156 LD (HL),A
8157 RET
8158: Data block at 8158
8158 DEFB $3E,$01,$1D,$28,$02,$3E,$07,$CD
8160: Message at 8160
8160 DEFM "-d7"
8163: Data block at 8163
8163 DEFB $C9,$2A,$2C,$C0,$18,$03,$2A,$28
816B DEFB $C0,$7A,$FE,$65,$3F,$D8,$06,$06
8173 DEFB $0E,$30,$C3,$7B,$8A,$7A,$FE,$65
817B DEFB $3F,$D8,$2A,$2A,$C0,$06,$06,$0E
8183 DEFB $30,$C3,$4B,$8B,$1D,$37,$C0,$FD
818B DEFB $CB,$15,$E6,$C9,$01,$01,$17,$CD
8193 DEFB $7C,$86,$D8,$EB,$7B,$D6,$08,$5F
819B DEFB $0E,$02,$3A,$E0,$FD,$FE,$1F,$20
81A3 DEFB $02,$0E,$01,$3E,$08,$CD,$9E,$89
81AB DEFB $7B,$C6,$08,$5F,$EB,$11,$FF,$FF
81B3 DEFB $D9,$21,$FF,$FF
81B7: Message at 81B7
81B7 DEFM "DLT"
81BA: Data block at 81BA
81BA DEFB $5C,$3A,$E0,$FD,$CB,$20,$CB,$11
81C2 DEFB $CB,$14,$CB,$15,$CB,$3B,$CB,$1A
81CA DEFB $D9,$CB,$1B,$CB,$1A,$D9,$3D,$F2
81D2 DEFB $BE,$81,$D9,$78,$FE,$17,$20,$15
81DA DEFB $3E,$08,$2D,$36,$00,$3D,$20,$FA
81E2 DEFB $24,$3E,$08,$36,$00
81E7: Message at 81E7
81E7 DEFM ",= "
81EA: Data block at 81EA
81EA DEFB $FA,$05,$CD,$DC,$98,$ED,$73,$82
81F2 DEFB $FD,$F9,$D5,$D9,$D5,$C5,$E5,$D9
81FA DEFB $24,$F9,$D5,$D9,$D5,$C5,$E5,$D9
8202 DEFB $24,$7C,$E6,$07,$20,$0A,$7D,$C6
820A: Message at 820A
820A DEFM " o8"
820D: Data block at 820D
820D DEFB $04,$7C,$D6,$08,$67,$10,$DF,$ED
8215 DEFB $7B,$82,$FD,$B7,$FD,$CB,$15,$66
821D DEFB $C8,$21,$E0,$FD,$34,$7E,$FE,$20
8225 DEFB $3F,$D0,$36,$00,$37,$C9
822B: Routine at 822B
822B LD IX,$FDCF
822F BIT 7,(IX+$0B)
8233 JR Z,$82A7
8235 LD A,D
8236 CP $28
8238 JR NC,$8244
823A LD A,R
823C JP P,$826F
823F INC (IX+$05)
8242 JR $826F
8244 LD A,(IX+$0B)
8247 OR $ED
8249 INC A
824A JR NZ,$824F
824C LD ($FDDB),A
824F BIT 0,(IY+$5B)
8253 JR NZ,$8262
8255 DEC (IX+$06)
8258 JP P,$8262
825B LD (IX+$06),$03
825F DEC (IX+$04)
8262 DEC (IY+$5B)
8265 JP P,$826F
8268 LD (IY+$5B),$03
826C DEC (IX+$05)
826F LD A,$10
8271 LD E,$11
8273 LD C,$02
8275 CALL $82E1
8278 LD A,$08
827A LD E,$10
827C LD C,$03
827E CALL $82E1
8281 LD A,$02
8283 LD E,$11
8285 LD C,$02
8287 CALL $82C1
828A LD HL,$FDDA
828D LD A,(HL)
828E RES 7,(HL)
8290 OR $E5
8292 INC A
8293 SCF
8294 RET Z
8295 SET 7,(HL)
8297 LD HL,$FDD3
829A LD A,(HL)
829B SUB $06
829D LD (HL),A
829E LD HL,$FDCF
82A1 LD A,(HL)
82A2 SUB $06
82A4 LD (HL),A
82A5 OR A
82A6 RET
82A7 LD HL,$82B4
82AA LD DE,$FDCF
82AD LD BC,$000D
82B0 LDIR
82B2 OR A
82B3 RET
82B4: Data 13 bytes to copy at $FDCF
82B4 DEFB $0C,$FA,$00,$00,$0C,$FA,$00,$00
82BC DEFB $04,$5F,$0A,$80,$01
82C1: Routine at 82C1
Used by the routines at 822B and 82E1.
82C1 LD (IX+$03),E
82C4 LD (IX+$07),E
82C7 PUSH AF
82C8 AND (IX+$0B)
82CB JR Z,$82D1
82CD LD (IX+$07),$12
82D1 CALL $806B
82D4 POP AF
82D5 BIT 5,(IX+$0B)
82D9 RET NZ
82DA OR (IX+$0B)
82DD LD (IX+$0B),A
82E0 RET
82E1: Routine at 82E1
Used by the routine at 822B.
82E1 LD HL,($FDCF)
82E4 LD B,(IX+$02)
82E7 PUSH HL
82E8 PUSH BC
82E9 CALL $82C1
82EC POP BC
82ED POP HL
82EE LD ($FDCF),HL
82F1 LD (IX+$02),B
82F4 LD HL,$FDD3
82F7 INC (HL)
82F8 INC (HL)
82F9 INC (HL)
82FA LD HL,$FDCF
82FD INC (HL)
82FE INC (HL)
82FF INC (HL)
8300 RET
8301: Data block at 8301
8301 DEFB $CB,$7B,$CB,$BB,$28,$1F,$1D,$2A
8309 DEFB $4C,$C0,$01,$00,$14,$D5,$CD,$14
8311 DEFB $8A,$D1,$7B,$C6,$07,$5F,$01,$00
8319 DEFB $14,$D5,$2A,$4E,$C0,$CD,$14,$8A
8321 DEFB $D1,$7B,$D6,$06,$5F,$2A,$30,$C0
8329 DEFB $06,$14,$3E,$00,$18,$1C,$3E,$80
8331 DEFB $06,$14,$2A,$34,$C0,$1C,$1D,$28
8339 DEFB $11,$2A,$36,$C0,$18,$0C,$2A,$38
8341 DEFB $C0,$18,$03,$2A,$3A,$C0,$3E,$00
8349 DEFB $06,$04
834B: Draw sprite HL
Used by the routine at 90AC.
Input
A
B Sprite height??
HL Sprite address
834B EX AF,AF'
834C PUSH HL
834D EXX
834E POP HL
834F EXX
8350 LD C,$0C
8352 CALL $867C
8355 RET C
8356 PUSH HL
8357 EXX
8358 PUSH HL
8359 EXX
835A POP HL
835B ADD HL,DE
835C POP DE
835D EX AF,AF'
835E LD C,A
835F LD A,$06
8361 BIT 6,C
8363 CALL Z,$899E
8366 LD ($FD82),SP
836A LD SP,HL
836B EX DE,HL
836C LD A,L
836D POP DE
836E LD (HL),E
836F INC L
8370 LD (HL),D
8371 INC L
8372 POP DE
8373 LD (HL),E
8374 INC L
8375 LD (HL),D
8376 INC L
8377 POP DE
8378 LD (HL),E
8379 INC L
837A LD (HL),D
837B LD L,A
837C INC H
837D POP DE
837E LD (HL),E
837F INC L
8380 LD (HL),D
8381 INC L
8382 POP DE
8383 LD (HL),E
8384 INC L
8385 LD (HL),D
8386 INC L
8387 POP DE
8388 LD (HL),E
8389 INC L
838A LD (HL),D
838B LD L,A
838C INC H
838D LD A,H
838E AND $07
8390 JR NZ,$839C
8392 LD A,L
8393 ADD A,$20
8395 LD L,A
8396 JR C,$839C
8398 LD A,H
8399 SUB $08
839B LD H,A
839C DJNZ $836C
839E LD SP,($FD82)
83A2 OR A
83A3 RET
83A4: Data block at 83A4
83A4 DEFB $21,$CB,$FD,$36,$0A,$23,$36,$6A
83AC DEFB $23,$36,$46,$AF,$32,$F9,$FD,$32
83B4 DEFB $F8,$FD,$37,$C9
83B8: ?? Smth about Jeep
Used by the routine at 9193.
83B8 LD HL,$FDCB
83BB LD E,(HL)
83BC INC E
83BD RET Z
83BE DEC E
83BF INC HL
83C0 INC HL
83C1 DEC (HL)
83C2 LD A,(HL)
83C3 DEC HL
83C4 JP P,$83C9
83C7 NEG
83C9 CP $32
83CB JR C,$83CE
83CD DEC (HL)
83CE CP $1E
83D0 JR C,$83D3
83D2 DEC (HL)
83D3 LD A,(HL)
83D4 CP $04
83D6 JR NC,$83F1
83D8 DEC HL
83D9 LD (HL),$FF
83DB RET
83DC RES 7,E
83DE DEC HL
83DF LD (HL),$FF
83E1 PUSH DE
83E2 LD C,$02
83E4 CALL $854A
83E7 POP HL
83E8 LD A,H
83E9 SUB $0E
83EB LD H,A
83EC LD A,$02
83EE JP $642A
83F1 LD D,A
83F2 LD BC,$1008
83F5 BIT 7,E
83F7 JR NZ,$83DC
83F9 CALL $867C
83FC EX DE,HL
83FD LD A,$04
83FF LD C,$00
8401 CALL $899E
8404 PUSH DE
8405 PUSH BC
8406 LD A,D
8407 AND $F8
8409 LD D,A
840A LD A,B
840B AND $FC
840D RLCA
840E RLCA
840F RLCA
8410 ADD A,E
8411 LD E,A
8412 JR NC,$841C
8414 LD A,D
8415 ADD A,$08
8417 LD D,A
8418 CP $58
841A JR NC,$8425
841C LD A,$04
841E LD B,$04
8420 LD C,$01
8422 CALL $899E
8425 POP BC
8426 POP DE
8427 EX DE,HL
8428 SLA B
842A PUSH HL
842B LD HL,($C032) Get sprite addr Jeep; width 4
842E ADD HL,DE
842F POP DE
8430 LD ($FD82),SP
8434 LD SP,HL
8435 EX DE,HL
8436 LD A,L
8437 POP DE
8438 LD (HL),E
8439 INC L
843A LD (HL),D
843B INC L
843C POP DE
843D LD (HL),E
843E INC L
843F LD (HL),D
8440 LD L,A
8441 INC H
8442 LD A,H
8443 AND $07
8445 JR NZ,$8451
8447 LD A,L
8448 ADD A,$20
844A LD L,A
844B JR C,$8451
844D LD A,H
844E SUB $08
8450 LD H,A
8451 DJNZ $8436
8453 LD SP,($FD82)
8457 RET
8458: Routine at 8458
8458 LD A,E
8459 LD ($FDCE),A
845C LD HL,$FDC7
845F LD E,(HL)
8460 LD A,$03
8462 INC E
8463 JR Z,$846B
8465 DEC E
8466 LD A,E
8467 AND $03
8469 INC HL
846A INC HL
846B LD (HL),A
846C INC HL
846D LD (HL),$04
846F SCF
8470 RET
8471: ?? Smth about Motorbike
Used by the routine at 9193.
8471 LD HL,$FDC7
8474 LD A,(HL)
8475 INC A
8476 JR NZ,$847D
8478 INC HL
8479 INC HL
847A LD A,(HL)
847B INC A
847C RET Z
847D CALL $8500 ?? Smth with Motorbike sprite
8480 LD HL,$FDC7
8483 PUSH HL
8484 CALL $8497
8487 POP HL
8488 JR NC,$848C
848A LD (HL),$FF
848C INC HL
848D INC HL
848E PUSH HL
848F CALL $8497
8492 POP HL
8493 RET NC
8494 LD (HL),$FF
8496 RET
8497: Routine at 8497
Used by the routine at 8471.
8497 LD E,(HL)
8498 OR A
8499 INC E
849A RET Z
849B DEC E
849C LD A,($FDCE)
849F DEC A
84A0 JR Z,$84AF
84A2 LD ($FDCE),A
84A5 INC E
84A6 CP $14
84A8 JR NC,$84AE
84AA RRCA
84AB JR C,$84AE
84AD DEC E
84AE LD (HL),E
84AF INC HL
84B0 LD A,R
84B2 JP P,$84B6
84B5 INC (HL)
84B6 LD D,(HL)
84B7 LD BC,$0C03
84BA LD A,E
84BB SRL E
84BD SRL E
84BF CP $6B
84C1 JP Z,$854A
84C4 LD C,$0C
84C6 CALL $867C
84C9 RET C
84CA SLA B
84CC PUSH HL
84CD LD HL,$FC06
84D0 ADD HL,DE
84D1 POP DE
84D2 LD ($FD82),SP
84D6 LD SP,HL
84D7 EX DE,HL
84D8 LD A,L
84D9 POP DE
84DA LD (HL),E
84DB INC L
84DC LD (HL),D
84DD INC L
84DE POP DE
84DF LD (HL),E
84E0 INC L
84E1 LD (HL),D
84E2 INC L
84E3 POP DE
84E4 LD (HL),E
84E5 INC L
84E6 LD (HL),D
84E7 LD L,A
84E8 INC H
84E9 LD A,H
84EA AND $07
84EC JR NZ,$84F8
84EE LD A,L
84EF ADD A,$20
84F1 LD L,A
84F2 JR C,$84F8
84F4 LD A,H
84F5 SUB $08
84F7 LD H,A
84F8 DJNZ $84D8
84FA LD SP,($FD82)
84FE OR A
84FF RET
8500: ?? Smth with Motorbike sprite
Used by the routine at 8471.
8500 LD A,($FDCE)
8503 DEC A
8504 RET Z
8505 CP $14
8507 JR NC,$850B
8509 RRCA
850A RET NC
850B LD A,(HL)
850C INC A
850D AND $03
850F JR NZ,$851D
8511 LD HL,($C02E) Get sprite addr Motorbike
8514 LD DE,$FC06
8517 LD BC,$0090
851A LDIR
851C RET
851D LD B,$18
851F LD HL,$FC06
8522 LD A,L
8523 SRL (HL)
8525 INC L
8526 RR (HL)
8528 INC L
8529 RR (HL)
852B INC L
852C RR (HL)
852E INC L
852F RR (HL)
8531 INC L
8532 RR (HL)
8534 LD L,A
8535 SRL (HL)
8537 INC L
8538 RR (HL)
853A INC L
853B RR (HL)
853D INC L
853E RR (HL)
8540 INC L
8541 RR (HL)
8543 INC L
8544 RR (HL)
8546 INC L
8547 DJNZ $8522
8549 RET
854A: Routine at 854A
Used by the routines at 83B8, 8497, 85AB, 86F5 and 8EE3.
854A LD A,C
854B EX AF,AF'
854C LD A,C
854D ADD A,A
854E DEC A
854F LD L,A
8550 LD H,$00
8552 PUSH HL
8553 CALL $867C
8556 EX AF,AF'
8557 ADD A,A
8558 LD C,$01
855A EX DE,HL
855B CALL $899E
855E SRL A
8560 LD C,A
8561 EX DE,HL
8562 POP DE
8563 ADD HL,DE
8564 LD ($FD82),SP
8568 LD DE,$0000
856B LD A,B
856C EX AF,AF'
856D LD SP,HL
856E INC SP
856F LD B,C
8570 PUSH DE
8571 DJNZ $8570
8573 INC H
8574 LD SP,HL
8575 INC SP
8576 LD B,C
8577 PUSH DE
8578 DJNZ $8577
857A INC H
857B LD A,H
857C AND $07
857E JR NZ,$858A
8580 LD A,L
8581 ADD A,$20
8583 LD L,A
8584 JR C,$858A
8586 LD A,H
8587 SUB $08
8589 LD H,A
858A EX AF,AF'
858B DEC A
858C JR NZ,$856C
858E LD SP,($FD82)
8592 SCF
8593 RET
8594: Data block at 8594
8594 DEFB $21,$C3,$FD,$5E,$3E,$07,$1C,$28
859C DEFB $06,$1D,$7B,$E6,$07,$23,$23,$C6
85A4 DEFB $B8,$77,$23,$36,$04,$37,$C9
85AB: ?? Smth about Truck
Used by the routine at 9193.
85AB LD HL,$FDC3
85AE LD A,(HL)
85AF INC A
85B0 JR NZ,$85B7
85B2 INC HL
85B3 INC HL
85B4 LD A,(HL)
85B5 INC A
85B6 RET Z
85B7 PUSH AF
85B8 LD A,R
85BA JP P,$85C3
85BD INC (IY+$44)
85C0 INC (IY+$46)
85C3 POP AF
85C4 CALL $86B8 Get Truck sprite to $6300 buffer and shift it if needed
85C7 LD HL,$FDC3
85CA CALL $85D0
85CD LD HL,$FDC5
85D0 LD A,(HL)
85D1 CP $FF
85D3 RET Z
85D4 DEC (HL)
85D5 JR Z,$8605
85D7 INC HL
85D8 LD A,(HL)
85D9 DEC HL
85DA ADD A,A
85DB JR C,$85E6
85DD PUSH HL
85DE CALL $8618
85E1 POP HL
85E2 RET NC
85E3 LD (HL),$FF
85E5 RET
85E6 PUSH HL
85E7 LD A,(HL)
85E8 RRCA
85E9 RRCA
85EA RRCA
85EB AND $1F
85ED INC A
85EE INC HL
85EF LD H,(HL)
85F0 LD L,A
85F1 LD A,H
85F2 AND $7F
85F4 SUB $0E
85F6 LD H,A
85F7 XOR A
85F8 PUSH HL
85F9 CALL $642A
85FC POP HL
85FD INC L
85FE INC L
85FF INC L
8600 XOR A
8601 CALL $642A
8604 POP HL
8605 LD E,(HL)
8606 LD (HL),$FF
8608 SRL E
860A SRL E
860C SRL E
860E INC HL
860F LD D,(HL)
8610 RES 7,D
8612 LD BC,$1004
8615 JP $854A
8618: Routine at 8618
Used by the routine at 85AB.
8618 LD A,(HL)
8619 INC A
861A INC HL
861B RRCA
861C RRCA
861D RRCA
861E AND $1F
8620 LD E,A
8621 LD D,(HL)
8622 LD BC,$1010
8625 CALL $867C
8628 RET C
8629 EX DE,HL
862A LD A,$08
862C LD C,$04
862E CALL $899E
8631 LD A,E
8632 ADD A,$08
8634 LD E,A
8635 LD A,$01
8637 LD C,$01
8639 CALL $899E
863C LD A,E
863D SUB $08
863F LD E,A
8640 EX DE,HL
8641 SLA B
8643 PUSH HL
8644 LD HL,$6300
8647 ADD HL,DE
8648 POP DE
8649 LD ($FD82),SP
864D LD SP,HL
864E EX DE,HL
864F LD A,L
8650 POP DE
8651 LD (HL),D
8652 INC L
8653 LD (HL),E
8654 INC L
8655 POP DE
8656 LD (HL),D
8657 INC L
8658 LD (HL),E
8659 INC L
865A POP DE
865B LD (HL),D
865C INC L
865D LD (HL),E
865E INC L
865F POP DE
8660 LD (HL),D
8661 INC L
8662 LD (HL),E
8663 LD L,A
8664 INC H
8665 LD A,H
8666 AND $07
8668 JR NZ,$8674
866A LD A,L
866B ADD A,$20
866D LD L,A
866E JR C,$8674
8670 LD A,H
8671 SUB $08
8673 LD H,A
8674 DJNZ $864F
8676 LD SP,($FD82)
867A OR A
867B RET
867C: Routine at 867C
Used by the routines at 834B, 83B8, 8497, 854A, 8618, 8A14, 8A7B, 8AC3, 8CC9 and 90AC.
867C LD A,D
867D CP $60
867F JR NC,$869B
8681 LD H,B
8682 SUB B
8683 CP $03
8685 JP P,$86A4
8688 SUB $03
868A NEG
868C LD H,A
868D NEG
868F ADD A,B
8690 LD B,A
8691 LD A,E
8692 LD E,C
8693 CALL $8E92
8696 LD E,A
8697 LD D,$04
8699 JR $86AB
869B SUB B
869C SUB $5F
869E CCF
869F RET C
86A0 LD H,B
86A1 NEG
86A3 LD B,A
86A4 LD A,D
86A5 SUB H
86A6 INC A
86A7 LD D,A
86A8 LD HL,$0000
86AB EX DE,HL
86AC LD A,L
86AD LD L,H
86AE SLA L
86B0 LD H,$FE $FE00 - table of even screen lines addresses
86B2 ADD A,(HL)
86B3 INC L
86B4 LD H,(HL)
86B5 LD L,A
86B6 OR A
86B7 RET
86B8: Get Truck sprite to $6300 buffer and shift it if needed
Used by the routine at 85AB.
86B8 AND $07
86BA JR NZ,$86C7
86BC LD HL,($C03C) Get sprite addr Truck; width 8
86BF LD DE,$6300
86C2 LD BC,$0100
86C5 LDIR
Shift 8*32 bytes at $6300 one bit left
86C7 LD ($FD82),SP
86CB LD HL,$6300 Buffer address
86CE LD DE,$0008
86D1 LD B,$20 Loop counter = 32
86D3 ADD HL,DE
86D4 LD SP,HL
86D5 EXX
86D6 DEC SP
86D7 DEC SP
86D8 POP HL
86D9 ADD HL,HL
86DA PUSH HL
86DB DEC SP
86DC DEC SP
86DD POP HL
86DE ADC HL,HL
86E0 PUSH HL
86E1 DEC SP
86E2 DEC SP
86E3 POP HL
86E4 ADC HL,HL
86E6 PUSH HL
86E7 DEC SP
86E8 DEC SP
86E9 POP HL
86EA ADC HL,HL
86EC PUSH HL
86ED EXX
86EE DJNZ $86D3
86F0 LD SP,($FD82)
86F4 RET
86F5: Routine at 86F5
86F5 LD A,D
86F6 CP $7F
86F8 CCF
86F9 RET C
86FA LD B,$20
86FC BIT 7,E
86FE JR NZ,$8711
8700 LD C,$32
8702 LD A,E
8703 CP $0F
8705 LD HL,($C024)
8708 JP C,$8C52
870B LD HL,($C026)
870E JP $8C52
8711 RES 7,E
8713 PUSH DE
8714 LD C,$03
8716 CALL $854A
8719 POP HL
871A LD A,H
871B SUB $16
871D LD H,A
871E LD A,$02
8720 PUSH HL
8721 CALL $642A
8724 POP HL
8725 LD A,$02
8727 INC L
8728 INC L
8729 INC L
872A CALL $642A
872D SCF
872E RET
872F: Routine at 872F
872F LD A,D
8730 CP $5F
8732 CCF
8733 RET C
8734 AND $03
8736 RET NZ
8737 LD B,$04
8739 LD A,D
873A CP $10
873C JR NC,$8743
873E SRL A
8740 SRL A
8742 LD B,A
8743 CALL $896D Get attributes address for screen line D
8746 LD D,$38
8748 LD E,D
8749 LD ($FD82),SP
874D LD SP,HL
874E INC SP
874F PUSH DE
8750 PUSH DE
8751 PUSH DE
8752 PUSH DE
8753 PUSH DE
8754 PUSH DE
8755 PUSH DE
8756 PUSH DE
8757 PUSH DE
8758 PUSH DE
8759 PUSH DE
875A PUSH DE
875B PUSH DE
875C PUSH DE
875D PUSH DE
875E PUSH DE
875F LD A,L
8760 SUB $20
8762 LD L,A
8763 JR NC,$8766
8765 DEC H
8766 DJNZ $874D
8768 LD SP,($FD82)
876C OR A
876D RET
876E: Draw walls??
876E LD A,D
876F CP $78
8771 CCF
8772 RET C
8773 LD B,$19
8775 LD A,D
8776 INC A
8777 SUB B
8778 LD D,A
8779 CP $04
877B JP P,$879E
877E LD A,D
877F ADD A,B
8780 SUB $04
8782 EXX
8783 LD B,A
8784 EXX
8785 LD H,$40
8787 LD A,E
8788 ADD A,$20
878A LD L,A
878B LD A,D
878C EXX
878D NEG
878F ADD A,$04
8791 LD L,A
8792 LD H,$00
8794 ADD HL,HL
8795 ADD HL,HL
8796 ADD HL,HL
8797 LD DE,($C004) Get Sprite addr Wall; width 4
879B ADD HL,DE
879C JR $87AE
879E LD A,D
879F ADD A,A
87A0 LD L,A
87A1 LD A,E
87A2 LD H,$FE $FE00 - table of even screen lines addresses
87A4 ADD A,(HL)
87A5 INC L
87A6 LD H,(HL)
87A7 LD L,A
87A8 EXX
87A9 LD B,$19 Height = 25
87AB LD HL,($C004) Get Sprite addr Wall; width 4
87AE LD DE,$0004
87B1 LD ($FD82),SP
87B5 LD SP,HL
87B6 ADD HL,DE
87B7 EXX
87B8 POP BC
87B9 POP DE
87BA LD SP,HL
87BB INC SP
87BC PUSH DE
87BD PUSH BC
87BE PUSH DE
87BF PUSH BC
87C0 PUSH DE
87C1 PUSH BC
87C2 INC H
87C3 EXX
87C4 LD SP,HL
87C5 ADD HL,DE
87C6 EXX
87C7 POP BC
87C8 POP DE
87C9 LD SP,HL
87CA INC SP
87CB PUSH DE
87CC PUSH BC
87CD PUSH DE
87CE PUSH BC
87CF PUSH DE
87D0 PUSH BC
87D1 INC H
87D2 LD A,H
87D3 AND $07
87D5 JR NZ,$87E8
87D7 LD A,L
87D8 ADD A,$20
87DA LD L,A
87DB JR C,$87E1
87DD LD A,H
87DE SUB $08
87E0 LD H,A
87E1 LD A,H
87E2 AND $18
87E4 CP $18
87E6 JR Z,$87EB
87E8 EXX
87E9 DJNZ $87B5
87EB LD SP,($FD82)
87EF OR A
87F0 RET
87F1: Routine at 87F1
87F1 PUSH DE
87F2 LD A,D
87F3 SUB $03
87F5 LD D,A
87F6 AND $03
87F8 JR NZ,$885B
87FA LD A,D
87FB LD C,D
87FC CP $60
87FE JR C,$8823
8800 JR NZ,$885B
8802 SUB $04
8804 LD D,A
8805 CALL $896D Get attributes address for screen line D
8808 LD D,$31 Attribute byte
880A LD E,D
880B LD ($FD82),SP
880F LD SP,HL
8810 INC SP
8811 PUSH DE Fill attribute line
8812 PUSH DE
8813 PUSH DE
8814 PUSH DE
8815 PUSH DE
8816 PUSH DE
8817 PUSH DE
8818 PUSH DE
8819 PUSH DE
881A PUSH DE
881B PUSH DE
881C PUSH DE
881D PUSH DE
881E PUSH DE
881F PUSH DE
8820 PUSH DE
8821 JR $8857
8823 CALL $896D Get attributes address for screen line D
8826 LD D,$30 Attribute byte
8828 LD E,D
8829 LD ($FD82),SP
882D LD SP,HL
882E INC SP
882F PUSH DE Fill attribute line
8830 PUSH DE
8831 PUSH DE
8832 PUSH DE
8833 PUSH DE
8834 PUSH DE
8835 PUSH DE
8836 PUSH DE
8837 PUSH DE
8838 PUSH DE
8839 PUSH DE
883A PUSH DE
883B PUSH DE
883C PUSH DE
883D PUSH DE
883E PUSH DE
883F LD A,C
8840 CP $04
8842 JR Z,$8857
8844 LD D,$31 Attribute byte
8846 LD E,D
8847 PUSH DE Fill attribute line
8848 PUSH DE
8849 PUSH DE
884A PUSH DE
884B PUSH DE
884C PUSH DE
884D PUSH DE
884E PUSH DE
884F PUSH DE
8850 PUSH DE
8851 PUSH DE
8852 PUSH DE
8853 PUSH DE
8854 PUSH DE
8855 PUSH DE
8856 PUSH DE
8857 LD SP,($FD82)
885B POP DE
885C CP $69
885E CCF
885F RET C
8860 LD A,D
8861 CP $65
8863 RET NC
8864 LD B,$06
8866 LD A,D
8867 INC A
8868 SUB B
8869 LD D,A
886A CP $04
886C EXX
886D LD HL,$88E5
8870 EXX
8871 JP P,$8887
8874 LD A,D
8875 ADD A,B
8876 SUB $04
8878 LD B,A
8879 LD A,D
887A NEG
887C ADD A,$04
887E ADD A,A
887F ADD A,A
8880 EXX
8881 CALL $98D3 HL = HL + A; now HL = address in table $88E5
8884 EXX
8885 LD D,$04
8887 LD A,D
8888 ADD A,A
8889 LD L,A
888A LD A,E
888B LD H,$FE $FE00 - table of even screen lines addresses
888D ADD A,(HL) Get screen line address from table $FE00
888E INC L
888F LD H,(HL)
8890 LD L,A
8891 LD ($FD82),SP
8895 LD SP,HL Now SP = address on the screen
8896 INC SP
8897 EXX
8898 LD E,(HL) Get 1st word from table $88E5
8899 INC HL
889A LD D,(HL)
889B INC HL
889C PUSH DE Fill screen line with DE
889D PUSH DE
889E PUSH DE
889F PUSH DE
88A0 PUSH DE
88A1 PUSH DE
88A2 PUSH DE
88A3 PUSH DE
88A4 PUSH DE
88A5 PUSH DE
88A6 PUSH DE
88A7 PUSH DE
88A8 PUSH DE
88A9 PUSH DE
88AA PUSH DE
88AB PUSH DE
88AC EXX
88AD INC H Next screen line
88AE LD SP,HL
88AF INC SP
88B0 EXX
88B1 LD E,(HL) Get 2nd word from table $88E5
88B2 INC HL
88B3 LD D,(HL)
88B4 INC HL
88B5 PUSH DE Fill screen line with DE
88B6 PUSH DE
88B7 PUSH DE
88B8 PUSH DE
88B9 PUSH DE
88BA PUSH DE
88BB PUSH DE
88BC PUSH DE
88BD PUSH DE
88BE PUSH DE
88BF PUSH DE
88C0 PUSH DE
88C1 PUSH DE
88C2 PUSH DE
88C3 PUSH DE
88C4 PUSH DE
88C5 EXX
88C6 INC H
88C7 LD A,H
88C8 AND $07
88CA JR NZ,$88DD
88CC LD A,L
88CD ADD A,$20
88CF LD L,A
88D0 JR C,$88D6
88D2 LD A,H
88D3 SUB $08
88D5 LD H,A
88D6 LD A,H
88D7 AND $18
88D9 CP $18
88DB JR Z,$88DF
88DD DJNZ $8895
88DF LD SP,($FD82)
88E3 OR A
88E4 RET
88E5: Data block at 88E5
88E5 DEFB $00,$00,$00,$00
88E9 DEFB $3F,$FE,$55,$55
88ED DEFB $6A,$AB,$D5,$55
88F1 DEFB $FF,$FF,$7F,$FF
88F5 DEFB $FF,$FF,$7F,$FF
88F9 DEFB $7F,$FF,$BF,$FE
88FD DEFB $7A,$FE,$80,$3F
8901 DEFB $D8,$06,$21,$0E
8905 DEFB $31,$7B,$B7,$2A
8909 DEFB $20,$C0,$CA,$E7
890D DEFB $8B,$2A,$22,$C0
8911 DEFB $C3,$E7,$8B
8914: Routine at 8914
8914 LD A,D
8915 CP $78
8917 CCF
8918 RET C
8919 LD B,$19
891B LD C,$30
891D LD HL,($C006)
8920 PUSH DE
8921 CALL $8CC9
8924 POP DE
8925 LD A,D
8926 CP $60
8928 RET NC
8929 LD E,$1F
892B LD H,$16
892D LD A,D
892E ADD A,A
892F ADD A,A
8930 RL H
8932 ADD A,A
8933 RL H
8935 AND $E0
8937 OR E
8938 LD L,A
8939 LD D,$30
893B LD E,D
893C LD ($FD82),SP
8940 LD SP,HL
8941 INC SP
8942 PUSH DE
8943 PUSH DE
8944 PUSH DE
8945 PUSH DE
8946 PUSH DE
8947 PUSH DE
8948 PUSH DE
8949 PUSH DE
894A PUSH DE
894B PUSH DE
894C PUSH DE
894D PUSH DE
894E PUSH DE
894F PUSH DE
8950 PUSH DE
8951 PUSH DE
8952 LD A,H
8953 CP $5A
8955 JR C,$8967
8957 PUSH DE
8958 PUSH DE
8959 PUSH DE
895A PUSH DE
895B PUSH DE
895C PUSH DE
895D PUSH DE
895E PUSH DE
895F PUSH DE
8960 PUSH DE
8961 PUSH DE
8962 PUSH DE
8963 PUSH DE
8964 PUSH DE
8965 PUSH DE
8966 PUSH DE
8967 LD SP,($FD82)
896B OR A
896C RET
896D: Get attributes address for the screen line
Used by the routines at 872F and 87F1.
Input
D Screen line number, divided by 2
Output
HL Address in the screen attribute area for the given line
896D LD A,D
896E ADD A,A
896F LD H,$FE $FE00 - table of even screen lines addresses
8971 LD L,A
8972 LD A,E
8973 ADD A,(HL) Get screen line address to HL
8974 INC L
8975 LD H,(HL)
8976 LD L,A
8977 LD A,H
8978 RRCA Rotate H right on 3 bits
8979 RRCA
897A RRCA
897B OR $58
897D LD H,A Now HL = address in the screen attribute area for the given line
897E RET
897F: Data block at 897F
897F DEFB $7A,$FE,$87,$3F,$D8,$06,$28,$0E
8987 DEFB $32,$2A,$12,$C0,$D5,$CD,$14,$8A
898F DEFB $D1,$7B,$C6,$07,$5F,$06,$28,$0E
8997 DEFB $32,$2A,$12,$C0,$C3,$14,$8A
899E: Routine at 899E
Used by the routines at 834B, 83B8, 854A, 8618, 8A14, 8A7B, 8AC3 and 8CC9.
899E PUSH AF
899F PUSH DE
89A0 PUSH HL
89A1 PUSH BC
89A2 LD H,B
89A3 LD L,A
89A4 EX AF,AF'
89A5 LD A,D
89A6 PUSH HL
89A7 EXX
89A8 POP BC
89A9 AND $06
89AB RRCA
89AC LD H,A
89AD EXX
89AE EX AF,AF'
89AF NEG
89B1 ADD A,$20
89B3 LD L,A
89B4 LD H,$00
89B6 LD A,D
89B7 RRCA
89B8 RRCA
89B9 RRCA
89BA AND $03
89BC OR $58
89BE LD D,A
89BF EX DE,HL
89C0 EXX
89C1 LD A,H
89C2 INC A
89C3 AND $03
89C5 JR Z,$89CC
89C7 CALL $89F3
89CA JR $89E2
89CC LD A,R
89CE JP M,$89DB
89D1 EXX
89D2 PUSH DE
89D3 LD DE,$0020
89D6 ADD HL,DE
89D7 POP DE
89D8 EXX
89D9 JR $89E2
89DB BIT 7,C
89DD JR NZ,$89D1
89DF CALL $8A03
89E2 DEC B
89E3 JR Z,$89EE
89E5 INC H
89E6 LD A,H
89E7 AND $03
89E9 CALL Z,$89F3
89EC DJNZ $89E5
89EE POP BC
89EF POP HL
89F0 POP DE
89F1 POP AF
89F2 RET
89F3: Routine at 89F3
Used by the routine at 899E.
89F3 LD A,C
89F4 EXX
89F5 LD B,A
89F6 RES 7,C
89F8 LD A,(HL)
89F9 AND $38
89FB OR C
89FC LD (HL),A
89FD INC HL
89FE DJNZ $89F8
8A00 ADD HL,DE
8A01 EXX
8A02 RET
8A03: Routine at 8A03
Used by the routine at 899E.
8A03 LD A,C
8A04 EXX
8A05 LD B,A
8A06 RES 7,C
8A08 LD A,(HL)
8A09 AND $38
8A0B OR $01
8A0D LD (HL),A
8A0E INC HL
8A0F DJNZ $8A08
8A11 ADD HL,DE
8A12 EXX
8A13 RET
8A14: Routine at 8A14
Used by the routines at 9014 and 90A1.
8A14 LD A,C
8A15 EX AF,AF'
8A16 LD C,$04
8A18 PUSH HL
8A19 CALL $867C
8A1C JR NC,$8A23
8A1E POP HL
8A1F EX AF,AF'
8A20 LD C,A
8A21 SCF
8A22 RET
8A23 EX (SP),HL
8A24 ADD HL,DE
8A25 POP DE
8A26 EX AF,AF'
8A27 LD C,A
8A28 LD A,$01
8A2A CALL $899E
8A2D LD ($FD82),SP
8A31 LD SP,HL
8A32 EX DE,HL
8A33 LD A,R
8A35 JP P,$8A5B
8A38 POP DE
8A39 LD A,(HL)
8A3A AND D
8A3B OR E
8A3C LD (HL),A
8A3D INC H
8A3E POP DE
8A3F LD A,(HL)
8A40 AND D
8A41 OR E
8A42 LD (HL),A
8A43 INC H
8A44 LD A,H
8A45 AND $07
8A47 JR NZ,$8A53
8A49 LD A,L
8A4A ADD A,$20
8A4C LD L,A
8A4D JR C,$8A53
8A4F LD A,H
8A50 SUB $08
8A52 LD H,A
8A53 DJNZ $8A38
8A55 OR A
8A56 LD SP,($FD82)
8A5A RET
8A5B DEC SP
8A5C POP AF
8A5D OR (HL)
8A5E LD (HL),A
8A5F INC H
8A60 POP AF
8A61 OR (HL)
8A62 LD (HL),A
8A63 INC H
8A64 LD A,H
8A65 AND $07
8A67 JR NZ,$8A73
8A69 LD A,L
8A6A ADD A,$20
8A6C LD L,A
8A6D JR C,$8A73
8A6F LD A,H
8A70 SUB $08
8A72 LD H,A
8A73 DJNZ $8A5C
8A75 OR A
8A76 LD SP,($FD82)
8A7A RET
8A7B: Routine at 8A7B
Used by the routines at 8E83, 8EB5, 8F17 and 8F35.
8A7B LD A,C
8A7C EX AF,AF'
8A7D LD C,$08
8A7F PUSH HL
8A80 CALL $867C
8A83 EX (SP),HL
8A84 ADD HL,DE
8A85 POP DE
8A86 EX AF,AF'
8A87 LD C,A
8A88 ADD A,A
8A89 LD A,$02
8A8B CALL NC,$899E
8A8E LD ($FD82),SP
8A92 LD SP,HL
8A93 EX DE,HL
8A94 POP DE
8A95 LD A,(HL)
8A96 AND D
8A97 OR E
8A98 LD (HL),A
8A99 INC L
8A9A POP DE
8A9B LD A,(HL)
8A9C AND D
8A9D OR E
8A9E LD (HL),A
8A9F INC H
8AA0 POP DE
8AA1 LD A,(HL)
8AA2 AND D
8AA3 OR E
8AA4 LD (HL),A
8AA5 DEC L
8AA6 POP DE
8AA7 LD A,(HL)
8AA8 AND D
8AA9 OR E
8AAA LD (HL),A
8AAB INC H
8AAC LD A,H
8AAD AND $07
8AAF JR NZ,$8ABB
8AB1 LD A,L
8AB2 ADD A,$20
8AB4 LD L,A
8AB5 JR C,$8ABB
8AB7 LD A,H
8AB8 SUB $08
8ABA LD H,A
8ABB DJNZ $8A94
8ABD OR A
8ABE LD SP,($FD82)
8AC2 RET
8AC3: Routine at 8AC3
Used by the routines at 8EE3, 8F26, 9014 and 903E.
8AC3 LD A,C
8AC4 EX AF,AF'
8AC5 LD C,$0C
8AC7 PUSH HL
8AC8 CALL $867C
8ACB EX (SP),HL
8ACC ADD HL,DE
8ACD POP DE
8ACE EX AF,AF'
8ACF LD C,A
8AD0 LD A,$03
8AD2 CALL $899E
8AD5 LD ($FD82),SP
8AD9 LD SP,HL
8ADA EX DE,HL
8ADB LD A,R
8ADD JP P,$8B1B
8AE0 POP DE
8AE1 LD A,(HL)
8AE2 AND D
8AE3 OR E
8AE4 LD (HL),A
8AE5 INC L
8AE6 POP DE
8AE7 LD A,(HL)
8AE8 AND D
8AE9 OR E
8AEA LD (HL),A
8AEB INC L
8AEC POP DE
8AED LD A,(HL)
8AEE AND D
8AEF OR E
8AF0 LD (HL),A
8AF1 INC H
8AF2 POP DE
8AF3 LD A,(HL)
8AF4 AND D
8AF5 OR E
8AF6 LD (HL),A
8AF7 DEC L
8AF8 POP DE
8AF9 LD A,(HL)
8AFA AND D
8AFB OR E
8AFC LD (HL),A
8AFD DEC L
8AFE POP DE
8AFF LD A,(HL)
8B00 AND D
8B01 OR E
8B02 LD (HL),A
8B03 INC H
8B04 LD A,H
8B05 AND $07
8B07 JR NZ,$8B13
8B09 LD A,L
8B0A ADD A,$20
8B0C LD L,A
8B0D JR C,$8B13
8B0F LD A,H
8B10 SUB $08
8B12 LD H,A
8B13 DJNZ $8AE0
8B15 OR A
8B16 LD SP,($FD82)
8B1A RET
8B1B DEC SP
8B1C POP AF
8B1D OR (HL)
8B1E LD (HL),A
8B1F INC L
8B20 POP AF
8B21 OR (HL)
8B22 LD (HL),A
8B23 INC L
8B24 POP AF
8B25 OR (HL)
8B26 LD (HL),A
8B27 INC H
8B28 POP AF
8B29 OR (HL)
8B2A LD (HL),A
8B2B DEC L
8B2C POP AF
8B2D OR (HL)
8B2E LD (HL),A
8B2F DEC L
8B30 POP AF
8B31 OR (HL)
8B32 LD (HL),A
8B33 INC H
8B34 LD A,H
8B35 AND $07
8B37 JR NZ,$8B43
8B39 LD A,L
8B3A ADD A,$20
8B3C LD L,A
8B3D JR C,$8B43
8B3F LD A,H
8B40 SUB $08
8B42 LD H,A
8B43 DJNZ $8B1C
8B45 OR A
8B46 LD SP,($FD82)
8B4A RET
8B4B: Data block at 8B4B
8B4B DEFB $79,$08,$0E,$10,$E5,$CD,$7C,$86
8B53 DEFB $E3,$19,$D1,$08,$4F,$3E,$04,$CD
8B5B DEFB $9E,$89,$ED,$73,$82,$FD,$F9,$EB
8B63 DEFB $ED,$5F,$F2,$AF,$8B,$D1,$7E,$A2
8B6B DEFB $B3,$77,$2C,$D1,$7E,$A2,$B3,$77
8B73 DEFB $2C,$D1,$7E,$A2,$B3,$77,$2C,$D1
8B7B DEFB $7E,$A2,$B3,$77,$24,$D1,$7E,$A2
8B83 DEFB $B3,$77,$2D,$D1,$7E,$A2,$B3,$77
8B8B DEFB $2D,$D1,$7E,$A2,$B3,$77,$2D,$D1
8B93 DEFB $7E,$A2,$B3,$77,$24,$7C,$E6,$07
8B9B DEFB $20,$0A,$7D,$C6
8B9F: Message at 8B9F
8B9F DEFM " o8"
8BA2: Data block at 8BA2
8BA2 DEFB $04,$7C,$D6,$08,$67,$10,$BF,$B7
8BAA DEFB $ED,$7B,$82,$FD,$C9,$3B,$F1,$B6
8BB2 DEFB $77,$2C,$F1,$B6,$77,$2C,$F1,$B6
8BBA DEFB $77,$2C,$F1,$B6,$77,$24,$F1,$B6
8BC2 DEFB $77,$2D,$F1,$B6,$77,$2D,$F1,$B6
8BCA DEFB $77,$2D,$F1,$B6,$77,$24,$7C,$E6
8BD2 DEFB $07,$20,$0A,$7D,$C6
8BD7: Message at 8BD7
8BD7 DEFM " o8"
8BDA: Data block at 8BDA
8BDA DEFB $04,$7C,$D6,$08,$67,$10,$CF,$B7
8BE2 DEFB $ED,$7B,$82,$FD,$C9,$79,$08,$0E
8BEA DEFB $14,$E5,$CD,$7C,$86,$E3,$19,$D1
8BF2 DEFB $08,$4F,$3E,$05,$CD,$9E,$89,$ED
8BFA DEFB $73,$82,$FD,$F9,$EB,$D1,$7E,$A2
8C02 DEFB $B3,$77,$2C,$D1,$7E,$A2,$B3,$77
8C0A DEFB $2C,$D1,$7E,$A2,$B3,$77,$2C,$D1
8C12 DEFB $7E,$A2,$B3,$77,$2C,$D1,$7E,$A2
8C1A DEFB $B3,$77,$24,$D1,$7E,$A2,$B3,$77
8C22 DEFB $2D,$D1,$7E,$A2,$B3,$77,$2D,$D1
8C2A DEFB $7E,$A2,$B3,$77,$2D,$D1,$7E,$A2
8C32 DEFB $B3,$77,$2D,$D1,$7E,$A2,$B3,$77
8C3A DEFB $24,$7C,$E6,$07,$20,$0A,$7D,$C6
8C42: Message at 8C42
8C42 DEFM " o8"
8C45: Data block at 8C45
8C45 DEFB $04,$7C,$D6,$08,$67,$10,$B3,$B7
8C4D DEFB $ED,$7B,$82,$FD,$C9,$79,$08,$0E
8C55 DEFB $18,$E5,$CD,$7C,$86,$E3,$19,$D1
8C5D DEFB $08,$4F,$3E,$06,$CD,$9E,$89,$ED
8C65 DEFB $73,$82,$FD,$F9,$EB,$D1,$7E,$A2
8C6D DEFB $B3,$77,$2C,$D1,$7E,$A2,$B3,$77
8C75 DEFB $2C,$D1,$7E,$A2,$B3,$77,$2C,$D1
8C7D DEFB $7E,$A2,$B3,$77,$2C,$D1,$7E,$A2
8C85 DEFB $B3,$77,$2C,$D1,$7E,$A2,$B3,$77
8C8D DEFB $24,$D1,$7E,$A2,$B3,$77,$2D,$D1
8C95 DEFB $7E,$A2,$B3,$77,$2D,$D1,$7E,$A2
8C9D DEFB $B3,$77,$2D,$D1,$7E,$A2,$B3,$77
8CA5 DEFB $2D,$D1,$7E,$A2,$B3,$77,$2D,$D1
8CAD DEFB $7E,$A2,$B3,$77,$24,$7C,$E6,$07
8CB5 DEFB $20,$0A,$7D,$C6
8CB9: Message at 8CB9
8CB9 DEFM " o8"
8CBC: Data block at 8CBC
8CBC DEFB $04,$7C,$D6,$08,$67,$10,$A7,$B7
8CC4 DEFB $ED,$7B,$82,$FD,$C9
8CC9: Routine at 8CC9
Used by the routine at 8914.
8CC9 LD A,C
8CCA EX AF,AF'
8CCB LD C,$20
8CCD PUSH HL
8CCE CALL $867C
8CD1 EX (SP),HL
8CD2 ADD HL,DE
8CD3 POP DE
8CD4 EX AF,AF'
8CD5 LD C,A
8CD6 LD A,$08
8CD8 CALL $899E
8CDB LD ($FD82),SP
8CDF LD SP,HL
8CE0 EX DE,HL
8CE1 POP DE
8CE2 LD A,(HL)
8CE3 AND D
8CE4 OR E
8CE5 LD (HL),A
8CE6 INC L
8CE7 POP DE
8CE8 LD A,(HL)
8CE9 AND D
8CEA OR E
8CEB LD (HL),A
8CEC INC L
8CED POP DE
8CEE LD A,(HL)
8CEF AND D
8CF0 OR E
8CF1 LD (HL),A
8CF2 INC L
8CF3 POP DE
8CF4 LD A,(HL)
8CF5 AND D
8CF6 OR E
8CF7 LD (HL),A
8CF8 INC L
8CF9 POP DE
8CFA LD A,(HL)
8CFB AND D
8CFC OR E
8CFD LD (HL),A
8CFE INC L
8CFF POP DE
8D00 LD A,(HL)
8D01 AND D
8D02 OR E
8D03 LD (HL),A
8D04 INC L
8D05 POP DE
8D06 LD A,(HL)
8D07 AND D
8D08 OR E
8D09 LD (HL),A
8D0A INC L
8D0B POP DE
8D0C LD A,(HL)
8D0D AND D
8D0E OR E
8D0F LD (HL),A
8D10 INC H
8D11 POP DE
8D12 LD A,(HL)
8D13 AND D
8D14 OR E
8D15 LD (HL),A
8D16 DEC L
8D17 POP DE
8D18 LD A,(HL)
8D19 AND D
8D1A OR E
8D1B LD (HL),A
8D1C DEC L
8D1D POP DE
8D1E LD A,(HL)
8D1F AND D
8D20 OR E
8D21 LD (HL),A
8D22 DEC L
8D23 POP DE
8D24 LD A,(HL)
8D25 AND D
8D26 OR E
8D27 LD (HL),A
8D28 DEC L
8D29 POP DE
8D2A LD A,(HL)
8D2B AND D
8D2C OR E
8D2D LD (HL),A
8D2E DEC L
8D2F POP DE
8D30 LD A,(HL)
8D31 AND D
8D32 OR E
8D33 LD (HL),A
8D34 DEC L
8D35 POP DE
8D36 LD A,(HL)
8D37 AND D
8D38 OR E
8D39 LD (HL),A
8D3A DEC L
8D3B POP DE
8D3C LD A,(HL)
8D3D AND D
8D3E OR E
8D3F LD (HL),A
8D40 INC H
8D41 LD A,H
8D42 AND $07
8D44 JR NZ,$8D50
8D46 LD A,L
8D47 ADD A,$20
8D49 LD L,A
8D4A JR C,$8D50
8D4C LD A,H
8D4D SUB $08
8D4F LD H,A
8D50 DJNZ $8CE1
8D52 OR A
8D53 LD SP,($FD82)
8D57 RET
8D58: Data block at 8D58
8D58 DEFB $3E,$0D,$08,$18,$03,$3E,$31,$08
8D60 DEFB $7A,$FE,$60,$3F,$D8,$7A,$87,$6F
8D68 DEFB $26,$FE,$3E,$07,$86
8D6D: Message at 8D6D
8D6D DEFM ",foz"
8D71: Data block at 8D71
8D71 DEFB $EE,$03,$3D,$E6,$03,$4F,$CD,$9E
8D79 DEFB $8D,$CD,$8D,$8D,$7D,$83,$6F,$CD
8D81 DEFB $9E,$8D,$CD,$8D,$8D,$7D,$F6,$18
8D89 DEFB $6F,$CD,$9E,$8D,$0C,$0D,$C8,$7A
8D91 DEFB $FE,$5F,$C8,$79,$D9,$11,$FF,$FF
8D99 DEFB $43,$4B,$C3,$35,$8E,$E5,$D9,$E1
8DA1 DEFB $11,$00,$00
8DA4: Message at 8DA4
8DA4 DEFM "CK>"
8DA7: Data block at 8DA7
8DA7 DEFB $01,$CD,$35,$8E,$7A,$FE,$5F,$C8
8DAF DEFB $D9,$7C,$E6,$07,$20,$0A,$7D,$C6
8DB7: Message at 8DB7
8DB7 DEFM " o8"
8DBA: Data block at 8DBA
8DBA DEFB $04,$7C,$D6,$08,$67,$CD,$51,$8E
8DC2 DEFB $11,$92,$89,$01,$DD,$E5,$3E,$01
8DCA DEFB $18,$69,$7A,$FE,$60,$3F,$D8,$7A
8DD2 DEFB $E6,$FC,$87,$6F,$26,$FE,$3E,$07
8DDA DEFB $86
8DDB: Message at 8DDB
8DDB DEFM ",foz<"
8DE0: Data block at 8DE0
8DE0 DEFB $E6,$03,$4F,$CD,$1D,$8E,$CD,$F9
8DE8 DEFB $8D,$7B,$85,$6F,$CD,$1D,$8E,$CD
8DF0 DEFB $F9,$8D,$7D,$F6,$18,$6F,$CD,$1D
8DF8 DEFB $8E,$7A,$FE,$5F,$C8,$D9,$7C,$E6
8E00 DEFB $07,$20,$0A,$7D,$C6
8E05: Message at 8E05
8E05 DEFM " o8"
8E08: Data block at 8E08
8E08 DEFB $04,$7C,$D6,$08
8E0C: Message at 8E0C
8E0C DEFM "g>5"
8E0F: Data block at 8E0F
8E0F DEFB $08,$CD,$51,$8E,$11,$E5,$DD,$01
8E17 DEFB $89,$92,$3E,$01,$18,$18,$E5,$79
8E1F DEFB $B7,$D9,$E1,$11,$FF,$FF
8E25: Message at 8E25
8E25 DEFM "CK "
8E28: Data block at 8E28
8E28 DEFB $0C,$D9,$3E,$29,$08,$CD,$51,$8E
8E30 DEFB $D9,$13,$03,$3E,$04,$ED,$73,$82
8E38 DEFB $FD,$23,$F9,$D5,$D5,$D5,$D5,$24
8E40 DEFB $F9,$C5,$C5,$C5,$C5
8E45: Message at 8E45
8E45 DEFM "$= "
8E48: Data block at 8E48
8E48 DEFB $F1,$2B,$D9,$ED,$7B,$82,$FD,$B7
8E50 DEFB $C9,$44,$7C,$E6,$F8,$0F,$0F,$0F
8E58 DEFB $E6,$03,$F6,$58,$67,$08
8E5E: Message at 8E5E
8E5E DEFM "w-w-w-w-w-w-w-w"
8E6D: Data block at 8E6D
8E6D DEFB $08,$7D,$C6,$07,$6F,$60,$C9,$7A
8E75 DEFB $FE,$67,$3F,$D8,$06,$08,$0E,$30
8E7D DEFB $2A,$0E,$C0,$C3,$7B,$8A
8E83: Routine at 8E83
8E83 LD A,D
8E84 CP $67
8E86 CCF
8E87 RET C
8E88 LD B,$08
8E8A LD C,$30
8E8C LD HL,($C010)
8E8F JP $8A7B
8E92: Routine at 8E92
Used by the routines at 800C and 867C.
Input
H ??
E ??
8E92 LD L,$00
8E94 LD D,L
8E95 ADD HL,HL
8E96 JR NC,$8E99
8E98 ADD HL,DE
8E99 ADD HL,HL
8E9A JR NC,$8E9D
8E9C ADD HL,DE
8E9D ADD HL,HL
8E9E JR NC,$8EA1
8EA0 ADD HL,DE
8EA1 ADD HL,HL
8EA2 JR NC,$8EA5
8EA4 ADD HL,DE
8EA5 ADD HL,HL
8EA6 JR NC,$8EA9
8EA8 ADD HL,DE
8EA9 ADD HL,HL
8EAA JR NC,$8EAD
8EAC ADD HL,DE
8EAD ADD HL,HL
8EAE JR NC,$8EB1
8EB0 ADD HL,DE
8EB1 ADD HL,HL
8EB2 RET NC
8EB3 ADD HL,DE
8EB4 RET
8EB5: Routine at 8EB5
8EB5 LD A,D
8EB6 CP $67
8EB8 CCF
8EB9 RET C
8EBA LD A,$01
8EBC LD B,$08
8EBE LD C,$01
8EC0 BIT 7,E
8EC2 JR NZ,$8EFA
8EC4 LD C,$32
8EC6 LD HL,($C008)
8EC9 JP $8A7B
8ECC: Data block at 8ECC
8ECC DEFB $7A,$FE,$6A,$3F,$D8,$3E,$03,$06
8ED4 DEFB $0B,$0E,$02,$CB,$7B,$20,$1F,$0E
8EDC DEFB $32,$2A,$0A,$C0,$C3,$C3,$8A
8EE3: Routine at 8EE3
8EE3 LD A,D
8EE4 CP $6A
8EE6 CCF
8EE7 RET C
8EE8 LD A,$05
8EEA LD B,$0B
8EEC LD C,$02
8EEE BIT 7,E
8EF0 JR NZ,$8EFA
8EF2 LD C,$32
8EF4 LD HL,($C00C)
8EF7 JP $8AC3
This entry point is used by the routine at 8EB5.
8EFA RES 7,E
8EFC CALL $6430 -> $6C7A - We've got A more grenades
8EFF LD A,C
8F00 ADD A,A
8F01 ADD A,E
8F02 CP $21
8F04 JR C,$8F07
8F06 DEC E
8F07 CALL $854A
8F0A LD BC,$0104 +1000
8F0D CALL $6415 -> $6825 - Update Score
8F10 LD A,$03
8F12 CALL $642D -> $6456
8F15 SCF
8F16 RET
8F17: Routine at 8F17
8F17 LD A,D
8F18 CP $68
8F1A CCF
8F1B RET C
8F1C LD B,$09
8F1E LD C,$31
8F20 LD HL,($C016)
8F23 JP $8A7B
8F26: Routine at 8F26
8F26 LD A,D
8F27 CP $68
8F29 CCF
8F2A RET C
8F2B LD B,$09
8F2D LD C,$31
8F2F LD HL,($C018)
8F32 JP $8AC3
8F35: Routine at 8F35
8F35 LD A,D
8F36 CP $68
8F38 CCF
8F39 RET C
8F3A LD B,$09
8F3C LD HL,($C01A)
8F3F JP $8A7B
8F42: Data block at 8F42
8F42 DEFB $D9,$0E,$07,$3E,$30,$18,$05,$D9
8F4A DEFB $0E,$31,$3E,$06,$D9,$08,$7A,$FE
8F52 DEFB $9F,$3F,$D8,$06,$40,$3C,$90,$57
8F5A DEFB $D6,$04,$F2,$8D,$8F,$ED
8F60: Data block at 8F60
8F60 DEFB $44,$4F,$3E,$3F
8F64: Data block at 8F64
8F64 DEFB $91,$CB,$3F,$CB
8F68: Data block at 8F68
8F68 DEFB $3F,$3C,$47,$79
8F6C: Data block at 8F6C
8F6C DEFB $CB,$3F,$CB,$3F,$83,$5F,$C6
8F73: Data block at 8F73
8F73 DEFB $20,$6F,$26
8F76: Data block at 8F76
8F76 DEFB $40,$79,$E6,$03,$EE,$03,$57,$14
8F7E DEFB $79,$E6,$03,$0E,$FF,$28,$3E,$FE
8F86 DEFB $02
8F87: Data block at 8F87
8F87 DEFB $28,$4A,$38,$3F
8F8B: Data block at 8F8B
8F8B DEFB $18,$4F,$06,$10,$7A,$E6,$FC,$87
8F93 DEFB $6F,$26,$FE,$7E,$2C,$66,$83,$6F
8F9B DEFB $0E,$FF,$7A,$E6,$03,$28,$21,$FE
8FA3 DEFB $02,$38,$19,$28,$13,$4C,$7C,$0F
8FAB DEFB $0F,$0F,$F6,$58,$67,$D9,$79,$D9
8FB3 DEFB $77,$61,$0E,$00
8FB7: Data block at 8FB7
8FB7 DEFB $71,$24,$71,$24,$71,$24,$71,$24
8FBF DEFB $71,$24,$71,$24,$71,$24,$71
8FC6: Data block at 8FC6
8FC6 DEFB $CD,$FC,$8F,$D0,$36,$3F,$24,$36
8FCE DEFB $3F
8FCF: Data block at 8FCF
8FCF DEFB $CD,$FC,$8F,$D0,$36,$0F,$24,$36
8FD7 DEFB $0F,$CD,$FC,$8F,$D0,$4C,$7C,$E6
8FDF DEFB $F8,$0F,$0F,$0F,$F6,$58,$67,$08
8FE7 DEFB $77,$08,$61,$36,$03,$24,$36,$03
8FEF DEFB $CD,$FC,$8F,$D0,$7A,$C6,$04,$57
8FF7 DEFB $1C,$10,$95,$B7,$C9,$CD,$DC,$98
8FFF DEFB $7C,$E6,$18,$FE,$18,$C9,$7A,$FE
9007 DEFB $68,$3F,$D8,$06,$09,$0E,$87,$2A
900F DEFB $3E,$C0,$C3,$7B,$8A
9014: Routine at 9014
9014 LD A,D
9015 CP $6B
9017 JR NC,$9025
9019 LD HL,($C01E)
901C LD B,$0C
901E LD C,$B4
9020 PUSH DE
9021 CALL $8A14
9024 POP DE
9025 DEC E
9026 LD A,D
9027 SUB $0C
9029 CCF
902A RET NC
902B CP $04
902D CCF
902E RET NC
902F LD D,A
9030 CP $67
9032 CCF
9033 RET C
9034 LD HL,($C01C)
9037 LD B,$08
9039 LD C,$34
903B JP $8AC3
903E: Routine at 903E
903E LD A,D
903F CP $6A
9041 CCF
9042 RET C
9043 LD B,$0B
9045 LD C,$30
9047 LD HL,($C014)
904A JP $8AC3
904D: Routine at 904D
904D LD A,E
904E AND $1F
9050 BIT 7,E
9052 JR NZ,$9070
9054 LD HL,($C002) Get sprite addr Cliff edge left
9057 PUSH HL
9058 LD HL,($C048) Get sprite addr ???
905B BIT 6,E
905D JR Z,$908A
905F LD (IY+$5F),D
9062 RES 0,(IY+$71)
9066 BIT 5,E
9068 JR Z,$908A
906A SET 0,(IY+$71)
906E JR $908A
9070 LD HL,($C000) Get sprite addr Cliff edge right
9073 PUSH HL
9074 LD HL,($C042)
9077 BIT 6,E
9079 JR Z,$908A
907B LD (IY+$5E),D
907E RES 1,(IY+$71)
9082 BIT 5,E
9084 JR Z,$908A
9086 SET 1,(IY+$71)
908A LD E,A
908B LD B,$15
908D LD C,$34
908F LD A,$EC
9091 CALL $90A1
9094 POP HL
9095 RET C
9096 LD B,$0F
9098 LD C,$37
909A LD A,$FE
909C CALL $90A1
909F OR A
90A0 RET
90A1: Routine at 90A1
Used by the routine at 904D.
Input
B ??
C ??
A ??
DE ??
90A1 PUSH DE
90A2 ADD A,D
90A3 LD D,A
90A4 SUB $04
90A6 OR A
90A7 CALL P,$8A14
90AA POP DE
90AB RET
90AC: Routine at 90AC
90AC LD A,D
90AD CP $93
90AF CCF
90B0 RET C
90B1 BIT 7,E
90B3 RES 7,E
90B5 LD A,E
90B6 JR NZ,$90C1
90B8 LD HL,($C040) Get sprite addr Cliff top right; width 6
90BB PUSH HL
90BC LD HL,($C044) Get sprite addr Cliff bottom right; width 6
90BF JR $90C8
90C1 LD HL,($C046) Get sprite addr Cliff top left; width 6
90C4 PUSH HL
90C5 LD HL,($C04A) Get sprite addr Cliff bottom left; width 6
90C8 LD B,$14 Sprite height = 20
90CA PUSH DE
90CB LD A,$40
90CD CALL $834B Draw sprite HL
90D0 POP DE
90D1 POP HL
90D2 LD B,$0C Sprite height = 12
90D4 PUSH DE
90D5 LD A,D
90D6 SUB $24
90D8 LD D,A
90D9 CP $04
90DB LD A,$40
90DD CALL P,$834B Draw sprite HL
90E0 POP DE
90E1 LD A,D
90E2 AND $FC
90E4 LD D,A
90E5 LD BC,$3401
90E8 CALL $867C
90EB PUSH HL
90EC LD A,E
90ED EXX
90EE ADD A,$01
90F0 SRL A
90F2 SRL A
90F4 LD HL,$9124
90F7 CALL $98D3 HL = HL + A
90FA EX DE,HL
90FB POP HL
90FC LD A,H
90FD RRCA
90FE RRCA
90FF RRCA
9100 AND $03
9102 OR $58
9104 LD H,A
9105 LD BC,$001B
9108 EXX
9109 LD A,B
910A SRL A
910C SRL A
910E INC A
910F LD B,A
9110 EXX
9111 LD A,(DE)
9112 INC DE
9113 LD (HL),A
9114 INC L
9115 LD (HL),A
9116 INC L
9117 LD (HL),A
9118 INC L
9119 LD (HL),A
911A INC L
911B LD (HL),A
911C INC L
911D LD (HL),A
911E ADD HL,BC
911F EXX
9120 DJNZ $9110
9122 OR A
9123 RET
9124: Data block at 9124
9124 DEFB $31,$34,$34,$34,$24,$21,$21,$21
912C DEFB $27,$27,$27,$37,$37,$37
9132: Decrement Land space or process next record in the sequence
Used by the routine at 9193.
9132 LD A,($FD86) Get Land space size
9135 OR A zero?
9136 JR Z,$913D yes => process next record in the sequence
9138 DEC A
9139 LD ($FD86),A Update Land space size
913C RET
913D LD HL,($FD8A) Get current level sequence address
9140 LD A,(HL) Get record code
9141 AND $7F
9143 CP $7F End of levels marker?
9145 JR NZ,$914D
9147 LD HL,$9236 Level 1 start address
914A LD A,(HL) Get record code
914B AND $7F
914D INC HL
914E LD E,(HL) Get record parameter
914F INC HL
9150 LD ($FD8A),HL Save current level sequence address
9153 OR A $00 - Land space?
9154 JR NZ,$915B no => jump
9156 LD A,E
9157 LD ($FD86),A Save Land space size
915A RET
915B CP $29
915D JR C,$9165
915F LD BC,$0002
9162 JP $6400 -> $7A10
9165 CP $22 Spawn Point/Level End ?
9167 JR NZ,$9171 no => jump
9169 DEC E Level End ?
916A JR NZ,$913D no => jump
916C SET 4,(IY+$15)
9170 RET
9171 CALL $9204 Process codes $01-28, not $22
9174 JR $913D => process next record in the sequence
9176: Data block at 9176
9176 DEFB $01,$05,$00,$C3,$00,$64
917C: Routine at 917C
Used by the routine at 9193.
917C LD A,($FD88) Get Offset in $FF00 buffer
917F OR A
9180 RET Z
9181 LD HL,$FF00
9184 LD L,(HL)
9185 LD E,L
9186 LD A,L
9187 ADD A,$04
9189 LD L,A
918A INC (HL)
918B LD L,E
918C LD A,($FD88) Get Offset in $FF00 buffer
918F CP L
9190 JR NZ,$9184
9192 RET
9193: Routine at 9193
Used by the routine at 8003.
9193 BIT 4,(IY+$15)
9197 JR NZ,$91AA
9199 CALL $917C
919C CALL $9132 Decrement Land space or process next record in the sequence
919F BIT 1,(IY+$07)
91A3 RET NZ
91A4 LD A,$80
91A6 LD R,A
91A8 JR $91AD
This entry point is used by the routine at 8006.
91AA XOR A
91AB LD R,A
91AD CALL $85AB ?? Smth about Truck
91B0 CALL $8471 ?? Smth about Motorbike
91B3 CALL $83B8 ?? Smth about Jeep
91B6 LD A,($FD88) Get Offset in $FF00 buffer
91B9 OR A
91BA RET Z
91BB LD HL,$FF00
This entry point is used by the routine at 91E3.
91BE LD L,(HL)
This entry point is used by the routine at 91E3.
91BF PUSH HL
91C0 INC L
91C1 INC L
91C2 LD A,(HL)
91C3 AND $7F
91C5 INC L
91C6 LD E,(HL)
91C7 INC L
91C8 LD D,(HL)
91C9 CP $29
91CB JR NC,$91DD
91CD LD HL,$91E3
91D0 PUSH HL
91D1 DEC A
91D2 ADD A,A
91D3 ADD A,$12
91D5 LD L,A
91D6 LD H,$80
91D8 LD A,(HL)
91D9 INC L
91DA LD H,(HL)
91DB LD L,A
91DC JP (HL)
91DD LD BC,$0004
91E0 JP $6400 -> $7A10
91E3: Routine at 91E3
91E3 JR NC,$91FC
91E5 POP HL
91E6 LD A,($FD88) Get Offset in $FF00 buffer
91E9 CP L
91EA JR Z,$91F6
91EC LD A,L
91ED LD L,(HL)
91EE PUSH HL
91EF LD L,A
91F0 CALL $921F
91F3 POP HL
91F4 JR $91BF
91F6 INC L
91F7 LD A,(HL)
91F8 LD ($FD88),A Update Offset in $FF00 buffer
91FB RET
91FC POP HL
91FD LD A,($FD88) Get Offset in $FF00 buffer
9200 CP L
9201 JR NZ,$91BE
9203 RET
9204: Process record codes $01-28, not $22
Used by the routine at 9132.
9204 LD B,A
9205 LD H,$FF
9207 LD A,($FD88) Get Offset in $FF00 buffer
920A LD L,A
920B LD A,(HL)
920C LD L,A
920D LD ($FD88),A Update Offset in $FF00 buffer
9210 INC L
9211 INC L
9212 LD (HL),B
9213 INC L
9214 LD (HL),E
9215 INC L
9216 LD (HL),$04
9218 INC L
9219 LD (HL),$00
921B INC L
921C LD (HL),$00
921E RET
921F: Routine at 921F
Used by the routine at 91E3.
921F LD D,L
9220 LD A,(HL)
9221 INC L
9222 LD L,(HL)
9223 LD E,L
9224 LD (HL),A
9225 LD L,A
9226 INC L
9227 LD (HL),E
9228 LD A,($FD88) Get Offset in $FF00 buffer
922B LD L,A
922C LD E,(HL)
922D LD (HL),D
922E LD L,D
922F LD (HL),E
9230 INC L
9231 LD (HL),A
9232 LD L,E
9233 INC L
9234 LD (HL),D
9235 RET
9236: Level 1
9236 DEFB $22,$00 Spawn Point
9238 DEFB $00,$04 Land Space
923A DEFB $83,$0C A tree in column 12
923C DEFB $00,$05 Land Space
923E DEFB $83,$0A A tree in column 10
9240 DEFB $83,$0E A tree in column 14
9242 DEFB $00,$1E Land Space
9244 DEFB $83,$1C A tree in column 28
9246 DEFB $83,$02 A tree in column 2
9248 DEFB $00,$15 Land Space
924A DEFB $82,$9A A mirrored cliff in column 26
924C DEFB $26,$59 A cliff edge in column 25 with jumping soldiers
924E DEFB $00,$14 Land Space
9250 DEFB $87,$14 A boulder in column 20
9252 DEFB $00,$14 Land Space
9254 DEFB $83,$08 A tree in column 8
9256 DEFB $00,$1E Land Space
9258 DEFB $83,$12 A tree in column 18
925A DEFB $83,$16 A tree in column 22
925C DEFB $00,$05 Land Space
925E DEFB $83,$14 A tree in column 20
9260 DEFB $00,$19 Land Space
9262 DEFB $83,$09 A tree in column 9
9264 DEFB $00,$14 Land Space
9266 DEFB $82,$9A A mirrored cliff in column 26
9268 DEFB $26,$59 A cliff edge in column 25 with jumping soldiers
926A DEFB $00,$28 Land Space
926C DEFB $83,$01 A tree in column 1
926E DEFB $83,$17 A tree in column 23
9270 DEFB $83,$05 A tree in column 5
9272 DEFB $00,$06 Land Space
9274 DEFB $83,$03 A tree in column 3
9276 DEFB $00,$10 Land Space
9278 DEFB $8A,$11 Sandbags LHS in column 17
927A DEFB $8B,$13 Sandbags MIDDLE in column 19
927C DEFB $8B,$16 Sandbags MIDDLE in column 22
927E DEFB $8C,$19 Sandbags RHS in column 25
9280 DEFB $00,$08 Land Space
9282 DEFB $83,$0D A tree in column 13
9284 DEFB $0F,$11 A single grenade in column 17
9286 DEFB $00,$1C Land Space
9288 DEFB $83,$18 A tree in column 24
928A DEFB $82,$00 A cliff in column 0
928C DEFB $26,$C6 A mirrored cliff edge in column 6 with jumping soldiers
928E DEFB $00,$28 Land Space
9290 DEFB $83,$19 A tree in column 25
9292 DEFB $00,$1E Land Space
9294 DEFB $82,$8A A mirrored cliff in column 10
9296 DEFB $82,$10 A cliff in column 16
9298 DEFB $26,$09 A cliff edge in column 9
929A DEFB $26,$96 A mirrored cliff edge in column 22
929C DEFB $00,$36 Land Space
929E DEFB $87,$14 A boulder in column 20
92A0 DEFB $00,$04 Land Space
92A2 DEFB $20,$00 Prisoner of war
92A4 DEFB $00,$05 Land Space
92A6 DEFB $22,$00 Spawn Point
92A8 DEFB $00,$23 Land Space
92AA DEFB $83,$02 A tree in column 2
92AC DEFB $00,$14 Land Space
92AE DEFB $83,$13 A tree in column 19
92B0 DEFB $00,$1E Land Space
92B2 DEFB $8B,$1D Sandbags MIDDLE in column 29
92B4 DEFB $8B,$1A Sandbags MIDDLE in column 26
92B6 DEFB $8A,$18 Sandbags LHS in column 24
92B8 DEFB $00,$08 Land Space
92BA DEFB $13,$19 A right mortar in column 25
92BC DEFB $00,$06 Land Space
92BE DEFB $11,$16 A quintuple grenade in column 22
92C0 DEFB $00,$0D Land Space
92C2 DEFB $09,$0B A wall in column 11
92C4 DEFB $09,$1F A wall in column 31
92C6 DEFB $96,$0C A tunnel in column 12
92C8 DEFB $00,$17 Land Space
92CA DEFB $17,$1F Draw Road on bridge
92CC DEFB $00,$01 Land Space
92CE DEFB $1B,$3C Motorbike
92D0 DEFB $00,$0B Land Space
92D2 DEFB $08,$1F A bridge section
92D4 DEFB $00,$14 Land Space
92D6 DEFB $87,$0F A boulder in column 15
92D8 DEFB $00,$32 Land Space
92DA DEFB $22,$00 Spawn Point
92DC DEFB $00,$1E Land Space
92DE DEFB $87,$01 A boulder in column 1
92E0 DEFB $00,$23 Land Space
92E2 DEFB $87,$09 A boulder in column 9
92E4 DEFB $00,$14 Land Space
92E6 DEFB $87,$12 A boulder in column 18
92E8 DEFB $00,$1E Land Space
92EA DEFB $87,$01 A boulder in column 1
92EC DEFB $87,$0E A boulder in column 14
92EE DEFB $87,$1B A boulder in column 27
92F0 DEFB $00,$19 Land Space
92F2 DEFB $8A,$02 Sandbags LHS in column 2
92F4 DEFB $8B,$04 Sandbags MIDDLE in column 4
92F6 DEFB $8B,$07 Sandbags MIDDLE in column 7
92F8 DEFB $8C,$0A Sandbags RHS in column 10
92FA DEFB $00,$0A Land Space
92FC DEFB $11,$03 A quintuple grenade in column 3
92FE DEFB $00,$0F Land Space
9300 DEFB $8A,$13 Sandbags LHS in column 19
9302 DEFB $8B,$15 Sandbags MIDDLE in column 21
9304 DEFB $8B,$18 Sandbags MIDDLE in column 24
9306 DEFB $8C,$1B Sandbags RHS in column 27
9308 DEFB $00,$12 Land Space
930A DEFB $8A,$04 Sandbags LHS in column 4
930C DEFB $8B,$06 Sandbags MIDDLE in column 6
930E DEFB $8C,$09 Sandbags RHS in column 9
9310 DEFB $00,$09 Land Space
9312 DEFB $10,$05 A triple grenade in column 5
9314 DEFB $00,$05 Land Space
9316 DEFB $22,$00 Spawn Point
9318 DEFB $00,$32 Land Space
931A DEFB $8A,$0D Sandbags LHS in column 13
931C DEFB $8B,$0F Sandbags MIDDLE in column 15
931E DEFB $8C,$12 Sandbags RHS in column 18
9320 DEFB $00,$19 Land Space
9322 DEFB $8A,$00 Sandbags LHS in column 0
9324 DEFB $8B,$02 Sandbags MIDDLE in column 2
9326 DEFB $8C,$05 Sandbags RHS in column 5
9328 DEFB $00,$1C Land Space
932A DEFB $8B,$1D Sandbags MIDDLE in column 29
932C DEFB $8B,$1A Sandbags MIDDLE in column 26
932E DEFB $8A,$18 Sandbags LHS in column 24
9330 DEFB $00,$08 Land Space
9332 DEFB $0F,$18 A single grenade in column 24
9334 DEFB $00,$32 Land Space
9336 DEFB $09,$0B A wall in column 11
9338 DEFB $09,$1F A wall in column 31
933A DEFB $21,$14 Fortress gates
933C DEFB $00,$16 Land Space
933E DEFB $22,$01 Spawn Point
9340: Level 2
9340 DEFB $00,$5E Land Space
9342 DEFB $1C,$00 Jeep
9344 DEFB $1A,$00 Truck
9346 DEFB $00,$3C Land Space
9348 DEFB $1B,$FF Motorbike
934A DEFB $00,$28 Land Space
934C DEFB $0F,$07 A single grenade in column 7
934E DEFB $00,$08 Land Space
9350 DEFB $24,$00 A trench MIDDLE in column 0
9352 DEFB $24,$04 A trench MIDDLE in column 4
9354 DEFB $25,$08 A trench RIGHT in column 8
9356 DEFB $00,$19 Land Space
9358 DEFB $23,$14 A trench LHS in column 20
935A DEFB $24,$16 A trench MIDDLE in column 22
935C DEFB $25,$1A A trench RIGHT in column 26
935E DEFB $00,$1E Land Space
9360 DEFB $23,$02 A trench LHS in column 2
9362 DEFB $24,$04 A trench MIDDLE in column 4
9364 DEFB $25,$08 A trench RIGHT in column 8
9366 DEFB $00,$08 Land Space
9368 DEFB $23,$16 A trench LHS in column 22
936A DEFB $24,$18 A trench MIDDLE in column 24
936C DEFB $25,$1C A trench RIGHT in column 28
936E DEFB $00,$1E Land Space
9370 DEFB $23,$0A A trench LHS in column 10
9372 DEFB $24,$0C A trench MIDDLE in column 12
9374 DEFB $24,$10 A trench MIDDLE in column 16
9376 DEFB $25,$14 A trench RIGHT in column 20
9378 DEFB $00,$14 Land Space
937A DEFB $10,$1B A triple grenade in column 27
937C DEFB $00,$0A Land Space
937E DEFB $22,$00 Spawn Point
9380 DEFB $00,$32 Land Space
9382 DEFB $23,$12 A trench LHS in column 18
9384 DEFB $24,$14 A trench MIDDLE in column 20
9386 DEFB $24,$18 A trench MIDDLE in column 24
9388 DEFB $24,$1C A trench MIDDLE in column 28
938A DEFB $00,$19 Land Space
938C DEFB $23,$01 A trench LHS in column 1
938E DEFB $24,$03 A trench MIDDLE in column 3
9390 DEFB $25,$07 A trench RIGHT in column 7
9392 DEFB $00,$1E Land Space
9394 DEFB $23,$0C A trench LHS in column 12
9396 DEFB $24,$0E A trench MIDDLE in column 14
9398 DEFB $24,$12 A trench MIDDLE in column 18
939A DEFB $24,$16 A trench MIDDLE in column 22
939C DEFB $25,$1A A trench RIGHT in column 26
939E DEFB $00,$1E Land Space
93A0 DEFB $23,$02 A trench LHS in column 2
93A2 DEFB $24,$04 A trench MIDDLE in column 4
93A4 DEFB $25,$08 A trench RIGHT in column 8
93A6 DEFB $00,$3C Land Space
93A8 DEFB $10,$14 A triple grenade in column 20
93AA DEFB $00,$0C Land Space
93AC DEFB $09,$0B A wall in column 11
93AE DEFB $09,$1F A wall in column 31
93B0 DEFB $96,$0C A tunnel in column 12
93B2 DEFB $00,$17 Land Space
93B4 DEFB $17,$1F Draw Road on bridge
93B6 DEFB $00,$0C Land Space
93B8 DEFB $08,$1F A bridge section
93BA DEFB $00,$50 Land Space
93BC DEFB $22,$00 Spawn Point
93BE DEFB $00,$14 Land Space
93C0 DEFB $95,$00 A barracks in column 0
93C2 DEFB $00,$23 Land Space
93C4 DEFB $10,$03 A triple grenade in column 3
93C6 DEFB $00,$1E Land Space
93C8 DEFB $28,$19 Start of NME with rocket launchers. Ferocity:25
93CA DEFB $00,$0F Land Space
93CC DEFB $98,$10 A log crossing in column 16
93CE DEFB $00,$02 Land Space
93D0 DEFB $0D,$08 Water
93D2 DEFB $00,$19 Land Space
93D4 DEFB $19,$08 Water Strip 1
93D6 DEFB $00,$05 Land Space
93D8 DEFB $0E,$08 Water Strip 2
93DA DEFB $00,$0A Land Space
93DC DEFB $81,$00 A bunker in column 0
93DE DEFB $00,$14 Land Space
93E0 DEFB $28,$00 End of NME with rocket launchers
93E2 DEFB $00,$32 Land Space
93E4 DEFB $81,$1A A bunker in column 26
93E6 DEFB $00,$05 Land Space
93E8 DEFB $22,$00 Spawn Point
93EA DEFB $00,$3C Land Space
93EC DEFB $81,$00 A bunker in column 0
93EE DEFB $00,$1E Land Space
93F0 DEFB $1F,$1A A cave bottom edge in column 26
93F2 DEFB $00,$03 Land Space
93F4 DEFB $1E,$1A A cave main in column 26
93F6 DEFB $00,$0F Land Space
93F8 DEFB $1F,$00 A cave bottom edge in column 0
93FA DEFB $00,$03 Land Space
93FC DEFB $1E,$00 A cave main in column 0
93FE DEFB $1E,$1A A cave main in column 26
9400 DEFB $00,$13 Land Space
9402 DEFB $1E,$00 A cave main in column 0
9404 DEFB $1E,$1A A cave main in column 26
9406 DEFB $00,$13 Land Space
9408 DEFB $1D,$00 A cave top edge in column 0
940A DEFB $1D,$1A A cave top edge in column 26
940C DEFB $00,$04 Land Space
940E DEFB $09,$0B A wall in column 11
9410 DEFB $09,$1F A wall in column 31
9412 DEFB $21,$14 Fortress gates
9414 DEFB $00,$16 Land Space
9416 DEFB $22,$01 Spawn Point
9418: Level 3
9418 DEFB $00,$14 Land Space
941A DEFB $94,$86 A large hut in column 6
941C DEFB $00,$19 Land Space
941E DEFB $94,$94 A large hut in column 20
9420 DEFB $00,$28 Land Space
9422 DEFB $94,$81 A large hut in column 1
9424 DEFB $00,$14 Land Space
9426 DEFB $10,$16 A triple grenade in column 22
9428 DEFB $00,$0A Land Space
942A DEFB $94,$8B A large hut in column 11
942C DEFB $00,$1E Land Space
942E DEFB $94,$94 A large hut in column 20
9430 DEFB $00,$0A Land Space
9432 DEFB $94,$84 A large hut in column 4
9434 DEFB $00,$28 Land Space
9436 DEFB $94,$8D A large hut in column 13
9438 DEFB $00,$28 Land Space
943A DEFB $94,$86 A large hut in column 6
943C DEFB $00,$19 Land Space
943E DEFB $94,$99 A large hut in column 25
9440 DEFB $00,$23 Land Space
9442 DEFB $23,$12 A trench LHS in column 18
9444 DEFB $24,$14 A trench MIDDLE in column 20
9446 DEFB $25,$18 A trench RIGHT in column 24
9448 DEFB $00,$0D Land Space
944A DEFB $10,$14 A triple grenade in column 20
944C DEFB $94,$81 A large hut in column 1
944E DEFB $00,$16 Land Space
9450 DEFB $94,$8C A large hut in column 12
9452 DEFB $00,$32 Land Space
9454 DEFB $94,$86 A large hut in column 6
9456 DEFB $00,$0A Land Space
9458 DEFB $22,$00 Spawn Point
945A DEFB $00,$05 Land Space
945C DEFB $94,$93 A large hut in column 19
945E DEFB $00,$19 Land Space
9460 DEFB $24,$00 A trench MIDDLE in column 0
9462 DEFB $24,$04 A trench MIDDLE in column 4
9464 DEFB $25,$08 A trench RIGHT in column 8
9466 DEFB $00,$1E Land Space
9468 DEFB $94,$88 A large hut in column 8
946A DEFB $00,$1E Land Space
946C DEFB $23,$14 A trench LHS in column 20
946E DEFB $24,$16 A trench MIDDLE in column 22
9470 DEFB $25,$1A A trench RIGHT in column 26
9472 DEFB $00,$28 Land Space
9474 DEFB $94,$92 A large hut in column 18
9476 DEFB $00,$1E Land Space
9478 DEFB $23,$00 A trench LHS in column 0
947A DEFB $24,$02 A trench MIDDLE in column 2
947C DEFB $24,$06 A trench MIDDLE in column 6
947E DEFB $25,$0A A trench RIGHT in column 10
9480 DEFB $00,$1E Land Space
9482 DEFB $11,$04 A quintuple grenade in column 4
9484 DEFB $00,$28 Land Space
9486 DEFB $09,$0B A wall in column 11
9488 DEFB $09,$1F A wall in column 31
948A DEFB $96,$0C A tunnel in column 12
948C DEFB $00,$17 Land Space
948E DEFB $17,$1F Draw Road on bridge
9490 DEFB $00,$0C Land Space
9492 DEFB $08,$1F A bridge section
9494 DEFB $00,$5A Land Space
9496 DEFB $1A,$00 Truck
9498 DEFB $00,$1E Land Space
949A DEFB $1B,$FF Motorbike
949C DEFB $00,$05 Land Space
949E DEFB $22,$00 Spawn Point
94A0 DEFB $00,$28 Land Space
94A2 DEFB $1A,$00 Truck
94A4 DEFB $00,$23 Land Space
94A6 DEFB $1B,$FF Motorbike
94A8 DEFB $00,$1E Land Space
94AA DEFB $1C,$00 Jeep
94AC DEFB $00,$28 Land Space
94AE DEFB $1A,$00 Truck
94B0 DEFB $00,$3C Land Space
94B2 DEFB $28,$1E Start of NME with rocket launchers. Ferocity:30
94B4 DEFB $00,$28 Land Space
94B6 DEFB $1C,$00 Jeep
94B8 DEFB $28,$00 End of NME with rocket launchers
94BA DEFB $00,$05 Land Space
94BC DEFB $22,$00 Spawn Point
94BE DEFB $00,$3C Land Space
94C0 DEFB $0F,$04 A single grenade in column 4
94C2 DEFB $00,$3C Land Space
94C4 DEFB $8A,$02 Sandbags LHS in column 2
94C6 DEFB $8B,$04 Sandbags MIDDLE in column 4
94C8 DEFB $8C,$07 Sandbags RHS in column 7
94CA DEFB $8A,$17 Sandbags LHS in column 23
94CC DEFB $8B,$19 Sandbags MIDDLE in column 25
94CE DEFB $8C,$1C Sandbags RHS in column 28
94D0 DEFB $00,$05 Land Space
94D2 DEFB $10,$0A A triple grenade in column 10
94D4 DEFB $10,$13 A triple grenade in column 19
94D6 DEFB $00,$04 Land Space
94D8 DEFB $13,$1B A right mortar in column 27
94DA DEFB $12,$03 A left mortar in column 3
94DC DEFB $00,$14 Land Space
94DE DEFB $09,$0B A wall in column 11
94E0 DEFB $09,$1F A wall in column 31
94E2 DEFB $21,$14 Fortress gates
94E4 DEFB $00,$16 Land Space
94E6 DEFB $22,$01 Spawn Point
94E8: Level 4
94E8 DEFB $00,$46 Land Space
94EA DEFB $28,$46 Start of NME with rocket launchers. Ferocity:70
94EC DEFB $00,$14 Land Space
94EE DEFB $98,$10 A log crossing in column 16
94F0 DEFB $00,$02 Land Space
94F2 DEFB $0D,$08 Water
94F4 DEFB $00,$19 Land Space
94F6 DEFB $19,$08 Water Strip 1
94F8 DEFB $00,$05 Land Space
94FA DEFB $0E,$08 Water Strip 2
94FC DEFB $00,$19 Land Space
94FE DEFB $10,$19 A triple grenade in column 25
9500 DEFB $00,$19 Land Space
9502 DEFB $98,$08 A log crossing in column 8
9504 DEFB $00,$02 Land Space
9506 DEFB $0D,$10 Water
9508 DEFB $00,$19 Land Space
950A DEFB $19,$10 Water Strip 1
950C DEFB $00,$05 Land Space
950E DEFB $0E,$10 Water Strip 2
9510 DEFB $00,$3C Land Space
9512 DEFB $98,$10 A log crossing in column 16
9514 DEFB $00,$02 Land Space
9516 DEFB $0D,$08 Water
9518 DEFB $00,$19 Land Space
951A DEFB $19,$08 Water Strip 1
951C DEFB $00,$05 Land Space
951E DEFB $0E,$08 Water Strip 2
9520 DEFB $00,$1E Land Space
9522 DEFB $22,$00 Spawn Point
9524 DEFB $00,$14 Land Space
9526 DEFB $28,$46 Start of NME with rocket launchers. Ferocity:70
9528 DEFB $83,$02 A tree in column 2
952A DEFB $00,$23 Land Space
952C DEFB $83,$14 A tree in column 20
952E DEFB $00,$23 Land Space
9530 DEFB $05,$10 A road bottom edging in column 16
9532 DEFB $00,$13 Land Space
9534 DEFB $27,$01 Turn the alarm ON
9536 DEFB $8A,$01 Sandbags LHS in column 1
9538 DEFB $8B,$03 Sandbags MIDDLE in column 3
953A DEFB $8B,$06 Sandbags MIDDLE in column 6
953C DEFB $8C,$09 Sandbags RHS in column 9
953E DEFB $00,$1E Land Space
9540 DEFB $04,$1B A road marking in column 27
9542 DEFB $28,$14 Start of NME with rocket launchers. Ferocity:20
9544 DEFB $00,$0C Land Space
9546 DEFB $05,$00 A road bottom edging in column 0
9548 DEFB $00,$0C Land Space
954A DEFB $04,$15 A road marking in column 21
954C DEFB $11,$04 A quintuple grenade in column 4
954E DEFB $00,$06 Land Space
9550 DEFB $06,$10 A road top edging in column 16
9552 DEFB $00,$12 Land Space
9554 DEFB $04,$0F A road marking in column 15
9556 DEFB $00,$18 Land Space
9558 DEFB $04,$09 A road marking in column 9
955A DEFB $00,$13 Land Space
955C DEFB $06,$00 A road top edging in column 0
955E DEFB $00,$05 Land Space
9560 DEFB $04,$03 A road marking in column 3
9562 DEFB $83,$14 A tree in column 20
9564 DEFB $00,$14 Land Space
9566 DEFB $83,$1B A tree in column 27
9568 DEFB $00,$32 Land Space
956A DEFB $81,$1A A bunker in column 26
956C DEFB $00,$1E Land Space
956E DEFB $28,$00 End of NME with rocket launchers
9570 DEFB $00,$28 Land Space
9572 DEFB $87,$04 A boulder in column 4
9574 DEFB $00,$05 Land Space
9576 DEFB $22,$00 Spawn Point
9578 DEFB $00,$28 Land Space
957A DEFB $27,$01 Turn the alarm ON
957C DEFB $11,$19 A quintuple grenade in column 25
957E DEFB $00,$14 Land Space
9580 DEFB $8A,$14 Sandbags LHS in column 20
9582 DEFB $8B,$16 Sandbags MIDDLE in column 22
9584 DEFB $8C,$19 Sandbags RHS in column 25
9586 DEFB $00,$32 Land Space
9588 DEFB $27,$00 Turn the alarm OFF
958A DEFB $10,$04 A triple grenade in column 4
958C DEFB $00,$32 Land Space
958E DEFB $09,$0B A wall in column 11
9590 DEFB $09,$1F A wall in column 31
9592 DEFB $21,$14 Fortress gates
9594 DEFB $00,$1E Land Space
9596 DEFB $22,$01 Spawn Point
9598: Level 5
9598 DEFB $00,$05 Land Space
959A DEFB $83,$05 A tree in column 5
959C DEFB $00,$05 Land Space
959E DEFB $83,$0B A tree in column 11
95A0 DEFB $00,$1E Land Space
95A2 DEFB $82,$80 A mirrored cliff in column 0
95A4 DEFB $26,$EC A double cliff mirrored cliff edge in column 12 with jumping soldiers
95A6 DEFB $82,$06 A cliff in column 6
95A8 DEFB $00,$1E Land Space
95AA DEFB $82,$9A A mirrored cliff in column 26
95AC DEFB $26,$59 A cliff edge in column 25 with jumping soldiers
95AE DEFB $00,$1E Land Space
95B0 DEFB $83,$03 A tree in column 3
95B2 DEFB $00,$05 Land Space
95B4 DEFB $83,$07 A tree in column 7
95B6 DEFB $00,$14 Land Space
95B8 DEFB $26,$1F A cliff edge in column 31
95BA DEFB $82,$80 A mirrored cliff in column 0
95BC DEFB $82,$06 A cliff in column 6
95BE DEFB $26,$EC A double cliff mirrored cliff edge in column 12 with jumping soldiers
95C0 DEFB $00,$3C Land Space
95C2 DEFB $0F,$09 A single grenade in column 9
95C4 DEFB $83,$0C A tree in column 12
95C6 DEFB $00,$08 Land Space
95C8 DEFB $83,$0A A tree in column 10
95CA DEFB $00,$28 Land Space
95CC DEFB $82,$8A A mirrored cliff in column 10
95CE DEFB $82,$10 A cliff in column 16
95D0 DEFB $26,$09 A cliff edge in column 9
95D2 DEFB $26,$96 A mirrored cliff edge in column 22
95D4 DEFB $00,$3C Land Space
95D6 DEFB $82,$1A A cliff in column 26
95D8 DEFB $82,$94 A mirrored cliff in column 20
95DA DEFB $26,$73 A double cliff cliff edge in column 19 with jumping soldiers
95DC DEFB $00,$06 Land Space
95DE DEFB $82,$00 A cliff in column 0
95E0 DEFB $26,$C6 A mirrored cliff edge in column 6 with jumping soldiers
95E2 DEFB $00,$32 Land Space
95E4 DEFB $22,$00 Spawn Point
95E6 DEFB $00,$05 Land Space
95E8 DEFB $83,$0A A tree in column 10
95EA DEFB $83,$0E A tree in column 14
95EC DEFB $00,$08 Land Space
95EE DEFB $83,$0C A tree in column 12
95F0 DEFB $00,$28 Land Space
95F2 DEFB $83,$14 A tree in column 20
95F4 DEFB $00,$03 Land Space
95F6 DEFB $83,$18 A tree in column 24
95F8 DEFB $00,$07 Land Space
95FA DEFB $83,$1B A tree in column 27
95FC DEFB $00,$0A Land Space
95FE DEFB $82,$80 A mirrored cliff in column 0
9600 DEFB $82,$06 A cliff in column 6
9602 DEFB $26,$EC A double cliff mirrored cliff edge in column 12 with jumping soldiers
9604 DEFB $00,$0F Land Space
9606 DEFB $82,$1A A cliff in column 26
9608 DEFB $82,$94 A mirrored cliff in column 20
960A DEFB $26,$73 A double cliff cliff edge in column 19 with jumping soldiers
960C DEFB $00,$3C Land Space
960E DEFB $11,$09 A quintuple grenade in column 9
9610 DEFB $00,$0E Land Space
9612 DEFB $09,$0B A wall in column 11
9614 DEFB $09,$1F A wall in column 31
9616 DEFB $96,$0C A tunnel in column 12
9618 DEFB $00,$17 Land Space
961A DEFB $17,$1F Draw Road on bridge
961C DEFB $00,$01 Land Space
961E DEFB $1B,$3C Motorbike
9620 DEFB $00,$0B Land Space
9622 DEFB $08,$1F A bridge section
9624 DEFB $00,$28 Land Space
9626 DEFB $87,$0E A boulder in column 14
9628 DEFB $00,$1E Land Space
962A DEFB $87,$04 A boulder in column 4
962C DEFB $00,$28 Land Space
962E DEFB $22,$00 Spawn Point
9630 DEFB $00,$05 Land Space
9632 DEFB $8A,$18 Sandbags LHS in column 24
9634 DEFB $8B,$1A Sandbags MIDDLE in column 26
9636 DEFB $8B,$1D Sandbags MIDDLE in column 29
9638 DEFB $00,$05 Land Space
963A DEFB $87,$06 A boulder in column 6
963C DEFB $00,$14 Land Space
963E DEFB $87,$19 A boulder in column 25
9640 DEFB $00,$0F Land Space
9642 DEFB $87,$10 A boulder in column 16
9644 DEFB $00,$1E Land Space
9646 DEFB $87,$16 A boulder in column 22
9648 DEFB $8B,$00 Sandbags MIDDLE in column 0
964A DEFB $8C,$03 Sandbags RHS in column 3
964C DEFB $00,$22 Land Space
964E DEFB $87,$02 A boulder in column 2
9650 DEFB $00,$18 Land Space
9652 DEFB $87,$0B A boulder in column 11
9654 DEFB $00,$14 Land Space
9656 DEFB $87,$12 A boulder in column 18
9658 DEFB $00,$08 Land Space
965A DEFB $82,$80 A mirrored cliff in column 0
965C DEFB $82,$06 A cliff in column 6
965E DEFB $26,$EC A double cliff mirrored cliff edge in column 12 with jumping soldiers
9660 DEFB $00,$14 Land Space
9662 DEFB $87,$19 A boulder in column 25
9664 DEFB $00,$1E Land Space
9666 DEFB $8A,$0F Sandbags LHS in column 15
9668 DEFB $8B,$11 Sandbags MIDDLE in column 17
966A DEFB $8C,$14 Sandbags RHS in column 20
966C DEFB $00,$3C Land Space
966E DEFB $28,$1E Start of NME with rocket launchers. Ferocity:30
9670 DEFB $23,$0A A trench LHS in column 10
9672 DEFB $24,$0C A trench MIDDLE in column 12
9674 DEFB $24,$10 A trench MIDDLE in column 16
9676 DEFB $25,$14 A trench RIGHT in column 20
9678 DEFB $00,$14 Land Space
967A DEFB $25,$0A A trench RIGHT in column 10
967C DEFB $24,$06 A trench MIDDLE in column 6
967E DEFB $23,$04 A trench LHS in column 4
9680 DEFB $23,$14 A trench LHS in column 20
9682 DEFB $24,$16 A trench MIDDLE in column 22
9684 DEFB $25,$1A A trench RIGHT in column 26
9686 DEFB $00,$0F Land Space
9688 DEFB $28,$00 End of NME with rocket launchers
968A DEFB $09,$0B A wall in column 11
968C DEFB $09,$1F A wall in column 31
968E DEFB $21,$14 Fortress gates
9690 DEFB $00,$16 Land Space
9692 DEFB $22,$01 Spawn Point
9694: Level 6
9694 DEFB $00,$28 Land Space
9696 DEFB $81,$00 A bunker in column 0
9698 DEFB $00,$32 Land Space
969A DEFB $81,$1A A bunker in column 26
969C DEFB $00,$32 Land Space
969E DEFB $81,$00 A bunker in column 0
96A0 DEFB $00,$28 Land Space
96A2 DEFB $81,$1A A bunker in column 26
96A4 DEFB $00,$32 Land Space
96A6 DEFB $1F,$1A A cave bottom edge in column 26
96A8 DEFB $1F,$00 A cave bottom edge in column 0
96AA DEFB $00,$03 Land Space
96AC DEFB $1E,$1A A cave main in column 26
96AE DEFB $1E,$00 A cave main in column 0
96B0 DEFB $00,$13 Land Space
96B2 DEFB $11,$07 A quintuple grenade in column 7
96B4 DEFB $1E,$1A A cave main in column 26
96B6 DEFB $1E,$00 A cave main in column 0
96B8 DEFB $00,$13 Land Space
96BA DEFB $1E,$1A A cave main in column 26
96BC DEFB $1E,$00 A cave main in column 0
96BE DEFB $00,$13 Land Space
96C0 DEFB $10,$16 A triple grenade in column 22
96C2 DEFB $1E,$1A A cave main in column 26
96C4 DEFB $1E,$00 A cave main in column 0
96C6 DEFB $00,$13 Land Space
96C8 DEFB $1E,$1A A cave main in column 26
96CA DEFB $1E,$00 A cave main in column 0
96CC DEFB $00,$13 Land Space
96CE DEFB $1E,$1A A cave main in column 26
96D0 DEFB $1E,$00 A cave main in column 0
96D2 DEFB $00,$13 Land Space
96D4 DEFB $1D,$00 A cave top edge in column 0
96D6 DEFB $1D,$1A A cave top edge in column 26
96D8 DEFB $00,$23 Land Space
96DA DEFB $09,$0B A wall in column 11
96DC DEFB $09,$1F A wall in column 31
96DE DEFB $96,$0C A tunnel in column 12
96E0 DEFB $00,$17 Land Space
96E2 DEFB $17,$1F Draw Road on bridge
96E4 DEFB $00,$0C Land Space
96E6 DEFB $08,$1F A bridge section
96E8 DEFB $00,$3C Land Space
96EA DEFB $25,$00 A trench RIGHT in column 0
96EC DEFB $00,$1E Land Space
96EE DEFB $22,$00 Spawn Point
96F0 DEFB $00,$05 Land Space
96F2 DEFB $24,$1C A trench MIDDLE in column 28
96F4 DEFB $23,$1A A trench LHS in column 26
96F6 DEFB $00,$21 Land Space
96F8 DEFB $24,$00 A trench MIDDLE in column 0
96FA DEFB $24,$04 A trench MIDDLE in column 4
96FC DEFB $25,$08 A trench RIGHT in column 8
96FE DEFB $00,$19 Land Space
9700 DEFB $23,$10 A trench LHS in column 16
9702 DEFB $24,$12 A trench MIDDLE in column 18
9704 DEFB $24,$16 A trench MIDDLE in column 22
9706 DEFB $28,$14 Start of NME with rocket launchers. Ferocity:20
9708 DEFB $24,$1A A trench MIDDLE in column 26
970A DEFB $25,$1E A trench RIGHT in column 30
970C DEFB $00,$0A Land Space
970E DEFB $11,$04 A quintuple grenade in column 4
9710 DEFB $00,$0E Land Space
9712 DEFB $98,$10 A log crossing in column 16
9714 DEFB $00,$02 Land Space
9716 DEFB $0D,$08 Water
9718 DEFB $00,$19 Land Space
971A DEFB $19,$08 Water Strip 1
971C DEFB $00,$05 Land Space
971E DEFB $0E,$08 Water Strip 2
9720 DEFB $00,$14 Land Space
9722 DEFB $28,$00 End of NME with rocket launchers
9724 DEFB $23,$0A A trench LHS in column 10
9726 DEFB $24,$0C A trench MIDDLE in column 12
9728 DEFB $24,$10 A trench MIDDLE in column 16
972A DEFB $24,$14 A trench MIDDLE in column 20
972C DEFB $25,$18 A trench RIGHT in column 24
972E DEFB $00,$28 Land Space
9730 DEFB $24,$00 A trench MIDDLE in column 0
9732 DEFB $24,$04 A trench MIDDLE in column 4
9734 DEFB $24,$08 A trench MIDDLE in column 8
9736 DEFB $25,$0C A trench RIGHT in column 12
9738 DEFB $00,$1E Land Space
973A DEFB $23,$12 A trench LHS in column 18
973C DEFB $24,$14 A trench MIDDLE in column 20
973E DEFB $25,$18 A trench RIGHT in column 24
9740 DEFB $00,$05 Land Space
9742 DEFB $22,$00 Spawn Point
9744 DEFB $00,$32 Land Space
9746 DEFB $23,$14 A trench LHS in column 20
9748 DEFB $24,$16 A trench MIDDLE in column 22
974A DEFB $25,$1A A trench RIGHT in column 26
974C DEFB $00,$0E Land Space
974E DEFB $10,$16 A triple grenade in column 22
9750 DEFB $28,$19 Start of NME with rocket launchers. Ferocity:25
9752 DEFB $00,$1E Land Space
9754 DEFB $98,$08 A log crossing in column 8
9756 DEFB $00,$02 Land Space
9758 DEFB $0D,$10 Water
975A DEFB $00,$19 Land Space
975C DEFB $19,$10 Water Strip 1
975E DEFB $00,$05 Land Space
9760 DEFB $0E,$10 Water Strip 2
9762 DEFB $00,$19 Land Space
9764 DEFB $23,$06 A trench LHS in column 6
9766 DEFB $24,$08 A trench MIDDLE in column 8
9768 DEFB $24,$0C A trench MIDDLE in column 12
976A DEFB $25,$10 A trench RIGHT in column 16
976C DEFB $00,$14 Land Space
976E DEFB $23,$10 A trench LHS in column 16
9770 DEFB $24,$12 A trench MIDDLE in column 18
9772 DEFB $28,$00 End of NME with rocket launchers
9774 DEFB $24,$16 A trench MIDDLE in column 22
9776 DEFB $25,$1A A trench RIGHT in column 26
9778 DEFB $00,$0F Land Space
977A DEFB $24,$00 A trench MIDDLE in column 0
977C DEFB $24,$04 A trench MIDDLE in column 4
977E DEFB $24,$08 A trench MIDDLE in column 8
9780 DEFB $25,$0C A trench RIGHT in column 12
9782 DEFB $00,$0F Land Space
9784 DEFB $09,$0B A wall in column 11
9786 DEFB $09,$1F A wall in column 31
9788 DEFB $21,$14 Fortress gates
978A DEFB $00,$16 Land Space
978C DEFB $22,$01 Spawn Point
978E: Level 7
978E DEFB $00,$1E Land Space
9790 DEFB $94,$00 A small hut in column 0
9792 DEFB $94,$14 A small hut in column 20
9794 DEFB $94,$1A A small hut in column 26
9796 DEFB $00,$32 Land Space
9798 DEFB $94,$00 A small hut in column 0
979A DEFB $94,$06 A small hut in column 6
979C DEFB $94,$0C A small hut in column 12
979E DEFB $00,$1E Land Space
97A0 DEFB $94,$00 A small hut in column 0
97A2 DEFB $94,$14 A small hut in column 20
97A4 DEFB $94,$1A A small hut in column 26
97A6 DEFB $00,$28 Land Space
97A8 DEFB $94,$00 A small hut in column 0
97AA DEFB $94,$06 A small hut in column 6
97AC DEFB $94,$0C A small hut in column 12
97AE DEFB $00,$3C Land Space
97B0 DEFB $94,$00 A small hut in column 0
97B2 DEFB $94,$06 A small hut in column 6
97B4 DEFB $94,$12 A small hut in column 18
97B6 DEFB $00,$28 Land Space
97B8 DEFB $94,$0A A small hut in column 10
97BA DEFB $94,$10 A small hut in column 16
97BC DEFB $00,$05 Land Space
97BE DEFB $22,$00 Spawn Point
97C0 DEFB $00,$32 Land Space
97C2 DEFB $94,$00 A small hut in column 0
97C4 DEFB $94,$1A A small hut in column 26
97C6 DEFB $00,$1E Land Space
97C8 DEFB $94,$0D A small hut in column 13
97CA DEFB $00,$3C Land Space
97CC DEFB $12,$03 A left mortar in column 3
97CE DEFB $00,$02 Land Space
97D0 DEFB $11,$1A A quintuple grenade in column 26
97D2 DEFB $00,$0F Land Space
97D4 DEFB $09,$0B A wall in column 11
97D6 DEFB $09,$1F A wall in column 31
97D8 DEFB $96,$0C A tunnel in column 12
97DA DEFB $00,$17 Land Space
97DC DEFB $17,$1F Draw Road on bridge
97DE DEFB $00,$0C Land Space
97E0 DEFB $08,$1F A bridge section
97E2 DEFB $00,$3C Land Space
97E4 DEFB $1A,$00 Truck
97E6 DEFB $00,$28 Land Space
97E8 DEFB $22,$00 Spawn Point
97EA DEFB $00,$3C Land Space
97EC DEFB $28,$28 Start of NME with rocket launchers. Ferocity:40
97EE DEFB $11,$04 A quintuple grenade in column 4
97F0 DEFB $00,$1E Land Space
97F2 DEFB $1C,$00 Jeep
97F4 DEFB $00,$50 Land Space
97F6 DEFB $28,$0C Start of NME with rocket launchers. Ferocity:12
97F8 DEFB $00,$32 Land Space
97FA DEFB $11,$03 A quintuple grenade in column 3
97FC DEFB $00,$64 Land Space
97FE DEFB $0F,$19 A single grenade in column 25
9800 DEFB $00,$05 Land Space
9802 DEFB $22,$00 Spawn Point
9804 DEFB $00,$05 Land Space
9806 DEFB $28,$0C Start of NME with rocket launchers. Ferocity:12
9808 DEFB $00,$78 Land Space
980A DEFB $28,$00 End of NME with rocket launchers
980C DEFB $00,$1E Land Space
980E DEFB $09,$0B A wall in column 11
9810 DEFB $09,$1F A wall in column 31
9812 DEFB $21,$14 Fortress gates
9814 DEFB $00,$16 Land Space
9816 DEFB $22,$01 Spawn Point
9818: Level 8
9818 DEFB $00,$3C Land Space
981A DEFB $8A,$07 Sandbags LHS in column 7
981C DEFB $8B,$09 Sandbags MIDDLE in column 9
981E DEFB $8B,$0C Sandbags MIDDLE in column 12
9820 DEFB $8C,$0F Sandbags RHS in column 15
9822 DEFB $00,$28 Land Space
9824 DEFB $98,$08 A log crossing in column 8
9826 DEFB $00,$02 Land Space
9828 DEFB $0D,$10 Water
982A DEFB $00,$19 Land Space
982C DEFB $19,$10 Water Strip 1
982E DEFB $00,$05 Land Space
9830 DEFB $0E,$10 Water Strip 2
9832 DEFB $00,$0F Land Space
9834 DEFB $98,$10 A log crossing in column 16
9836 DEFB $00,$02 Land Space
9838 DEFB $0D,$08 Water
983A DEFB $00,$19 Land Space
983C DEFB $19,$08 Water Strip 1
983E DEFB $00,$05 Land Space
9840 DEFB $0E,$08 Water Strip 2
9842 DEFB $00,$1E Land Space
9844 DEFB $8B,$00 Sandbags MIDDLE in column 0
9846 DEFB $8B,$03 Sandbags MIDDLE in column 3
9848 DEFB $8C,$06 Sandbags RHS in column 6
984A DEFB $8B,$1D Sandbags MIDDLE in column 29
984C DEFB $8A,$1B Sandbags LHS in column 27
984E DEFB $00,$28 Land Space
9850 DEFB $95,$00 A barracks in column 0
9852 DEFB $00,$28 Land Space
9854 DEFB $1B,$FF Motorbike
9856 DEFB $00,$0A Land Space
9858 DEFB $10,$14 A triple grenade in column 20
985A DEFB $00,$14 Land Space
985C DEFB $1B,$FF Motorbike
985E DEFB $00,$05 Land Space
9860 DEFB $22,$00 Spawn Point
9862 DEFB $00,$1E Land Space
9864 DEFB $11,$15 A quintuple grenade in column 21
9866 DEFB $00,$05 Land Space
9868 DEFB $83,$02 A tree in column 2
986A DEFB $00,$23 Land Space
986C DEFB $83,$14 A tree in column 20
986E DEFB $00,$23 Land Space
9870 DEFB $05,$10 A road bottom edging in column 16
9872 DEFB $00,$13 Land Space
9874 DEFB $27,$01 Turn the alarm ON
9876 DEFB $8B,$00 Sandbags MIDDLE in column 0
9878 DEFB $8B,$03 Sandbags MIDDLE in column 3
987A DEFB $8C,$06 Sandbags RHS in column 6
987C DEFB $00,$0A Land Space
987E DEFB $12,$02 A left mortar in column 2
9880 DEFB $00,$13 Land Space
9882 DEFB $04,$1B A road marking in column 27
9884 DEFB $28,$14 Start of NME with rocket launchers. Ferocity:20
9886 DEFB $00,$0C Land Space
9888 DEFB $05,$00 A road bottom edging in column 0
988A DEFB $00,$0C Land Space
988C DEFB $04,$15 A road marking in column 21
988E DEFB $00,$06 Land Space
9890 DEFB $06,$10 A road top edging in column 16
9892 DEFB $00,$12 Land Space
9894 DEFB $04,$0F A road marking in column 15
9896 DEFB $00,$18 Land Space
9898 DEFB $04,$09 A road marking in column 9
989A DEFB $00,$13 Land Space
989C DEFB $06,$00 A road top edging in column 0
989E DEFB $00,$05 Land Space
98A0 DEFB $04,$03 A road marking in column 3
98A2 DEFB $11,$19 A quintuple grenade in column 25
98A4 DEFB $00,$28 Land Space
98A6 DEFB $10,$06 A triple grenade in column 6
98A8 DEFB $00,$14 Land Space
98AA DEFB $95,$00 A barracks in column 0
98AC DEFB $00,$3C Land Space
98AE DEFB $0F,$0A A single grenade in column 10
98B0 DEFB $00,$05 Land Space
98B2 DEFB $22,$00 Spawn Point
98B4 DEFB $00,$05 Land Space
98B6 DEFB $27,$01 Turn the alarm ON
98B8 DEFB $28,$14 Start of NME with rocket launchers. Ferocity:20
98BA DEFB $00,$82 Land Space
98BC DEFB $10,$04 A triple grenade in column 4
98BE DEFB $28,$00 End of NME with rocket launchers
98C0 DEFB $27,$00 Turn the alarm OFF
98C2 DEFB $00,$32 Land Space
98C4 DEFB $09,$0B A wall in column 11
98C6 DEFB $09,$1F A wall in column 31
98C8 DEFB $21,$14 Fortress gates
98CA DEFB $00,$1E Land Space
98CC DEFB $22,$01 Spawn Point
98CE DEFB $FF End of levels marker
98CF DEFB $07
98D0: -> $9922
Used by the routines at 6CAE, 806B, DD8D and F5DD.
98D0 JP $9922
98D3: -> $98EA - HL = HL + A
Used by the routines at 6E7B, 6ECD, 6FF5, 7547, 7637, 87F1 and 90AC.
98D3 JP $98EA
98D6: -> $98F0 - (HL) -> HL
Used by the routines at 6A1E, 7547 and 7637.
98D6 JP $98F0
98D9: -> $98F5
Used by the routines at 6896, 6B4C, 6F79, 70BD, 7637, DD8D, F582 and F5A0.
98D9 JP $98F5
98DC: -> $9904 - DOWN HL
Used by the routines at 68CA, 6AE1, 6B4C, 70BD, 7637 and 7A45.
98DC JP $9904
98DF: Routine at 98DF
98DF JP $9913
98E2: Offsets in $A000 sprites block, lo byte
98E2 DEFB $00,$1E,$40,$5E,$80,$9E,$C0,$DE
98EA: HL = HL + A
Used by the routine at 98D3.
98EA ADD A,L
98EB LD L,A
98EC ADC A,H
98ED SUB L
98EE LD H,A
98EF RET
98F0: (HL) -> HL
Used by the routine at 98D6.
98F0 LD A,(HL)
98F1 INC HL
98F2 LD H,(HL)
98F3 LD L,A
98F4 RET
98F5: Routine at 98F5
Used by the routine at 98D9.
98F5 LD A,L
98F6 SRL A
98F8 SRL A
98FA LD L,H
98FB SLA L
98FD LD H,$FE $FE00 - table of even screen lines addresses
98FF ADD A,(HL)
9900 INC L
9901 LD H,(HL)
9902 LD L,A
9903 RET
9904: DOWN HL - move HL to the next screen line
Used by the routine at 98DC.
9904 INC H
9905 LD A,H
9906 AND $07
9908 RET NZ
9909 LD A,L
990A