Prev: A6E1 Up: Map Next: A75C
A733: Draw Aligned Row In Buffer
Draws one row of a sprite that is aligned to a byte into the buffer used by DrawSprites. The entry point depends on the width of the sprite in bytes, from six bytes at DrawAlignedRowInBuffer to one byte at A74C.
Input
DE Address of the data of the sprite
HL Address in the buffer
DrawAlignedRowInBuffer A733 LD A,(DE) Fetch a byte of the sprite.
A734 OR (HL) Set the pixels of the buffer.
A735 LD (HL),A Store the byte.
A736 INC DE Move on to the next byte of the sprite.
A737 INC L Move on to the next byte of the buffer.
A738 LD A,(DE) Fetch a byte of the sprite.
A739 OR (HL) Set the pixels of the buffer.
A73A LD (HL),A Store the byte.
A73B INC DE Move on to the next byte of the sprite.
A73C INC L Move on to the next byte of the buffer.
A73D LD A,(DE) Fetch a byte of the sprite.
A73E OR (HL) Set the pixels of the buffer.
A73F LD (HL),A Store the byte.
A740 INC DE Move on to the next byte of the sprite.
A741 INC L Move on to the next byte of the buffer.
A742 LD A,(DE) Fetch a byte of the sprite.
A743 OR (HL) Set the pixels of the buffer.
A744 LD (HL),A Store the byte.
A745 INC DE Move on to the next byte of the sprite.
A746 INC L Move on to the next byte of the buffer.
A747 LD A,(DE) Fetch a byte of the sprite.
A748 OR (HL) Set the pixels of the buffer.
A749 LD (HL),A Store the byte.
A74A INC DE Move on to the next byte of the sprite.
A74B INC L Move on to the next byte of the buffer.
A74C LD A,(DE) Fetch a byte of the sprite.
A74D OR (HL) Set the pixels of the buffer.
A74E LD (HL),A Store the byte.
A74F INC DE Move on to the next byte of the sprite.
A750 LD A,$00 Fetch the amount to skip, which was set at A485.
A752 ADD A,L Add it to the address in the buffer.
A753 LD L,A Store it in L.
A754 EX AF,AF' Switch to the count of rows.
A755 DEC A Take one off.
A756 JP Z,DrawSprites_Dissolve Jump to DrawSprites_Dissolve to finish when there are none left.
A759 EX AF,AF' Switch back.
A75A JP (IX) Draw the next row.
Prev: A6E1 Up: Map Next: A75C