![]() |
Routines |
| Prev: 7D2F | Up: Map | Next: 7D48 |
|
This plots the specified glyph at the given screen address.
Used by the routine at wipe_message.
Note: This will only work for screen addresses that stay within their respective third of the screen.
|
||||||||||||||||
| plot_single_glyph | 7D30 | PUSH HL | Preserve HL | |||||||||||||
| 7D31 | LD L,A | Point HL at the bitmap glyph we want to plot | ||||||||||||||
| 7D32 | LD H,$00 | |||||||||||||||
| 7D34 | ADD HL,HL | |||||||||||||||
| 7D35 | ADD HL,HL | |||||||||||||||
| 7D36 | ADD HL,HL | |||||||||||||||
| 7D37 | LD BC,$A69E | |||||||||||||||
| 7D3A | ADD HL,BC | |||||||||||||||
| 7D3B | PUSH DE | Preserve DE so we can return it incremented later | ||||||||||||||
| 7D3C | LD B,$08 | 8 rows | ||||||||||||||
| glyph_loop | 7D3E | LD A,(HL) | Plot a byte (a row) of bitmap glyph | |||||||||||||
| 7D3F | LD (DE),A | |||||||||||||||
| 7D40 | INC D | Move down to the next scanline (DE increases by 256) | ||||||||||||||
| 7D41 | INC HL | Move to the next byte of the bitmap glyph | ||||||||||||||
| 7D42 | DJNZ glyph_loop | ...loop until the glyph is drawn | ||||||||||||||
| 7D44 | POP DE | Restore and point DE at the next character position to the right | ||||||||||||||
| 7D45 | INC DE | |||||||||||||||
| 7D46 | POP HL | Restore HL | ||||||||||||||
| 7D47 | RET | Return | ||||||||||||||
| Prev: 7D2F | Up: Map | Next: 7D48 |