Prev: 6CC9 Up: Map Next: 7069
6CEE: Routine at 6CEE
Used by the routines at TitleScreen and StartGame.
6CEE LD HL,$66A4 HL=66A4.
6CF1 LD A,(HL) A=*HL.
6CF2 OR A Jump to 6DCF if A is zero.
6CF3 JP Z,$6DCF
6CF6 INC HL Increment HL by one.
6CF7 LD A,(HL) A=*HL.
6CF8 CP $40 Jump to GameOver if A is not equal to 40.
6CFA JR NZ,GameOver
6CFC DEC HL Decrease HL by one.
6CFD LD (HL),$02 Write 02 to *HL.
6CFF RET Return.
GameOver 6D00 LD A,($6695) Jump to 7030 if *6695 is not zero.
6D03 OR A
6D04 JP NZ,$7030
6D07 LD A,($66F0) Jump to 6D29 if *Player_Lives is not equal to 01.
6D0A CP $01
6D0C JR NZ,$6D29
6D0E LD A,($66F3) Jump to 6D29 if *Flag_ActiveDemoMode is set.
6D11 OR A
6D12 JR NZ,$6D29
6D14 PUSH HL Stash HL on the stack.
Prints game
6D15 LD HL,$646E HL=Messaging_GameOver.
6D18 LD DE,$48CB DE=48CB (screen buffer location).
6D1B LD BC,$0445 Set to print 04 characters in INK:CYAN, PAPER:BLACK(BRIGHT).
6D1E CALL Configurable_PrintString Call Configurable_PrintString.
Prints over
6D21 LD E,$D1 Update the screen buffer address.
6D23 LD B,$04 Set to print 04 characters.
6D25 CALL Configurable_PrintString Call Configurable_PrintString.
6D28 POP HL
6D29 LD A,(HL)
6D2A AND $07
6D2C BIT 3,(HL)
6D2E JR NZ,$6D31
6D30 INC A
6D31 INC (HL)
6D32 INC (HL)
6D33 LD C,A
6D34 LD B,$00
6D36 LD IX,$0002
6D3A PUSH BC
6D3B LD HL,($66ED)
6D3E LD DE,$0021
6D41 ADD HL,DE
6D42 LD (HL),D
6D43 PUSH HL
6D44 LD A,L
6D45 AND $1F
6D47 SUB C
6D48 PUSH AF
6D49 AND A
6D4A SBC HL,BC
6D4C POP AF
6D4D CALL NC,$6926
6D50 POP HL
6D51 PUSH HL
6D52 LD A,L
6D53 AND $1F
6D55 ADD A,C
6D56 CP $20
6D58 PUSH AF
6D59 ADD HL,BC
6D5A POP AF
6D5B CALL C,$6926
6D5E POP HL
6D5F PUSH HL
6D60 LD B,C
6D61 LD DE,$0020
6D64 AND A
6D65 SBC HL,DE
6D67 DJNZ $6D64
6D69 CALL $6926
6D6C POP HL
6D6D LD A,C
6D6E SUB $02
6D70 LD B,A
6D71 JR C,$6D8A
6D73 JR Z,$6D8A
6D75 PUSH HL
6D76 LD DE,$0021
6D79 LD A,L
6D7A AND $1F
6D7C ADD A,$02
6D7E SUB C
6D7F PUSH AF
6D80 AND A
6D81 SBC HL,DE
6D83 DJNZ $6D80
6D85 POP AF
6D86 CALL NC,$6926
6D89 POP HL
6D8A LD A,C
6D8B SUB $02
6D8D LD B,A
6D8E JR C,$6DA4
6D90 JR Z,$6DA4
6D92 LD DE,$001F
6D95 LD A,L
6D96 AND E
6D97 ADD A,C
6D98 CP $22
6D9A PUSH AF
6D9B AND A
6D9C SBC HL,DE
6D9E DJNZ $6D9B
6DA0 POP AF
6DA1 CALL C,$6926
6DA4 POP BC
6DA5 INC C
6DA6 DEC IXl
6DA8 JR NZ,$6D3A
6DAA LD A,($66F3)
6DAD OR A
6DAE JP NZ,$7030
6DB1 LD A,($66A5)
6DB4 AND $03
6DB6 JP NZ,$7030
6DB9 LD B,$08
6DBB LD A,B
6DBC ADD A,$19
6DBE AND $18
6DC0 DI
6DC1 OUT ($FE),A
6DC3 PUSH BC
6DC4 DJNZ $6DC4
6DC6 POP BC
6DC7 DJNZ $6DBB
6DC9 XOR A
6DCA OUT ($FE),A
6DCC JP $7030
6DCF CALL $6C9D
6DD2 LD A,($66ED)
6DD5 PUSH AF
6DD6 LD HL,$6694
6DD9 LD A,(HL)
6DDA OR A
6DDB JR Z,$6DE8
6DDD DEC (HL)
6DDE BIT 7,(HL)
6DE0 JR NZ,$6E20
6DE2 XOR A
6DE3 LD ($6693),A
6DE6 JR $6E20
6DE8 LD A,($66F3)
6DEB OR A
6DEC JR Z,$6DF6
6DEE CALL $670E
6DF1 OR A
6DF2 JR Z,$6E1B
6DF4 JR $6E20
6DF6 LD A,($66F6)
6DF9 CP $02
6DFB JR NZ,$6E05
6DFD IN A,($1F)
6DFF AND $04
6E01 JR NZ,$6E1B
6E03 JR $6E20
6E05 CP $01
6E07 JR NZ,$6E13
6E09 LD A,$EF
6E0B IN A,($FE)
6E0D BIT 4,A
6E0F JR Z,$6E1B
6E11 JR $6E20
6E13 LD A,$BF
6E15 IN A,($FE)
6E17 AND $01
6E19 JR NZ,$6E20
6E1B LD (HL),$FF
6E1D DEC HL
6E1E LD (HL),$01
6E20 LD A,($6693)
6E23 OR A
6E24 JP Z,$6EF8
6E27 LD A,($66F3)
6E2A OR A
6E2B JR NZ,$6E40
6E2D LD A,($6694)
6E30 AND $07
6E32 ADD A,A
6E33 ADD A,A
6E34 LD HL,$00DE
6E37 LD D,H
6E38 LD E,A
6E39 ADD HL,DE
6E3A LD E,$04
6E3C CALL $03B5
6E3F DI
6E40 LD HL,($66ED)
6E43 LD H,$52
6E45 LD B,$02
6E47 LD A,($66A6)
6E4A PUSH AF
6E4B OR A
6E4C LD DE,$0000
6E4F JR NZ,$6E62
6E51 LD A,($6694)
6E54 BIT 2,A
6E56 JR Z,$6E62
6E58 LD DE,$0136
6E5B LD A,B
6E5C CP $01
6E5E JR NZ,$6E62
6E60 LD D,$80
6E62 LD ($6E87),DE
6E66 LD ($6E9A),DE
6E6A POP AF
6E6B INC A
6E6C PUSH BC
6E6D LD B,A
6E6E PUSH HL
6E6F LD HL,$6E86
6E72 LD A,($6694)
6E75 BIT 2,A
6E77 LD A,$7E
6E79 JR Z,$6E7D
6E7B ADD A,$40
6E7D ADD A,$08
6E7F DJNZ $6E7D
6E81 LD (HL),A
6E82 POP HL
6E83 LD B,$06
6E85 SET 0,(HL)
6E87 LD (HL),$01
6E89 INC H
6E8A DJNZ $6E85
6E8C LD A,($6E86)
6E8F LD ($6E99),A
6E92 SET 5,L
6E94 LD H,$50
6E96 LD B,$08
6E98 SET 0,(HL)
6E9A LD (HL),$01
6E9C INC H
6E9D DJNZ $6E98
6E9F LD HL,($66ED)
6EA2 LD H,$52
6EA4 INC L
6EA5 INC L
6EA6 POP BC
6EA7 LD A,($66A6)
6EAA PUSH AF
6EAB SUB $07
6EAD DJNZ $6E4B
6EAF POP AF
6EB0 LD A,($6694)
6EB3 BIT 2,A
6EB5 LD HL,$6014
6EB8 JR Z,$6EBD
6EBA LD HL,$601D
6EBD LD DE,$617B
6EC0 LD C,$09
6EC2 LDIR
6EC4 LD A,($66A6)
6EC7 OR A
6EC8 JR Z,$6EE1
6ECA LD B,A
6ECB PUSH BC
6ECC LD HL,$617B
6ECF LD B,$09
6ED1 SLA (HL)
6ED3 INC HL
6ED4 BIT 7,(HL)
6ED6 DEC HL
6ED7 JR Z,$6EDB
6ED9 SET 0,(HL)
6EDB INC HL
6EDC DJNZ $6ED1
6EDE POP BC
6EDF DJNZ $6ECB
6EE1 LD DE,($66ED)
6EE5 LD D,$50
6EE7 LD HL,$617B
6EEA LD B,$03
6EEC PUSH BC
6EED PUSH DE
6EEE LD BC,$0003
6EF1 LDIR
6EF3 POP DE
6EF4 INC D
6EF5 POP BC
6EF6 DJNZ $6EEC
6EF8 LD H,$50
6EFA LD A,($66F3)
6EFD OR A
6EFE JR Z,$6F05
6F00 LD A,($66F4)
6F03 JR $6F37
6F05 DI
6F06 LD A,($66F6)
6F09 CP $02
6F0B JR NZ,$6F1C
6F0D IN A,($1F)
6F0F AND $03
6F11 CP $02
6F13 JR Z,$6F43
6F15 CP $01
6F17 JP Z,$6FDD
6F1A JR $6F40
6F1C CP $01
6F1E JR NZ,$6F33
6F20 LD A,$F7
6F22 IN A,($FE)
6F24 BIT 4,A
6F26 JR Z,$6F43
6F28 LD A,$EF
6F2A IN A,($FE)
6F2C BIT 2,A
6F2E JP Z,$6FDD
6F31 JR $6F40
6F33 LD A,$FE
6F35 IN A,($FE)
6F37 BIT 0,A
6F39 JR Z,$6F43
6F3B BIT 1,A
6F3D JP Z,$6FDD
6F40 POP AF
6F41 JR $6F93
6F43 POP AF
6F44 CP $C0
6F46 JR NZ,$6F52
6F48 LD A,($66A6)
6F4B CP $03
6F4D JR Z,$6F93
6F4F LD A,($66ED)
6F52 LD L,A
6F53 LD B,$02
6F55 PUSH BC
6F56 PUSH HL
6F57 LD B,$08
6F59 PUSH BC
6F5A PUSH HL
6F5B LD B,$03
6F5D SLA (HL)
6F5F INC HL
6F60 BIT 7,(HL)
6F62 DEC HL
6F63 JR Z,$6F67
6F65 SET 0,(HL)
6F67 INC HL
6F68 DJNZ $6F5D
6F6A DEC HL
6F6B RES 0,(HL)
6F6D POP HL
6F6E INC H
6F6F POP BC
6F70 DJNZ $6F59
6F72 POP HL
6F73 SET 5,L
6F75 POP BC
6F76 DJNZ $6F55
6F78 LD A,($66A6)
6F7B CP $07
6F7D JR Z,$6F82
6F7F INC A
6F80 JR $6F83
6F82 XOR A
6F83 LD ($66A6),A
6F86 OR A
6F87 LD A,($66ED)
6F8A JR NZ,$6F8D
6F8C DEC A
6F8D LD ($66ED),A
6F90 CALL $6C9D
This entry point is used by the routine at DrawShip.
6F93 LD A,($66A4)
6F96 OR A
6F97 JP NZ,$7030
6F9A LD HL,($66ED)
6F9D LD A,($6693)
6FA0 OR A
6FA1 JR Z,$6FAE
6FA3 LD A,($6694)
6FA6 BIT 2,A
6FA8 JR Z,$6FAE
6FAA LD A,$07
6FAC JR $6FB0
6FAE LD A,$46 A=INK:YELLOW, PAPER:BLACK(BRIGHT).
6FB0 LD B,$02
6FB2 PUSH BC
6FB3 PUSH HL
6FB4 DEC L
6FB5 PUSH AF
6FB6 CP $46
6FB8 JR Z,$6FBE
6FBA CP $07
6FBC JR NZ,$6FC0
6FBE LD (HL),$00
6FC0 POP AF
6FC1 INC L
6FC2 LD B,$03
6FC4 LD (HL),A
6FC5 INC HL
6FC6 DJNZ $6FC4
6FC8 PUSH AF
6FC9 LD A,(HL)
6FCA CP $46
6FCC JR Z,$6FD2
6FCE CP $07
6FD0 JR NZ,$6FD4
6FD2 LD (HL),$00
6FD4 POP AF
6FD5 POP HL
6FD6 SET 5,L
6FD8 POP BC
6FD9 DJNZ $6FB2
6FDB JR $7030
6FDD POP AF
6FDE CP $DD
6FE0 LD A,($66A6)
6FE3 JR NZ,$6FE8
6FE5 OR A
6FE6 JR Z,$6F93
6FE8 OR A
6FE9 JR Z,$6FEE
6FEB DEC A
6FEC JR $6FF0
6FEE LD A,$07
6FF0 LD ($66A6),A
6FF3 CP $07
6FF5 LD A,($66ED)
6FF8 JR NZ,$6FFE
6FFA INC A
6FFB LD ($66ED),A
6FFE PUSH AF
6FFF ADD A,$02
7001 LD L,A
7002 LD B,$02
7004 PUSH BC
7005 PUSH HL
7006 LD B,$08
7008 PUSH BC
7009 PUSH HL
700A LD B,$03
700C SRL (HL)
700E DEC HL
700F BIT 0,(HL)
7011 RES 0,(HL)
7013 INC HL
7014 JR Z,$7018
7016 SET 7,(HL)
7018 DEC HL
7019 DJNZ $700C
701B INC HL
701C RES 7,(HL)
701E POP HL
701F INC H
7020 POP BC
7021 DJNZ $7008
7023 POP HL
7024 SET 5,L
7026 POP BC
7027 DJNZ $7004
7029 POP AF
702A CALL $6C9D
702D JP $6F93
7030 LD HL,$6695
7033 LD A,(HL)
7034 CP $03
7036 JR NZ,$703A
7038 LD (HL),$FF
703A INC (HL)
703B LD HL,$6697
703E LD B,$01
This entry point is used by the routine at 70E7.
7040 PUSH HL
7041 PUSH BC
7042 LD E,(HL)
7043 INC HL
7044 LD D,(HL)
7045 LD A,D
7046 OR D
7047 JP NZ,$70E7
704A LD A,($66A4)
704D OR A
704E JP NZ,$714E
7051 LD A,($6693)
7054 OR A
7055 JP NZ,$714E
7058 LD A,($6696)
705B LD C,A
705C LD A,($66F3)
705F OR A
7060 JR Z,$7069
7062 CALL $670E
7065 AND $0F
7067 JR $7085
Prev: 6CC9 Up: Map Next: 7069