Guest User

Untitled

a guest
Nov 1st, 2013
121
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  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 sprite x-coord MOD 8
  18. seg000:E903                 jz      short draw_left_aligned
  19. seg000:E905
  20. seg000:E905 draw_non_left_aligned:                  ; draw sprite where dest is
  21. seg000:E905                 mov     [bp+sprite_drawstruct.planeBits], al ; not aligned on a byte boundary
  22. seg000:E908                 mov     bp, di
  23. seg000:E90A                 jmp     word ptr cs:off_E888[bx-2]
  24. seg000:E90F ; ---------------------------------------------------------------------------
  25. seg000:E90F
  26. seg000:E90F draw_left_aligned:                      ; CODE XREF: draw_sprite_whiteflash+58j
  27. seg000:E90F                 mov     bp, di          ; draw sprite whose dest is aligned
  28. seg000:E90F                                         ; on a left boundary
  29. seg000:E90F                                         ; This includes shifted sprites
  30. seg000:E911                 jmp     cs:off_E896[bx]
  31. seg000:E916 ; ---------------------------------------------------------------------------
  32. seg000:E916
Advertisement
Add Comment
Please, Sign In to add comment