![]() |
Unused |
| Prev: BE93 | Up: Map | Next: BEB2 |
|
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 |