![]() |
Routines |
| Prev: E3AC | Up: Map | Next: E3D7 |
|
Used by the routine at DrawFrame.
Draws a horizontal bar of four rows for the frame, with each row as wide as the frame.
|
||||||||||
| DrawFrameBar | E3BD | LD L,(IX+$00) | Fetch the x position of the frame into L. | |||||||
| E3C0 | LD C,$04 | Set the number of pixel lines in the bar to 04. | ||||||||
| E3C2 | CALL GetScreenAddress | Convert the position into a screen address. | ||||||||
| DrawFrameBar_Loop | E3C5 | LD B,(IX+$02) | Fetch the width of the frame in bytes. | |||||||
| DrawFrameBar_Loop2 | E3C8 | LD (HL),$FF | Draw a byte of the bar. | |||||||
| E3CA | INC L | Move onto the next byte. | ||||||||
| E3CB | DJNZ DrawFrameBar_Loop2 | Repeat until the line is drawn. | ||||||||
| E3CD | LD A,L | Copy the screen address into A. | ||||||||
| E3CE | SUB (IX+$02) | Subtract the width of the frame. | ||||||||
| E3D1 | LD L,A | Copy it back into L, to return to the start of the line. | ||||||||
| E3D2 | DEC H | Move up a pixel line. | ||||||||
| E3D3 | DEC C | Decrease the number of pixel lines by one. | ||||||||
| E3D4 | JR NZ,DrawFrameBar_Loop | Repeat until the bar is drawn. | ||||||||
| E3D6 | RET | Return. | ||||||||
| Prev: E3AC | Up: Map | Next: E3D7 |