home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src6.dms / in.adf / BOUNCHSRCS.LZH / BOB.S < prev    next >
Encoding:
Text File  |  1987-05-18  |  1.1 KB  |  50 lines

  1. bob:
  2. ; Here starts the bob routine x in d0 y in d1
  3. mulu    #40,d1        ;X-Screen/8*ypos
  4. move.w    d0,d2        ;Save xpos in d2
  5. lsr.w    #3,d0        ;Int (xpos/8)
  6. and.w    #$000f,d2
  7. lea    $60000,a0    ;Pos (0,0) in a1
  8. add.w    d1,a0        ;a0+ypos*44
  9. add.w    d0,a0        ;a0+(xpos/8)
  10. move.l    #$50000,a1    ;source
  11. move.l    #$5005a,a2    ;mask
  12.  
  13. ;move.l    #$ffffffff,d0
  14. ;tst.w    d2
  15. ;bmi.s    wait_kulblit
  16.  
  17. move.l    #$ffff0000,d0
  18.  
  19. wait_kulblit:
  20. btst    #14,$dff002
  21. bne.s    wait_kulblit
  22. move.l    d0,$dff044        ;Pixel pitch
  23. move.l    a2,$dff050        ;src a (msk)
  24. move.l    a1,$dff04c        ;src b (obj)
  25. move.l    a0,$dff048        ;src c (bgn)
  26. move.l    a0,$dff054        ;dst d (dst)
  27. move.l    #$0024ffff,$dff060    ;c,b
  28. move.l    #$ffff0024,$dff064    ;a,d
  29. ror.w    #4,d2
  30. move.w    d2,$dff042    ;if objmask(a)*obj(b)=1 then poke to d=AB
  31. add.w    #$0fca,d2    ;                  _
  32. move.w    d2,$dff040    ;if objmask(a)=0 then bgn(c) to d=AC
  33. move.w    #%0000001111000010,$dff058
  34. ;      hhhhhhhhhhwwwwww
  35. add.l    #$1f,a1
  36. add.l    #$2000,a0
  37. bsr vanta
  38. move.l    a2,$dff050        ;src a
  39. move.l    a1,$dff04c        ;src b
  40. move.l    a0,$dff048        ;src c
  41. move.l    a0,$dff054        ;dst d
  42. move.w    #%0000001111000010,$dff058
  43. ;      hhhhhhhhhhwwwwww
  44. rts
  45.  
  46. vanta:
  47. btst #14,$dff002
  48. bne.s vanta
  49. rts
  50.