← 98F7 Advance a buffer pointer down one 32-column row Map 990B → Render the tile map to the screen
98FE: Step a display-file pointer down one character row
Advances a pointer down one character row in the display-file third layout. The screen and the back buffer share that layout byte for byte.
The pointer comes back on the same column of the next character row. It carries across a screen-third boundary.
Input
HL pointer in display-file layout, at a cell's top pixel row
Output
HL same column, one character row down
display_down_char 98FE LD A,L Step L down one character row within the third.
98FF ADD A,$20
9901 LD L,A
9902 RLA Move the add's carry up into bit 3, four left-rotates in all. Mask it and apply it to H: a wrap enters the next third, and otherwise H stays put.
9903 RLA
9904 RLA
9905 RLA
9906 AND $08
9908 ADD A,H
9909 LD H,A
990A RET
← 98F7 Advance a buffer pointer down one 32-column row Map 990B → Render the tile map to the screen
Fork me on GitHub