Prev: 9BA2 Up: Map Next: 9BD2
9BC1: Step a screen address down one pixel row
The standard Spectrum move: bump the row within the character cell, and only when that carries out of three bits step L on by 32 and take 8 off H to get back into the right third of the screen.
Nothing calls it. There is no CALL or JP to NEXT_PIXEL_ROW anywhere in the game, and it is not in any of the jump tables; the drawing routines all compute a fresh address through PIXEL_TO_SCREEN instead. It disassembles cleanly and ends in a RET, so it is a routine, just not one that runs.
NEXT_PIXEL_ROW 9BC1 INC H
9BC2 LD A,H Still inside the cell -- nothing else to do.
9BC3 AND $07
9BC5 RET NZ
9BC6 LD A,L Down to the next character row...
9BC7 ADD A,$20
9BC9 LD L,A
9BCA AND $E0 ...and if that did not wrap, the third is unchanged.
9BCC RET Z
9BCD LD A,H
9BCE SUB $08
9BD0 LD H,A
9BD1 RET
Prev: 9BA2 Up: Map Next: 9BD2