![]() |
Routines |
| Prev: 8BA5 | Up: Map | Next: 8C01 |
|
Used by the routine at LevelNew.
|
||||
| DrawHUDPanel | 8BBB | LD HL,($5E04) | HL=FontPointer. | |
| 8BBE | PUSH HL | Stash HL on the stack. | ||
| 8BBF | LD HL,$DD97 | Write UDG_Tiles to FontPointer. | ||
| 8BC2 | LD ($5E04),HL | |||
|
The panel is printed like a font.
|
||||
| 8BC5 | LD BC,$1E03 | BC=1E03. | ||
| 8BC8 | LD DE,$DE5F | DE=HUDPanelLayoutData. | ||
| 8BCB | LD HL,$4041 | HL=4041 (screen buffer location). | ||
| DrawHUDPanel_Pixel_Row | 8BCE | PUSH BC | ||
| 8BCF | PUSH HL | |||
| DrawHUDPanel_Pixel_Column | 8BD0 | LD A,(DE) | ||
| 8BD1 | INC DE | |||
| 8BD2 | ADD A,$20 | |||
| 8BD4 | CALL PrintScreen | |||
| 8BD7 | DJNZ DrawHUDPanel_Pixel_Column | |||
| 8BD9 | POP HL | |||
| 8BDA | LD BC,$0020 | |||
| 8BDD | ADD HL,BC | |||
| 8BDE | POP BC | |||
| 8BDF | DEC C | |||
| 8BE0 | JR NZ,DrawHUDPanel_Pixel_Row | |||
|
Now write the attribute bytes.
|
||||
| 8BE2 | LD DE,$DEB9 | DE=HUDPanelAttributes. | ||
| 8BE5 | LD HL,$5841 | HL=5841 (attribute buffer location). | ||
| 8BE8 | LD BC,$1E03 | BC=1E03. | ||
| DrawHUDPanel_Attribute_Row | 8BEB | PUSH BC | ||
| 8BEC | PUSH HL | |||
| DrawHUDPanel_Attribute_Column | 8BED | LD A,(DE) | ||
| 8BEE | INC DE | |||
| 8BEF | LD (HL),A | |||
| 8BF0 | INC L | |||
| 8BF1 | DJNZ DrawHUDPanel_Attribute_Column | |||
| 8BF3 | POP HL | |||
| 8BF4 | LD BC,$0020 | |||
| 8BF7 | ADD HL,BC | |||
| 8BF8 | POP BC | |||
| 8BF9 | DEC C | |||
| 8BFA | JR NZ,DrawHUDPanel_Attribute_Row | |||
|
Restore the old font pointer.
|
||||
| 8BFC | POP HL | Restore HL from the stack. | ||
| 8BFD | LD ($5E04),HL | Write HL back to FontPointer. | ||
| 8C00 | RET | Return. | ||
| Prev: 8BA5 | Up: Map | Next: 8C01 |