![]() |
Routines |
Prev: 27849 | Up: Map | Next: 28777 |
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
![]() |
||||
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
![]() |
||||
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 |