← 987B Print a font string at double height Map 98E0 → Draw one glyph to a display-file cell and color it
98C0: Move a screen address down one pixel line
Advances HL to the next pixel row of the ZX display.
Input
HL display-file address of a pixel row
Output
HL display-file address of the same column, one pixel row down
screen_down_pixel 98C0 LD A,H Take the pixel row within the cell (low 3 bits of H).
98C1 AND $07
98C3 CP $07
98C5 JP Z,screen_down_pixel_0
98C8 INC H Still inside the cell: just step one pixel row.
98C9 RET
screen_down_pixel_0 98CA LD A,L At a cell boundary: are we also at a third boundary?
98CB AND $E0
98CD CP $E0
98CF JR Z,screen_down_pixel_1
98D1 LD A,H Same third: drop to the cell base and add one character row.
98D2 SUB $07
98D4 LD H,A
98D5 LD A,L
98D6 ADD A,$20
98D8 LD L,A
98D9 RET
screen_down_pixel_1 98DA LD A,L Crossed a third: wrap the low byte and step into the next third.
98DB SUB $E0
98DD LD L,A
98DE INC H
98DF RET
← 987B Print a font string at double height Map 98E0 → Draw one glyph to a display-file cell and color it
Fork me on GitHub