Prev: 42616 Up: Map Next: 42721
42674: Erase Aligned Row In Buffer
Erases one row of a sprite that is aligned to a byte from the buffer used by DrawSprites. The entry point depends on the width of the sprite in bytes, from six bytes at EraseAlignedRowInBuffer to one byte at 42704.
Input
DE' Address of the data of the sprite
HL' Address in the buffer
EraseAlignedRowInBuffer 42674 LD A,(DE) Fetch a byte of the sprite.
42675 CPL Invert it.
42676 AND (HL) Clear the pixels of the buffer.
42677 LD (HL),A Store the byte.
42678 INC DE Move on to the next byte of the sprite.
42679 INC L Move on to the next byte of the buffer.
42680 LD A,(DE) Fetch a byte of the sprite.
42681 CPL Invert it.
42682 AND (HL) Clear the pixels of the buffer.
42683 LD (HL),A Store the byte.
42684 INC DE Move on to the next byte of the sprite.
42685 INC L Move on to the next byte of the buffer.
42686 LD A,(DE) Fetch a byte of the sprite.
42687 CPL Invert it.
42688 AND (HL) Clear the pixels of the buffer.
42689 LD (HL),A Store the byte.
42690 INC DE Move on to the next byte of the sprite.
42691 INC L Move on to the next byte of the buffer.
42692 LD A,(DE) Fetch a byte of the sprite.
42693 CPL Invert it.
42694 AND (HL) Clear the pixels of the buffer.
42695 LD (HL),A Store the byte.
42696 INC DE Move on to the next byte of the sprite.
42697 INC L Move on to the next byte of the buffer.
42698 LD A,(DE) Fetch a byte of the sprite.
42699 CPL Invert it.
42700 AND (HL) Clear the pixels of the buffer.
42701 LD (HL),A Store the byte.
42702 INC DE Move on to the next byte of the sprite.
42703 INC L Move on to the next byte of the buffer.
42704 LD A,(DE) Fetch a byte of the sprite.
42705 CPL Invert it.
42706 AND (HL) Clear the pixels of the buffer.
42707 LD (HL),A Store the byte.
42708 INC DE Move on to the next byte of the sprite.
42709 LD A,0 Fetch the amount to skip, which was set at 42077.
42711 ADD A,L Add it to the address in the buffer.
42712 LD L,A Store it in L.
42713 EX AF,AF' Switch to the count of rows.
42714 DEC A Take one off.
42715 JP Z,DrawSprites_Draw Jump to DrawSprites_Draw to draw the second sprite when there are none left.
42718 EX AF,AF' Switch back.
42719 JP (IY) Erase the next row.
Prev: 42616 Up: Map Next: 42721