![]() |
Routines |
DE | Base address of sprite UDG references |
HL | SRB address corresponding to top row of sprite |
27008 | LD B,4 | There are 4 rows (and 3 columns) in a sprite |
27010 | LD A,(DE) | Pick up a sprite UDG reference |
27011 | INC D | Next row of the sprite |
27012 | AND A | Is this the blank UDG? |
27013 | JR Z,27017 | Jump if so (no need to update this SRB byte) |
27015 | SET n,(HL) | Set the appropriate bit in the SRB byte; this instruction is modified by the routine at 25008 before this routine is called |
27017 | LD A,4 | Point HL at the byte of the SRB corresponding to the next row of the screen |
27019 | ADD A,L | |
27020 | LD L,A | |
27021 | DJNZ 27010 | Jump back until all 4 squares in the column are done |
27023 | BIT 3,D | Return with the zero flag reset if we have just updated the SRB for the rightmost column of the sprite |
27025 | RET |