Prev: E897 Up: Map Next: E8D2
E8BA: Fill a number of lines with an attribute
Used by the routines at 62A3, CA5B, D378, DD8D, E5E8, E84E, E897 and F470.
Input
A Attribute to fill in
DE co-ordinate to start
B Number of columns to fill
C Number of rows to fill
E8BA LD L,A Store the attribute.
E8BB CALL $E8E3 Get the attribute address from the co-ordinate in DE.
E8BE LD A,L Restore the attribute.
E8BF EX DE,HL Swap DE and HL.
E8C0 LD DE,$0020 Set 20 as the offset to move between rows.
E8C3 PUSH BC Remember the size and attribute address.
E8C4 PUSH HL
E8C5 LD (HL),A Fill this attribute with the value specified.
E8C6 INC L Move to the next column.
E8C7 DJNZ $E8C5 Repeat until all columns are done.
E8C9 POP HL Restore the attribute address.
E8CA AND A Clear the carry flag.
E8CB SBC HL,DE Move up a row. Note, this could have been done by setting DE to FFE0 and calling ADD HL,DE which saves a byte.
E8CD POP BC Restore the size.
E8CE DEC C Loop back if there are more rows to do.
E8CF JR NZ,$E8C3
E8D1 RET Otherwise return.
Prev: E897 Up: Map Next: E8D2