![]() |
Routines |
| Prev: A064 | Up: Map | Next: A08D |
|
The attribute routine for an entity which has not moved. Every cell under the entity is set to the attribute of the entity, a row at a time working up from the bottom row.
|
||||||||||||||
| AttrDrawUnchanged | A07A | POP HL | Restore the attribute address from the stack. | |||||||||||
|
This entry point is used by the routine at AttrDrawMovingUp.
|
||||||||||||||
| AttrDrawUnchanged_Row | A07B | PUSH BC | Stash the width and the number of rows on the stack. | |||||||||||
| A07C | PUSH HL | Stash the attribute address on the stack. | ||||||||||||
| AttrDrawUnchanged_Cell | A07D | LD (HL),D | Write the attribute of the entity to the cell. | |||||||||||
| A07E | INC L | Move to the next cell. | ||||||||||||
| A07F | DJNZ AttrDrawUnchanged_Cell | Decrease the width by one and loop back to AttrDrawUnchanged_Cell until the row is done. | ||||||||||||
| A081 | POP HL | Restore the attribute address from the stack. | ||||||||||||
| A082 | LD BC,$0020 | BC=0020. | ||||||||||||
| A085 | AND A | Move up a row. | ||||||||||||
| A086 | SBC HL,BC | |||||||||||||
| A088 | POP BC | Restore the width and the number of rows from the stack. | ||||||||||||
| A089 | DEC C | Decrease the number of rows by one and loop back to AttrDrawUnchanged_Row until all of the rows have been set. | ||||||||||||
| A08A | JR NZ,AttrDrawUnchanged_Row | |||||||||||||
| A08C | RET | Return. | ||||||||||||
| Prev: A064 | Up: Map | Next: A08D |