Prev: BE93 Up: Map Next: BEB2
BE94: Unused: Draw 2-Wide Sprite With Attributes
Unused alternative routine to draw a 2-wide sprite and apply its attributes in a single pass.
Unused_Draw_2Wide BE94 LD B,$08 Set the row counter to 08 in B.
Unused_Draw_2Wide_Row_Loop BE96 LD A,(DE) OR the sprite data byte from *DE onto the first screen column at *HL.
BE97 OR (HL)
BE98 LD (HL),A
BE99 INC L Advance to the next column and OR the next sprite byte onto the second column.
BE9A INC DE
BE9B LD A,(DE)
BE9C OR (HL)
BE9D LD (HL),A
BE9E DEC L Move back to the first column and advance the sprite data pointer.
BE9F INC DE
BEA0 INC H Move down one pixel row in the screen buffer.
BEA1 LD A,H Check if the pixel row has crossed a character boundary.
BEA2 AND C
BEA3 CALL Z,$BD67 Call BD67 to adjust the screen address if needed.
BEA6 DJNZ $BE96 Decrease the row counter and loop back to Unused_Draw_2Wide_Row_Loop until all 08 rows are drawn.
Apply attributes for the 2-wide sprite.
BEA8 LD D,$01 Set D to 01 (flag: two columns wide).
BEAA POP HL Restore the screen address from the stack.
BEAB LD E,(IX+$00) Load the sprite X position from *IX+00 into E.
BEAE CALL $BECA Call Unused_Apply_Attributes to apply the sprite attributes.
BEB1 RET Return.
Prev: BE93 Up: Map Next: BEB2