Prev: CA55 Up: Map Next: CAE5
CA9D: Draw Frame
Used by the routines at DisplayMenu and GameOver.
Draws the frame around the whole screen, in yellow on blue.
After DrawFrame
screen-frame
Set the colour and the font.
DrawFrame CA9D LD A,$4E Use bright yellow ink on blue paper (attribute 4E), and keep it in AF'.
CA9F EX AF,AF'
CAA0 LD HL,$BB0A Set the font to the characters of the border.
CAA3 LD ($BBAC),HL
CAA6 LD DE,$CAE5 Point at the characters of the border.
Draw the four corners.
CAA9 LD HL,$4000 Draw the top left corner at 4000 (in the screen buffer).
CAAC CALL PrintCharacterBlock
CAAF LD HL,$401E Draw the top right corner at 401E (in the screen buffer).
CAB2 CALL PrintCharacterBlock
CAB5 LD HL,$50C0 Draw the bottom left corner at 50C0 (in the screen buffer).
CAB8 CALL PrintCharacterBlock
CABB LD HL,$50DE Draw the bottom right corner at 50DE (in the screen buffer).
CABE CALL PrintCharacterBlock
Draw the top and bottom edges.
CAC1 LD HL,$4002 Draw the top edge, fourteen blocks long, at 4002 (in the screen buffer).
CAC4 LD B,$0E
CAC6 CALL DrawHorizontalEdge
CAC9 LD HL,$50C2 Draw the bottom edge, fourteen blocks long, at 50C2 (in the screen buffer).
CACC LD B,$0E
CACE CALL DrawHorizontalEdge
Draw the sides.
CAD1 INC DE Point at the characters of the sides.
CAD2 INC DE
CAD3 INC DE
CAD4 INC DE
CAD5 LD HL,$4040 Draw the left edge, ten blocks long, at 4040 (in the screen buffer).
CAD8 LD B,$0A
CADA CALL DrawVerticalEdge
CADD LD HL,$405E Draw the right edge, ten blocks long, at 405E (in the screen buffer).
CAE0 LD B,$0A
CAE2 JP DrawVerticalEdge
Prev: CA55 Up: Map Next: CAE5