Advertisement
Guest User

Untitled

a guest
Nov 21st, 2019
153
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1.  
  2. blitDisks
  3. move.l screenpointer2,d6
  4. move.l animation_buffer_ptr,d5
  5. add.l animation_buffer_off,d5
  6.  
  7.  
  8. lea endmask,a0 ; leftmost endmask to erase trash graphics after shift
  9.  
  10. move.w #160-4*8+8,$ffff8a30.w ;Destination Y-inc, bytes to skip after each written row
  11. move.w #6,$ffff8a20.w ;Source X-inc
  12. move.w #6,$ffff8a22.w ;Source Y-inc
  13. move.w #8,$ffff8a2e.w ;Destination X-inc, bytes to skip after each written word
  14. move.w #-1,$ffff8a2a.w ;Endmask 2, applied to every word between this and next
  15. move.w #-1,$ffff8a2c.w ;Endmask 3, applited to every last word in a row
  16. move.b #%00000010,$ffff8a3a.w ;Halftone operation (COPY)
  17. move.b #%00000011,$ffff8a3b.w ;Logic operation (COPY)
  18. move.w #4,$ffff8a36.w ;Number of words to copy per row
  19. move.b #%11000000,d4
  20. move.w #48,d7
  21.  
  22. lea diskPositionList,a6
  23. .again
  24. move.l (a6)+,d2 ;x
  25. blt .endWrite
  26.  
  27. move.l (a6)+,d1 ; y
  28.  
  29. move.l d6,$ffff8a32.w ;Blitter destination address
  30. move.l d5,$ffff8a24.w ;Blitter source address
  31.  
  32. move.l d2,d3
  33. and.l #$fffffff0,d2
  34. lsr.l #1,d2
  35. and.l #$0000000f,d3 ; bitmask position
  36. move.b d3,$ffff8a3d.w ;Shift
  37. add.b #%1000000,$ffff8a3d.w
  38.  
  39. add.w d3,d3
  40. move.w (a0,d3.w),$ffff8a28.w ;
  41.  
  42. add.l d1,d2
  43. add.l d2,$ffff8a32.w ;X-movement
  44.  
  45. move.w d7,$ffff8a38.w ;Number of rows to copy
  46. move.b d4,$ffff8a3c.w ;Start blitter
  47.  
  48.  
  49. addq.l #2,d5
  50. addq.l #2,d6
  51.  
  52. move.l d6,$ffff8a32.w ;Blitter destination address
  53. move.l d5,$ffff8a24.w ;Blitter source address
  54. add.l d2,$ffff8a32.w ;X-movement
  55.  
  56. move.w d7,$ffff8a38.w ;Number of rows to copy
  57. move.b d4,$ffff8a3c.w ;Start blitter
  58. not.w $ffff8240
  59.  
  60. addq.l #2,d5
  61. addq.l #2,d6
  62.  
  63. move.l d6,$ffff8a32.w ;Blitter destination address
  64. move.l d5,$ffff8a24.w ;Blitter source address
  65. add.l d2,$ffff8a32.w ;X-movement
  66.  
  67. move.w d7,$ffff8a38.w ;Number of rows to copy
  68. move.b d4,$ffff8a3c.w ;Start blitter
  69. not.w $ffff8240
  70.  
  71.  
  72. subq.l #4,d5
  73. subq.l #4,d6
  74.  
  75.  
  76. jmp .again
  77. .endWrite
  78. rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement