Prev: B902 Up: Map Next: B951
B931: Clear Banner
Used by the routine at PrintBanner.
Clear_Banner B931 PUSH HL Stash HL, BC and DE on the stack.
B932 PUSH BC
B933 PUSH DE
B934 LD IX,$81F8 IX=ScreenBuffer_Locations.
We're not clearing the whole screen buffer, just 20 rows.
B938 LD C,$20 C=20 (row counter).
Fetch the screen buffer location.
Clear_Banner_Vertical_Loop B93A LD L,(IX+$00) L=*IX+00.
B93D LD H,(IX+$01) H=*IX+01.
Clear the current row.
B940 LD B,$20 B=20 (column counter).
Clear_Banner_Horizontal_Loop B942 LD (HL),$00 Write 00 to HL.
B944 INC HL Increment HL by one.
B945 DJNZ Clear_Banner_Horizontal_Loop Decrease column counter by one and loop back to Clear_Banner_Horizontal_Loop until counter is zero.
Move onto the next screen buffer location.
B947 INC IX Increment IX by two.
B949 INC IX
B94B DEC C Decrease the row counter held in C by one.
B94C JR NZ,Clear_Banner_Vertical_Loop Jump to Clear_Banner_Vertical_Loop until C is zero.
B94E JP StackRestore Jump to StackRestore.
Prev: B902 Up: Map Next: B951