SHOW:
|
|
- or go back to the newest paste.
| 1 | seg000:E8DF do_planeBits: ; CODE XREF: draw_sprite_whiteflash+8Fj | |
| 2 | seg000:E8DF lods byte ptr es:[si] ; get the first byte of the plane (i.e., the planeBits), which | |
| 3 | seg000:E8DF ; determines to which planes data should be written | |
| 4 | seg000:E8E1 xchg ax, bx ; bl = planeBits; bh = sprite height (from function start) | |
| 5 | seg000:E8E1 ; al = Bytes per plane, if it's bit-1 image | |
| 6 | seg000:E8E2 lds di, page_1_address | |
| 7 | seg000:E8E6 add di, dx ; di = offset from start addres | |
| 8 | seg000:E8E8 mov word ptr [bp+sprite_drawstruct.planeBits], bx | |
| 9 | seg000:E8EB add dx, ss:page_2_offset | |
| 10 | seg000:E8F0 mov [bp+sprite_drawstruct.page2_offset], dx | |
| 11 | seg000:E8F3 mov [bp+sprite_drawstruct.page1_offset], di | |
| 12 | seg000:E8F6 mov ch, bh | |
| 13 | seg000:E8F8 mov dl, ch ; dl = ch = sprite height | |
| 14 | seg000:E8FA xor dh, dh | |
| 15 | seg000:E8FC xor bh, bh | |
| 16 | seg000:E8FE shl bx, 1 ; Jump to plane-bit dependent drawing code | |
| 17 | seg000:E900 and cl, 7 ; cl = left edge of source sprite x-coord MOD 8 | |
| 18 | seg000:E903 jz short draw_left_aligned | |
| 19 | seg000:E905 |