![]() |
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 |