Advertisement
Eeems

putMaskedSprite8x16

Jul 12th, 2011
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. ;########################################
  2.  
  3. ;8*16 masked sprites
  4.  
  5. ;input: de = xy
  6.  
  7. ;   hl = pic start
  8.  
  9. putmaskedSprite:
  10.  
  11.     push    hl
  12.  
  13.     ld  a, d
  14.  
  15.     ld  d, 0
  16.  
  17.     ld  h, 0
  18.  
  19.     ld  l, e
  20.  
  21.     add hl, hl
  22.  
  23.     add hl, de
  24.  
  25.     add hl, hl
  26.  
  27.     add hl, hl
  28.  
  29.  
  30.  
  31.     ld  e, a
  32.  
  33.     srl e
  34.  
  35.     srl e
  36.  
  37.     srl e
  38.  
  39.     add hl, de
  40.  
  41.     ld  de, plotSScreen
  42.  
  43.     add hl, de
  44.  
  45.  
  46.  
  47.     pop ix
  48.  
  49.     and 7
  50.  
  51.     ld  c, a
  52.  
  53.     ld  b, 16
  54.  
  55. maskedLp:
  56.  
  57.     push    bc
  58.  
  59.     ld  de, 0
  60.  
  61.     ld  a, c
  62.  
  63.     or  a
  64.  
  65.     ld  b, c
  66.  
  67.     ld  a, (ix + 16)
  68.  
  69.     ld  c, (ix)
  70.  
  71.     jr  z, aligned
  72.  
  73. alignLp:
  74.  
  75.     rra     ;neither side can bring a carry
  76.  
  77.     rr  d
  78.  
  79.     srl c
  80.  
  81.     rr  e
  82.  
  83.     djnz    alignLp
  84.  
  85. aligned:
  86.  
  87.  
  88.  
  89.     cpl
  90.  
  91.     and (hl)
  92.  
  93.     or  c
  94.  
  95.     ld  (hl), a
  96.  
  97.     inc hl
  98.  
  99.     ld  a, d
  100.  
  101.     cpl
  102.  
  103.     and (hl)
  104.  
  105.     or  e
  106.  
  107.     ld  (hl), a
  108.  
  109.  
  110.  
  111.     ld  de, 11
  112.  
  113.     add hl, de
  114.  
  115.     inc ix
  116.  
  117.     pop bc
  118.  
  119.     djnz    maskedLp
  120.  
  121.     ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement