![]() |
Routines |
| Prev: 8093 | Up: Map | Next: 80AA |
|
Used by the routines at DRAW_ROOM and PAINT_PANEL.
The general form of CLEAR_PLAY_AREA above, which falls into it. Because it steps by a fixed 32 bytes per row rather than doing any display-file address arithmetic, "rows" here means consecutive 32-byte rows of the display file, not screen lines -- walking $4000 upwards covers the interleaved thirds in the order they are stored.
|
||||||||||||||
| FILL_BLOCK | 809A | PUSH BC | Both are needed again on the next row, so they are saved rather than recomputed. | |||||||||||
| 809B | PUSH HL | |||||||||||||
| 809C | LD DE,$0020 | One display-file row is 32 bytes. | ||||||||||||
| FILL_BLOCK_0 | 809F | LD (HL),A | Fill B bytes across. | |||||||||||
| 80A0 | INC HL | |||||||||||||
| 80A1 | DJNZ FILL_BLOCK_0 | |||||||||||||
| 80A3 | POP HL | |||||||||||||
| 80A4 | ADD HL,DE | Step down to the next row. | ||||||||||||
| 80A5 | POP BC | |||||||||||||
| 80A6 | DEC C | |||||||||||||
| 80A7 | JR NZ,FILL_BLOCK | |||||||||||||
| 80A9 | RET | |||||||||||||
| Prev: 8093 | Up: Map | Next: 80AA |