SHOW:
|
|
- or go back to the newest paste.
| 1 | - | seg000:E8DF do_planeBits: ; CODE XREF: draw_sprite_whiteflash+8Fj |
| 1 | + | xor bh, bh |
| 2 | - | seg000:E8DF lods byte ptr es:[si] ; get the first byte of the plane (i.e., the planeBits), which |
| 2 | + | |
| 3 | - | seg000:E8DF ; determines to which planes data should be written |
| 3 | + | |
| 4 | - | seg000:E8E1 xchg ax, bx ; bl = planeBits; bh = sprite height (from function start) |
| 4 | + | |
| 5 | - | seg000:E8E1 ; al = Bytes per plane, if it's bit-1 image |
| 5 | + | seg000:E905 |
| 6 | - | seg000:E8E2 lds di, page_1_address |
| 6 | + | seg000:E905 draw_non_left_aligned: ; draw sprite where source is |
| 7 | - | seg000:E8E6 add di, dx ; di = offset from start addres |
| 7 | + | seg000:E905 mov [bp+sprite_drawstruct.planeBits], al ; not aligned on a byte boundary |
| 8 | - | seg000:E8E8 mov word ptr [bp+sprite_drawstruct.planeBits], bx |
| 8 | + | seg000:E908 mov bp, di |
| 9 | - | seg000:E8EB add dx, ss:page_2_offset |
| 9 | + | seg000:E90A jmp word ptr cs:off_E888[bx-2] |
| 10 | - | seg000:E8F0 mov [bp+sprite_drawstruct.page2_offset], dx |
| 10 | + | seg000:E90F ; --------------------------------------------------------------------------- |
| 11 | - | seg000:E8F3 mov [bp+sprite_drawstruct.page1_offset], di |
| 11 | + | seg000:E90F |
| 12 | - | seg000:E8F6 mov ch, bh |
| 12 | + | seg000:E90F draw_left_aligned: ; CODE XREF: draw_sprite_whiteflash+58j |
| 13 | - | seg000:E8F8 mov dl, ch ; dl = ch = sprite height |
| 13 | + | seg000:E90F mov bp, di ; draw sprite whose source is aligned |
| 14 | - | seg000:E8FA xor dh, dh |
| 14 | + | seg000:E90F ; on a left boundary |
| 15 | - | seg000:E8FC xor bh, bh |
| 15 | + | seg000:E90F ; This includes shifted sprites |
| 16 | seg000:E911 jmp cs:off_E896[bx] | |
| 17 | seg000:E916 ; ---------------------------------------- |