![]() |
Routines |
Prev: 6CC9 | Up: Map | Next: 7069 |
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
![]() |
||||
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
![]() |
||||
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 |