home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 4: Demo 1 / almathera_demo1.bin / sourcecode / dexion / freehanddraw.s < prev    next >
Text File  |  1995-03-17  |  2KB  |  137 lines

  1. scr=$7a000
  2. struc=$7d000
  3. rastport=struc+100
  4.  
  5. setupsystem:
  6.  
  7. bsr getgfx
  8. bsr cleanitdown
  9.  
  10.  
  11. move.w #8000-1 ,d0
  12. move.l #scr ,a0
  13. slet: move.b #0 ,(a0)+
  14. dbra d0 ,slet
  15.  
  16. move.l #scr ,a0
  17. move.l a0 ,struc+8
  18. move.l #struc ,a0
  19. moveq #1 ,d0
  20. move.l #320 ,d1
  21. move.l #200 ,d2
  22. move.l gfxbase ,a6
  23. jsr -390(a6)
  24. move.l #rastport ,a1
  25. jsr -198(a6)
  26. move.l #struc,rastport+4
  27.  
  28. move.l #copper0,newcop
  29. bsr changecop
  30.  
  31. ;--DEMO
  32.  
  33. move=-240
  34. draw=-246
  35. setapen=-342
  36.  
  37. move.l #rastport,a1
  38.  
  39. ;/////// my demo!!! ///////
  40. move.l    #data,a3
  41.  
  42. loop:
  43. cmp.b    $dff00a,d5
  44. bne    moved
  45. cmp.b    $dff00b,d4
  46. beq    loop
  47.  
  48. moved:
  49. move.b    #$dff00a,d5
  50. move.b    #$dff00b,d4
  51. move.b    d4,(a3)+
  52. move.b    d5,(a3)+
  53. cmpi.l    #end,a3
  54. ble    stop
  55. jsr    putpoint
  56. jmp    loop
  57.  
  58.  
  59. ;---------
  60. putpoint:
  61. mulu    #40,d7
  62. move    d7,a0
  63. ror.l    #3,d6
  64. add    d6,a0
  65. clr    d6
  66. rol.l    #3,d6
  67. cmp    #8000,a0
  68. bge    no
  69. add.l    #scr,a0
  70. move    #7,d7
  71. sub    d6,d7
  72. bset    d7,(a0)
  73. no:
  74. rts        
  75. ;/////// my demo's over. //
  76.  
  77. copper0:dc.w    $0100,$1200
  78.  
  79.     dc.w    $008e,$2c81
  80.     dc.w    $0090,$f4c1
  81.     dc.w     $0092,$38
  82.     dc.w    $0094,$d0
  83.  
  84.     dc.w    $0108,$0000
  85.     dc.w    $010a,$0000
  86.  
  87.     dc.w    $00e0,$0007
  88.     dc.w    $00e2,$a000
  89.  
  90.     dc.w    $0180,$00f
  91.     dc.w    $0182,$f00
  92.  
  93. dc.w $ffff,$fffe
  94.  
  95. ;*** gfx ***
  96. gfxbase:    dc.l    0
  97. gfxname:    dc.b    'graphics.library',0,0
  98.  
  99. getgfx:
  100.     move.l    4    ,a6
  101.     move.l    #gfxname,a1
  102.     jsr    -408(a6)
  103.     move.l    d0    ,gfxbase
  104. rts
  105.  
  106. ;*** change copper list ***
  107.  
  108. newcop: dc.l 0
  109. ;***
  110. changecop:
  111.     move.l    gfxbase    ,a0
  112.     move.l    newcop    ,50(a0)
  113. rts
  114.  
  115. ;*********
  116.  
  117. forbid =-132
  118. oldcopper:    dc.l 0
  119.  
  120. cleanitdown:
  121. move.l 4,a6
  122. jsr    -132(a6)
  123. rts
  124.  
  125. rad:dc.w    0
  126. xc:dc.w    0
  127. yc:dc.w    0
  128. x:dc.w    0
  129. y:dc.w    0
  130.  
  131. data:
  132. blk.b    512,0
  133. end:
  134.  
  135. stop:
  136. rts
  137.