Prev: 27849 Up: Map Next: 28777
27886: Routine at 6CEE
Used by the routines at TitleScreen and StartGame.
27886 LD HL,26276 HL=26276.
27889 LD A,(HL) A=*HL.
27890 OR A Jump to 28111 if A is zero.
27891 JP Z,28111
27894 INC HL Increment HL by one.
27895 LD A,(HL) A=*HL.
27896 CP 64 Jump to GameOver if A is not equal to 64.
27898 JR NZ,GameOver
27900 DEC HL Decrease HL by one.
27901 LD (HL),2 Write 2 to *HL.
27903 RET Return.
GameOver 27904 LD A,(26261) Jump to 28720 if *26261 is not zero.
27907 OR A
27908 JP NZ,28720
27911 LD A,(26352) Jump to 27945 if *Player_Lives is not equal to 1.
27914 CP 1
27916 JR NZ,27945
27918 LD A,(26355) Jump to 27945 if *Flag_ActiveDemoMode is set.
27921 OR A
27922 JR NZ,27945
27924 PUSH HL Stash HL on the stack.
Prints game
27925 LD HL,25710 HL=Messaging_GameOver.
27928 LD DE,18635 DE=18635 (screen buffer location).
27931 LD BC,1093 Set to print 4 characters in INK:CYAN, PAPER:BLACK(BRIGHT).
27934 CALL Configurable_PrintString Call Configurable_PrintString.
Prints over
27937 LD E,209 Update the screen buffer address.
27939 LD B,4 Set to print 4 characters.
27941 CALL Configurable_PrintString Call Configurable_PrintString.
27944 POP HL
27945 LD A,(HL)
27946 AND 7
27948 BIT 3,(HL)
27950 JR NZ,27953
27952 INC A
27953 INC (HL)
27954 INC (HL)
27955 LD C,A
27956 LD B,0
27958 LD IX,2
27962 PUSH BC
27963 LD HL,(26349)
27966 LD DE,33
27969 ADD HL,DE
27970 LD (HL),D
27971 PUSH HL
27972 LD A,L
27973 AND 31
27975 SUB C
27976 PUSH AF
27977 AND A
27978 SBC HL,BC
27980 POP AF
27981 CALL NC,26918
27984 POP HL
27985 PUSH HL
27986 LD A,L
27987 AND 31
27989 ADD A,C
27990 CP 32
27992 PUSH AF
27993 ADD HL,BC
27994 POP AF
27995 CALL C,26918
27998 POP HL
27999 PUSH HL
28000 LD B,C
28001 LD DE,32
28004 AND A
28005 SBC HL,DE
28007 DJNZ 28004
28009 CALL 26918
28012 POP HL
28013 LD A,C
28014 SUB 2
28016 LD B,A
28017 JR C,28042
28019 JR Z,28042
28021 PUSH HL
28022 LD DE,33
28025 LD A,L
28026 AND 31
28028 ADD A,2
28030 SUB C
28031 PUSH AF
28032 AND A
28033 SBC HL,DE
28035 DJNZ 28032
28037 POP AF
28038 CALL NC,26918
28041 POP HL
28042 LD A,C
28043 SUB 2
28045 LD B,A
28046 JR C,28068
28048 JR Z,28068
28050 LD DE,31
28053 LD A,L
28054 AND E
28055 ADD A,C
28056 CP 34
28058 PUSH AF
28059 AND A
28060 SBC HL,DE
28062 DJNZ 28059
28064 POP AF
28065 CALL C,26918
28068 POP BC
28069 INC C
28070 DEC IXl
28072 JR NZ,27962
28074 LD A,(26355)
28077 OR A
28078 JP NZ,28720
28081 LD A,(26277)
28084 AND 3
28086 JP NZ,28720
28089 LD B,8
28091 LD A,B
28092 ADD A,25
28094 AND 24
28096 DI
28097 OUT (254),A
28099 PUSH BC
28100 DJNZ 28100
28102 POP BC
28103 DJNZ 28091
28105 XOR A
28106 OUT (254),A
28108 JP 28720
28111 CALL 27805
28114 LD A,(26349)
28117 PUSH AF
28118 LD HL,26260
28121 LD A,(HL)
28122 OR A
28123 JR Z,28136
28125 DEC (HL)
28126 BIT 7,(HL)
28128 JR NZ,28192
28130 XOR A
28131 LD (26259),A
28134 JR 28192
28136 LD A,(26355)
28139 OR A
28140 JR Z,28150
28142 CALL 26382
28145 OR A
28146 JR Z,28187
28148 JR 28192
28150 LD A,(26358)
28153 CP 2
28155 JR NZ,28165
28157 IN A,(31)
28159 AND 4
28161 JR NZ,28187
28163 JR 28192
28165 CP 1
28167 JR NZ,28179
28169 LD A,239
28171 IN A,(254)
28173 BIT 4,A
28175 JR Z,28187
28177 JR 28192
28179 LD A,191
28181 IN A,(254)
28183 AND 1
28185 JR NZ,28192
28187 LD (HL),255
28189 DEC HL
28190 LD (HL),1
28192 LD A,(26259)
28195 OR A
28196 JP Z,28408
28199 LD A,(26355)
28202 OR A
28203 JR NZ,28224
28205 LD A,(26260)
28208 AND 7
28210 ADD A,A
28211 ADD A,A
28212 LD HL,222
28215 LD D,H
28216 LD E,A
28217 ADD HL,DE
28218 LD E,4
28220 CALL 949
28223 DI
28224 LD HL,(26349)
28227 LD H,82
28229 LD B,2
28231 LD A,(26278)
28234 PUSH AF
28235 OR A
28236 LD DE,0
28239 JR NZ,28258
28241 LD A,(26260)
28244 BIT 2,A
28246 JR Z,28258
28248 LD DE,310
28251 LD A,B
28252 CP 1
28254 JR NZ,28258
28256 LD D,128
28258 LD (28295),DE
28262 LD (28314),DE
28266 POP AF
28267 INC A
28268 PUSH BC
28269 LD B,A
28270 PUSH HL
28271 LD HL,28294
28274 LD A,(26260)
28277 BIT 2,A
28279 LD A,126
28281 JR Z,28285
28283 ADD A,64
28285 ADD A,8
28287 DJNZ 28285
28289 LD (HL),A
28290 POP HL
28291 LD B,6
28293 SET 0,(HL)
28295 LD (HL),1
28297 INC H
28298 DJNZ 28293
28300 LD A,(28294)
28303 LD (28313),A
28306 SET 5,L
28308 LD H,80
28310 LD B,8
28312 SET 0,(HL)
28314 LD (HL),1
28316 INC H
28317 DJNZ 28312
28319 LD HL,(26349)
28322 LD H,82
28324 INC L
28325 INC L
28326 POP BC
28327 LD A,(26278)
28330 PUSH AF
28331 SUB 7
28333 DJNZ 28235
28335 POP AF
28336 LD A,(26260)
28339 BIT 2,A
28341 LD HL,24596
28344 JR Z,28349
28346 LD HL,24605
28349 LD DE,24955
28352 LD C,9
28354 LDIR
28356 LD A,(26278)
28359 OR A
28360 JR Z,28385
28362 LD B,A
28363 PUSH BC
28364 LD HL,24955
28367 LD B,9
28369 SLA (HL)
28371 INC HL
28372 BIT 7,(HL)
28374 DEC HL
28375 JR Z,28379
28377 SET 0,(HL)
28379 INC HL
28380 DJNZ 28369
28382 POP BC
28383 DJNZ 28363
28385 LD DE,(26349)
28389 LD D,80
28391 LD HL,24955
28394 LD B,3
28396 PUSH BC
28397 PUSH DE
28398 LD BC,3
28401 LDIR
28403 POP DE
28404 INC D
28405 POP BC
28406 DJNZ 28396
28408 LD H,80
28410 LD A,(26355)
28413 OR A
28414 JR Z,28421
28416 LD A,(26356)
28419 JR 28471
28421 DI
28422 LD A,(26358)
28425 CP 2
28427 JR NZ,28444
28429 IN A,(31)
28431 AND 3
28433 CP 2
28435 JR Z,28483
28437 CP 1
28439 JP Z,28637
28442 JR 28480
28444 CP 1
28446 JR NZ,28467
28448 LD A,247
28450 IN A,(254)
28452 BIT 4,A
28454 JR Z,28483
28456 LD A,239
28458 IN A,(254)
28460 BIT 2,A
28462 JP Z,28637
28465 JR 28480
28467 LD A,254
28469 IN A,(254)
28471 BIT 0,A
28473 JR Z,28483
28475 BIT 1,A
28477 JP Z,28637
28480 POP AF
28481 JR 28563
28483 POP AF
28484 CP 192
28486 JR NZ,28498
28488 LD A,(26278)
28491 CP 3
28493 JR Z,28563
28495 LD A,(26349)
28498 LD L,A
28499 LD B,2
28501 PUSH BC
28502 PUSH HL
28503 LD B,8
28505 PUSH BC
28506 PUSH HL
28507 LD B,3
28509 SLA (HL)
28511 INC HL
28512 BIT 7,(HL)
28514 DEC HL
28515 JR Z,28519
28517 SET 0,(HL)
28519 INC HL
28520 DJNZ 28509
28522 DEC HL
28523 RES 0,(HL)
28525 POP HL
28526 INC H
28527 POP BC
28528 DJNZ 28505
28530 POP HL
28531 SET 5,L
28533 POP BC
28534 DJNZ 28501
28536 LD A,(26278)
28539 CP 7
28541 JR Z,28546
28543 INC A
28544 JR 28547
28546 XOR A
28547 LD (26278),A
28550 OR A
28551 LD A,(26349)
28554 JR NZ,28557
28556 DEC A
28557 LD (26349),A
28560 CALL 27805
This entry point is used by the routine at DrawShip.
28563 LD A,(26276)
28566 OR A
28567 JP NZ,28720
28570 LD HL,(26349)
28573 LD A,(26259)
28576 OR A
28577 JR Z,28590
28579 LD A,(26260)
28582 BIT 2,A
28584 JR Z,28590
28586 LD A,7
28588 JR 28592
28590 LD A,70 A=INK:YELLOW, PAPER:BLACK(BRIGHT).
28592 LD B,2
28594 PUSH BC
28595 PUSH HL
28596 DEC L
28597 PUSH AF
28598 CP 70
28600 JR Z,28606
28602 CP 7
28604 JR NZ,28608
28606 LD (HL),0
28608 POP AF
28609 INC L
28610 LD B,3
28612 LD (HL),A
28613 INC HL
28614 DJNZ 28612
28616 PUSH AF
28617 LD A,(HL)
28618 CP 70
28620 JR Z,28626
28622 CP 7
28624 JR NZ,28628
28626 LD (HL),0
28628 POP AF
28629 POP HL
28630 SET 5,L
28632 POP BC
28633 DJNZ 28594
28635 JR 28720
28637 POP AF
28638 CP 221
28640 LD A,(26278)
28643 JR NZ,28648
28645 OR A
28646 JR Z,28563
28648 OR A
28649 JR Z,28654
28651 DEC A
28652 JR 28656
28654 LD A,7
28656 LD (26278),A
28659 CP 7
28661 LD A,(26349)
28664 JR NZ,28670
28666 INC A
28667 LD (26349),A
28670 PUSH AF
28671 ADD A,2
28673 LD L,A
28674 LD B,2
28676 PUSH BC
28677 PUSH HL
28678 LD B,8
28680 PUSH BC
28681 PUSH HL
28682 LD B,3
28684 SRL (HL)
28686 DEC HL
28687 BIT 0,(HL)
28689 RES 0,(HL)
28691 INC HL
28692 JR Z,28696
28694 SET 7,(HL)
28696 DEC HL
28697 DJNZ 28684
28699 INC HL
28700 RES 7,(HL)
28702 POP HL
28703 INC H
28704 POP BC
28705 DJNZ 28680
28707 POP HL
28708 SET 5,L
28710 POP BC
28711 DJNZ 28676
28713 POP AF
28714 CALL 27805
28717 JP 28563
28720 LD HL,26261
28723 LD A,(HL)
28724 CP 3
28726 JR NZ,28730
28728 LD (HL),255
28730 INC (HL)
28731 LD HL,26263
28734 LD B,1
This entry point is used by the routine at 28903.
28736 PUSH HL
28737 PUSH BC
28738 LD E,(HL)
28739 INC HL
28740 LD D,(HL)
28741 LD A,D
28742 OR D
28743 JP NZ,28903
28746 LD A,(26276)
28749 OR A
28750 JP NZ,29006
28753 LD A,(26259)
28756 OR A
28757 JP NZ,29006
28760 LD A,(26262)
28763 LD C,A
28764 LD A,(26355)
28767 OR A
28768 JR Z,28777
28770 CALL 26382
28773 AND 15
28775 JR 28805
Prev: 27849 Up: Map Next: 28777