Prev: B29F Up: Map Next: B304
B2D8: Clear Panel
Used by the routines at HandlerHallOfFame, HallOfFame and NewHighScore_Enter.
Clears the panel which is used for the hall of fame and for entering a new high score. The panel is 18 characters wide, 10 characters high and starts at column 04 of row 05. The attributes are set to 00 and the pixels are set to zero.
Before After HallOfFame_Clear
clear-panel-before clear-panel-after
Clear the attributes.
HallOfFame_Clear B2D8 LD HL,$58A4 Point HL at the first attribute of the panel.
B2DB LD BC,$1810 BC=1810 (B is the width and C is the number of rows).
B2DE LD DE,$0020 DE=0020 (the number of bytes to the next row).
HallOfFame_Clear_Attribute_Rows B2E1 PUSH BC Stash the counters on the stack.
B2E2 PUSH HL Stash the start of the row on the stack.
HallOfFame_Clear_Attribute_Row B2E3 LD (HL),$00 Clear the attribute.
B2E5 INC L Move to the next column.
B2E6 DJNZ HallOfFame_Clear_Attribute_Row Decrease B by one and loop back to HallOfFame_Clear_Attribute_Row until the row is done.
B2E8 POP HL Restore the start of the row from the stack.
B2E9 ADD HL,DE Move down to the next row.
B2EA POP BC Restore the counters from the stack.
B2EB DEC C Decrease the row counter by one and loop back to HallOfFame_Clear_Attribute_Rows until all of the rows are done.
B2EC JR NZ,HallOfFame_Clear_Attribute_Rows
Clear the pixels.
B2EE LD HL,$40A4 Point HL at the first pixel line of the panel.
B2F1 LD BC,$1880 BC=1880 (B is the width and C is the number of pixel lines).
HallOfFame_Clear_Pixel_Lines B2F4 PUSH BC Stash the counters on the stack.
B2F5 PUSH HL Stash the start of the pixel line on the stack.
HallOfFame_Clear_Pixel_Line B2F6 LD (HL),$00 Clear a byte of the pixel line.
B2F8 INC L Move to the next column.
B2F9 DJNZ HallOfFame_Clear_Pixel_Line Decrease B by one and loop back to HallOfFame_Clear_Pixel_Line until the line is done.
B2FB POP HL Restore the start of the pixel line from the stack.
B2FC CALL ScreenPosition1PixelBelow Move down to the next pixel line.
B2FF POP BC Restore the counters from the stack.
B300 DEC C Decrease the pixel line counter by one and loop back to HallOfFame_Clear_Pixel_Lines until all of the pixel lines are done.
B301 JR NZ,HallOfFame_Clear_Pixel_Lines
B303 RET Return.
Prev: B29F Up: Map Next: B304