![]() |
Routines |
| Prev: CA55 | Up: Map | Next: CAE5 |
|
Used by the routines at DisplayMenu and GameOver.
Draws the frame around the whole screen, in yellow on blue.
|
||||||
|
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 |