![]() |
Routines |
| Prev: 70E3 | Up: Map | Next: 7192 |
|
Used by the routine at LEVEL_INIT.
|
||||
|
Point to Player 1 score and display
|
||||
| DISPLAY_1UP_SCORE | 711C | LD HL,$4021 | HL=Screen location for output | |
| 711F | LD DE,$5CF4 | DE=1UP_SCORE_1ST | ||
| 7122 | JR DISPLAY_SCORE | Generate scores and output to screen | ||
|
Point to Player 2 score and display
|
||||
| DISPLAY_2UP_SCORE | 7124 | LD HL,$4039 | HL=Screen location for output | |
| 7127 | LD DE,$5CF7 | DE=2UP_SCORE_1ST | ||
| 712A | JR DISPLAY_SCORE | Generate scores and output to screen | ||
|
Point to Highscore and display
|
||||
| DISPLAY_HIGHSCORE | 712C | LD HL,$402D | HL=Screen location for output | |
| 712F | LD DE,$5CF0 | DE=HIGH_SCORE | ||
|
Display routine
|
||||
| DISPLAY_SCORE | 7132 | LD B,$03 | B=3 | |
| DISPLAY_SCORE_LOOP | 7134 | LD A,(DE) | A=Loads the accumulator with the contents of DE | |
| 7135 | RRCA | A=Shift 4 bits to the right | ||
| 7136 | RRCA | |||
| 7137 | RRCA | |||
| 7138 | RRCA | |||
| 7139 | AND $0F | |||
| 713B | ADD A,$30 | Adds $30 to A | ||
| 713D | CALL DISPLAY_1UP_SCORE_0 | Call routine @DISPLAY_1UP_SCORE_0 | ||
| 7140 | LD A,(DE) | Loads A with the contents of the memory location held by DE | ||
| 7141 | AND $0F | |||
| 7143 | ADD A,$30 | Adds $30 to A | ||
| 7145 | CALL DISPLAY_1UP_SCORE_0 | Call routine @DISPLAY_1UP_SCORE_0 | ||
| 7148 | INC DE | Increments DE by one | ||
| 7149 | DJNZ DISPLAY_SCORE_LOOP | Decrease B by one, and loop back to DISPLAY_SCORE_LOOP until zero | ||
| 714B | RET | Return | ||
|
This entry point is used by the routine at 63DA.
|
||||
| DISPLAY_1UP_SCORE_0 | 714C | PUSH BC | Push BC, DE and HL onto the stack | |
| 714D | PUSH DE | |||
| 714E | PUSH HL | |||
| 714F | LD L,A | L=A | ||
| 7150 | LD H,$00 | H=$00 | ||
| 7152 | ADD HL,HL | Add HL to itself 3 times | ||
| 7153 | ADD HL,HL | |||
| 7154 | ADD HL,HL | |||
| 7155 | LD DE,($5C36) | DE=5C36 | ||
| 7159 | ADD HL,DE | Add DE to HL | ||
| 715A | EX DE,HL | Exchanges HL with DE | ||
| 715B | POP HL | Fetch HL off the stack | ||
|
This entry point is used by the routine at 63DA.
|
||||
| DISPLAY_1UP_SCORE_1 | 715C | LD B,$08 | B=$08 | |
|
This entry point is used by the routine at CLEAR_PIXELS.
|
||||
| DISPLAY_1UP_SCORE_2 | 715E | LD A,(DE) | ||
| 715F | LD (HL),A | |||
| 7160 | INC DE | |||
| 7161 | INC H | |||
| 7162 | DJNZ DISPLAY_1UP_SCORE_2 | Decrease B by one, and loop back to DISPLAY_1UP_SCORE_2 until zero | ||
| 7164 | POP DE | Fetch DE and BC back off the stack | ||
| 7165 | POP BC | |||
| 7166 | LD A,H | |||
| 7167 | SUB $08 | |||
| 7169 | LD H,A | |||
| 716A | INC L | |||
| 716B | RET | Return | ||
|
This entry point is used by the routines at LEVEL_INIT and SCORE_LABELS.
|
||||
| DISPLAY_1UP_SCORE_3 | 716C | PUSH HL | ||
| 716D | CALL CLEAR_PIXELS_28 | |||
| 7170 | LD A,(DE) | |||
| 7171 | EX AF,AF' | |||
| 7172 | INC DE | |||
| 7173 | EXX | |||
| 7174 | POP HL | |||
| 7175 | CALL CLEAR_PIXELS_7 | |||
|
This entry point is used by the routine at 62FF.
|
||||
| DISPLAY_1UP_SCORE_4 | 7178 | EXX | Exchange BC, DE, and HL with shadow registers with BC', DE', and HL' | |
| 7179 | LD A,(DE) | |||
| 717A | BIT 7,A | |||
| 717C | JR NZ,DISPLAY_1UP_SCORE_5 | |||
| 717E | CALL DISPLAY_1UP_SCORE_0 | |||
| 7181 | INC DE | |||
| 7182 | EXX | |||
| 7183 | EX AF,AF' | |||
| 7184 | LD (HL),A | |||
| 7185 | INC L | |||
| 7186 | EX AF,AF' | |||
| 7187 | JR DISPLAY_1UP_SCORE_4 | |||
| DISPLAY_1UP_SCORE_5 | 7189 | AND $7F | ||
| 718B | CALL DISPLAY_1UP_SCORE_0 | |||
| 718E | EXX | |||
| 718F | EX AF,AF' | |||
| 7190 | LD (HL),A | |||
| 7191 | RET | Return | ||
| Prev: 70E3 | Up: Map | Next: 7192 |