Prev: D08F Up: Map Next: D0BD
D0B9: Start a row of a sprite
Used by the routines at CALC_PIXEL_XY_AND_RENDER and SPRITE_SHIFTED_RUN.
The row count goes to A', and A takes the first buffer byte: the shifted units of SPRITE_SHIFTED_RUN expect the byte they are finishing to be in A already. The JR's offset is patched by CALC_PIXEL_XY_AND_RENDER for every sprite, into the aligned run at SPRITE_ALIGNED_RUN or the shifted one at SPRITE_SHIFTED_RUN; as it stands in the listing, an offset of $FE, it is a JR to itself. Knight Lore's sprite_row and sprite_row_jump.
Input
A the rows left
BC the buffer byte the row starts at
SPRITE_ROW D0B9 EX AF,AF' The count to A'; the first buffer byte
D0BA LD A,(BC)
SPRITE_ROW_JUMP D0BB JR SPRITE_ROW_JUMP Offset patched: into one of the unrolled runs
Prev: D08F Up: Map Next: D0BD