![]() |
Unused |
| Prev: 48787 | Up: Map | Next: 48818 |
|
Unused alternative routine to draw a 2-wide sprite and apply its attributes in a single pass.
|
||||
| Unused_Draw_2Wide | 48788 | LD B,8 | Set the row counter to 8 in B. | |
| Unused_Draw_2Wide_Row_Loop | 48790 | LD A,(DE) | OR the sprite data byte from *DE onto the first screen column at *HL. | |
| 48791 | OR (HL) | |||
| 48792 | LD (HL),A | |||
| 48793 | INC L | Advance to the next column and OR the next sprite byte onto the second column. | ||
| 48794 | INC DE | |||
| 48795 | LD A,(DE) | |||
| 48796 | OR (HL) | |||
| 48797 | LD (HL),A | |||
| 48798 | DEC L | Move back to the first column and advance the sprite data pointer. | ||
| 48799 | INC DE | |||
| 48800 | INC H | Move down one pixel row in the screen buffer. | ||
| 48801 | LD A,H | Check if the pixel row has crossed a character boundary. | ||
| 48802 | AND C | |||
| 48803 | CALL Z,48487 | Call 48487 to adjust the screen address if needed. | ||
| 48806 | DJNZ 48790 | Decrease the row counter and loop back to Unused_Draw_2Wide_Row_Loop until all 8 rows are drawn. | ||
|
Apply attributes for the 2-wide sprite.
|
||||
| 48808 | LD D,1 | Set D to 1 (flag: two columns wide). | ||
| 48810 | POP HL | Restore the screen address from the stack. | ||
| 48811 | LD E,(IX+0) | Load the sprite X position from *IX+0 into E. | ||
| 48814 | CALL 48842 | Call Unused_Apply_Attributes to apply the sprite attributes. | ||
| 48817 | RET | Return. | ||
| Prev: 48787 | Up: Map | Next: 48818 |