Prev: 45727 Up: Map Next: 45828
45784: 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 24 characters wide, 16 characters high and starts at column 4 of row 5. The attributes are set to 0 and the pixels are set to zero.
Before After HallOfFame_Clear
clear-panel-before clear-panel-after
Clear the attributes.
HallOfFame_Clear 45784 LD HL,22692 Point HL at the first attribute of the panel.
45787 LD BC,6160 BC=6160 (B is the width and C is the number of rows).
45790 LD DE,32 DE=0032 (the number of bytes to the next row).
HallOfFame_Clear_Attribute_Rows 45793 PUSH BC Stash the counters on the stack.
45794 PUSH HL Stash the start of the row on the stack.
HallOfFame_Clear_Attribute_Row 45795 LD (HL),0 Clear the attribute.
45797 INC L Move to the next column.
45798 DJNZ HallOfFame_Clear_Attribute_Row Decrease B by one and loop back to HallOfFame_Clear_Attribute_Row until the row is done.
45800 POP HL Restore the start of the row from the stack.
45801 ADD HL,DE Move down to the next row.
45802 POP BC Restore the counters from the stack.
45803 DEC C Decrease the row counter by one and loop back to HallOfFame_Clear_Attribute_Rows until all of the rows are done.
45804 JR NZ,HallOfFame_Clear_Attribute_Rows
Clear the pixels.
45806 LD HL,16548 Point HL at the first pixel line of the panel.
45809 LD BC,6272 BC=6272 (B is the width and C is the number of pixel lines).
HallOfFame_Clear_Pixel_Lines 45812 PUSH BC Stash the counters on the stack.
45813 PUSH HL Stash the start of the pixel line on the stack.
HallOfFame_Clear_Pixel_Line 45814 LD (HL),0 Clear a byte of the pixel line.
45816 INC L Move to the next column.
45817 DJNZ HallOfFame_Clear_Pixel_Line Decrease B by one and loop back to HallOfFame_Clear_Pixel_Line until the line is done.
45819 POP HL Restore the start of the pixel line from the stack.
45820 CALL ScreenPosition1PixelBelow Move down to the next pixel line.
45823 POP BC Restore the counters from the stack.
45824 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.
45825 JR NZ,HallOfFame_Clear_Pixel_Lines
45827 RET Return.
Prev: 45727 Up: Map Next: 45828