Prev: 8BA5 Up: Map Next: 8C01
8BBB: Draw HUD Panel
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.
View the equivalent code in;
Prev: 8BA5 Up: Map Next: 8C01