Routines |
Prev: 58977 | Up: Map | Next: 59010 |
Used by the routines at Controls_CheckRight and Controls_CheckLeft.
|
||||
Home_DefaultAttributes | 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. | ||
Home_DefaultAttributes_Loop | 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 Home_DefaultAttributes_Loop | Decrease the row counter by one and loop back to Home_DefaultAttributes_Loop until all the rows have been updated. | ||
59009 | RET | Return. |
Prev: 58977 | Up: Map | Next: 59010 |