Prev: 58977 Up: Map Next: 59010
58986: Set Home To Default Attributes
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