Routines |
Prev: 58977 | Up: Map | Next: 59010 |
Used by the routine at 58262.
|
||||
58986 | LD DE,22562 | DE=22562 (attribute buffer location). | ||
58989 | LD HL,59043 | HL=HomeAttributes. | ||
The home block is 4x4 (4 rows of 4 bytes) but not all of it cycles attributes. Only 3x4 is used here.
|
||||
58992 | LD B,4 | Set a counter in B for 4 rows. | ||
58994 | PUSH BC | Stash the row counter on the stack. | ||
58995 | LD BC,3 | Copy 0003 bytes from the attribute buffer to HomeAttributes. | ||
58998 | LDIR | |||
One full row is 32 bytes, so this is 3 bytes less than one row. Hence this moves down one row, but back to the start of the line.
|
||||
59000 | EX DE,HL | Add 0029 to the attribute buffer position. | ||
59001 | LD BC,29 | |||
59004 | ADD HL,BC | |||
59005 | EX DE,HL | |||
59006 | POP BC | Restore the row counter from the stack. | ||
59007 | DJNZ 58994 | Decrease the row counter by one and loop back to 58994 until all the rows have been updated. | ||
59009 | RET | Return. |
Prev: 58977 | Up: Map | Next: 59010 |