![]() |
Routines |
| Prev: 46408 | Up: Map | Next: 46522 |
|
||||||||||||||||
| FillAttributeBlock | 46502 | PUSH BC | Stash the height, width, X/ Y position, attribute byte and (again) height and width on the stack. | |||||||||||||
| 46503 | PUSH HL | |||||||||||||||
| 46504 | PUSH AF | |||||||||||||||
| 46505 | PUSH BC | |||||||||||||||
|
Convert the X/ Y co-ordinates to an attribute buffer location.
|
||||||||||||||||
| 46506 | CALL CalculateAttributeBuffer | Call CalculateAttributeBuffer. | ||||||||||||||
| 46509 | POP BC | Restore the height, width and attribute byte from the stack. | ||||||||||||||
| 46510 | POP AF | |||||||||||||||
| 46511 | LD B,C | Copy the width into B as a counter. | ||||||||||||||
| FillAttributeBlock_RowLoop | 46512 | LD (HL),A | Write the attribute byte to the attribute buffer. | |||||||||||||
| 46513 | INC HL | Move the attribute buffer pointer right one position. | ||||||||||||||
| 46514 | DJNZ FillAttributeBlock_RowLoop | Decrease the width counter by one and loop back to FillAttributeBlock_RowLoop until this row has been coloured in. | ||||||||||||||
| 46516 | POP HL | Restore the original co-ordinates from the stack. | ||||||||||||||
| 46517 | INC H | Move down one row. | ||||||||||||||
| 46518 | POP BC | Restore the height and width from the stack. | ||||||||||||||
| 46519 | DJNZ FillAttributeBlock | Decrease the height counter by one and loop back to FillAttributeBlock until all rows have been coloured in. | ||||||||||||||
| 46521 | RET | Return. | ||||||||||||||
| Prev: 46408 | Up: Map | Next: 46522 |