Prev: 70E3 Up: Map Next: 7192
711C: Scoring Display Routines
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