![]() |
Routines |
| Prev: 62FF | Up: Map | Next: 63CB |
|
|
||||
| 630F | LD B,$02 | B=$02 | ||
| 6311 | PUSH BC | Stores BC on the stack | ||
| 6312 | XOR A | Clear A (sets to $00) | ||
| 6313 | LD ($5DF0),A | CURRENT_LEVEL=A | ||
| 6316 | LD A,$04 | A=Number of lives for 1UP on starting a game | ||
| 6318 | LD ($5DF1),A | Updates 1UP_CURRENT_LIVES with the number of starting lives | ||
| 631B | CALL LEVEL_INIT_3 | |||
| 631E | CALL LEVEL_INIT_14 | |||
| 6321 | POP BC | |||
| 6322 | DJNZ $6311 | Decrease B by one, jump to 6311 if not zero | ||
| 6324 | LD A,$05 | A=Number of lives for 2UP on starting a game | ||
| 6326 | LD ($5DF9),A | Updates 2UP_CURRENT_LIVES with the number of starting lives | ||
| 6329 | LD A,($5CF3) | A=GAME_TYPE | ||
| 632C | AND $01 | Return if this is a 2UP game | ||
| 632E | RET NZ | |||
| 632F | LD ($5DF9),A | Sets 2UP_CURRENT_LIVES to zero (as a 1UP game is in progress) | ||
| 6332 | RET | Return | ||
|
This entry point is used by the routine at LEVEL_INIT.
|
||||
| 6333 | LD HL,$5CF4 | HL=1UP_SCORE_1ST | ||
| 6336 | LD BC,$6000 | BC=6000 | ||
| 6339 | CALL CLEAR_PIXELS_0 | |||
| 633C | CALL $630F | |||
| 633F | CALL $698B | |||
| 6342 | CALL LEVEL_INIT_1 | |||
|
This entry point is used by the routine at 63DA.
|
||||
| 6345 | LD SP,$5CF0 | Change the stack pointer to HIGH_SCORE | ||
| 6348 | EI | Enable interrupts | ||
| 6349 | LD IX,$5D30 | IX=5D30 | ||
| 634D | XOR A | Clear A (sets to $00) | ||
| 634E | LD ($5DCB),A | Writes A to 5DCB | ||
|
This entry point is used by the routine at 63DA.
|
||||
| 6351 | LD A,($5C78) | |||
| 6354 | LD C,A | |||
| 6355 | LD A,($5DD4) | |||
| 6358 | CP C | |||
| 6359 | CALL NZ,$6965 | |||
| 635C | LD HL,$69A8 | |||
| 635F | PUSH HL | |||
| 6360 | LD HL,$6374 | |||
| 6363 | LD A,(IX+$00) | |||
| 6366 | RLCA | |||
| 6367 | AND $7E | |||
|
This entry point is used by the routine at 63DA.
|
||||
| 6369 | LD C,A | |||
| 636A | LD B,$00 | |||
| 636C | ADD HL,BC | |||
| 636D | LD A,(HL) | |||
| 636E | INC HL | |||
| 636F | LD H,(HL) | |||
| 6370 | LD L,A | |||
| 6371 | JP $5CB0 | |||
| 6374 | DEC DE | |||
| 6375 | LD L,C | |||
| 6376 | OR D | |||
| 6377 | LD (HL),E | |||
| 6378 | LD (HL),C | |||
| 6379 | LD (HL),L | |||
| 637A | OUT ($6D),A | |||
| 637C | RRA | |||
| 637D | LD H,L | |||
| 637E | PUSH AF | |||
| 637F | LD L,H | |||
| 6380 | CPL | |||
| 6381 | LD L,H | |||
| 6382 | JP C,$B163 | |||
| 6385 | LD L,B | |||
| 6386 | RLCA | |||
| 6387 | LD H,A | |||
| 6388 | RST $00 | |||
| 6389 | LD H,(HL) | |||
| 638A | EX DE,HL | |||
| 638B | LD H,(HL) | |||
| 638C | LD D,H | |||
| 638D | LD L,B | |||
| 638E | LD C,E | |||
| 638F | LD L,B | |||
| 6390 | SBC A,B | |||
| 6391 | LD H,H | |||
| 6392 | RST $28 | |||
| 6393 | LD L,D | |||
| 6394 | CALL M,$6C6F | |||
| 6397 | LD L,D | |||
|
This entry point is used by the routine at LEVEL_INIT.
|
||||
| 6398 | LD HL,($5CF4) | |||
| 639B | LD DE,($5CF7) | |||
| 639F | LD A,L | |||
| 63A0 | LD L,H | |||
| 63A1 | LD H,A | |||
| 63A2 | LD A,E | |||
| 63A3 | LD E,D | |||
| 63A4 | LD D,A | |||
| 63A5 | AND A | |||
| 63A6 | SBC HL,DE | |||
| 63A8 | JR C,COMPARE_2UP_SCORE | |||
| 63AA | JR NZ,COMPARE_1UP_SCORE | |||
| 63AC | LD A,($5CF6) | E=1UP_SCORE_3RD | ||
| 63AF | LD E,A | |||
| 63B0 | LD A,($5CF9) | Compare E with 2UP_SCORE_3RD | ||
| 63B3 | CP E | |||
| 63B4 | JR C,COMPARE_1UP_SCORE | Jump if carry flag is set to COMPARE_1UP_SCORE | ||
|
Tests to see if the highscore has been beaten by 2UP.
|
||||
| COMPARE_2UP_SCORE | 63B6 | LD HL,$5CF7 | HL=2UP_SCORE_1ST | |
|
This entry point is used by the routine at UPDATE_HIGHSCORE.
|
||||
| CHECK_HIGHSCORE | 63B9 | PUSH HL | Push HL onto the stack (see UPDATE_HIGHSCORE) | |
| 63BA | LD DE,$5CF0 | DE=HIGH_SCORE | ||
| 63BD | LD B,$03 | B=$03 | ||
| 63BF | LD A,(DE) | Compare A against HIGH_SCORE | ||
| 63C0 | CP (HL) | |||
| 63C1 | JR C,UPDATE_HIGHSCORE | If it's higher, update the highscore | ||
| 63C3 | JR NZ,$63C9 | Jump if not zero to 63C9 (so if it's less than the current highscore) | ||
| 63C5 | INC HL | Increase HL by one | ||
| 63C6 | INC DE | Increase DE by one | ||
| 63C7 | DJNZ $63BF | Decrease B by one, jump to 63BF if not zero | ||
| 63C9 | POP HL | Fetch HL off the stack (to clear it) | ||
| 63CA | RET | Return | ||
| Prev: 62FF | Up: Map | Next: 63CB |