Prev: 46797 Up: Map Next: 46829
46813: Fill Window
Used by the routines at DrawChangedObjects and DisplayObjectsCarried.
Fills a rectangle of the buffer with a byte.
Input
A Byte to fill with
B Width in bytes
C Height in lines
HL Address in the buffer of the bottom left byte
Set the line length of the buffer.
FillWindow 46813 LD DE,32 Set DE to the length of a line of the buffer.
Fill one line, then step to the next.
FillWindow_NextLine 46816 PUSH BC Stash the counters and the start of the line on the stack.
46817 PUSH HL
FillWindow_NextByte 46818 LD (HL),A Write the byte.
46819 INC HL Move on to the next byte.
46820 DJNZ FillWindow_NextByte Decrease the width counter and loop until the line has been filled.
46822 POP HL Restore the start of the line from the stack.
46823 ADD HL,DE Move up to the next line.
46824 POP BC Restore the counters from the stack.
46825 DEC C Count down the lines and jump to FillWindow_NextLine until the rectangle is filled.
46826 JR NZ,FillWindow_NextLine
46828 RET Return.
View the equivalent code in;
Prev: 46797 Up: Map Next: 46829