![]() |
Routines |
| Prev: 9BA2 | Up: Map | Next: 9BD2 |
|
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 |