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

  1. speed=2
  2. xsize=50
  3. ysize=50
  4. scr=$7a000
  5. struc=$7d000
  6. rastport=struc+100
  7.  
  8. setupsystem:
  9.  
  10. bsr getgfx
  11. bsr cleanitdown
  12.  
  13.  
  14. move.w #8000-1 ,d0
  15. move.l #scr ,a0
  16. slet: move.b #0 ,(a0)+
  17. dbra d0 ,slet
  18.  
  19. move.l #scr ,a0
  20. move.l a0 ,struc+8
  21. move.l #struc ,a0
  22. moveq #1 ,d0
  23. move.l #320 ,d1
  24. move.l #200 ,d2
  25. move.l gfxbase ,a6
  26. jsr -390(a6)
  27. move.l #rastport ,a1
  28. jsr -198(a6)
  29. move.l #struc,rastport+4
  30.  
  31. move.l #copper0,newcop
  32. bsr changecop
  33.  
  34. ;--DEMO
  35.  
  36. move=-240
  37. draw=-246
  38. setapen=-342
  39.  
  40. move.l #rastport,a1
  41.  
  42. ;/////// my demo!!! ///////
  43. start:
  44. btst    #6,$bfe001
  45. bne    continue
  46. rts
  47. continue:
  48. clr.l    d0
  49. move.b    #1,d0
  50. jsr    setapen(a6)
  51. jsr    demo
  52. clr.l    d0
  53. jsr    setapen(a6)
  54. jsr    demo
  55. jmp    start
  56.  
  57. demo:
  58. move.w    #xsize,x1
  59. move.w    #ysize,y1
  60. move.w    #0,x0
  61. move.w    #0,y0
  62. loop1:
  63. jsr    line
  64. cmpi    #0,y1
  65. bne    cont1
  66. jmp    loop2
  67. cont1:
  68. addi    #speed,y0
  69. subi    #speed,y1
  70. jmp    loop1
  71. loop2:
  72. jsr    line
  73. cmpi    #0,x1
  74. bne    cont2
  75. rts
  76. cont2:
  77. addi    #speed,x0
  78. subi    #speed,x1
  79. jmp    loop2
  80.  
  81. line:
  82. clr.l    d0
  83. clr.l    d1
  84. move.w    x0,d0
  85. move.w    y0,d1
  86. jsr    move(a6)
  87. move.w    x1,d0
  88. move.w    y1,d1
  89. jsr    draw(a6)
  90. move.w    wait,d0
  91. waitloop:
  92. dbra    d0,waitloop
  93. move.w    step,d0
  94. add    d0,wait
  95. cmpi    #0,wait
  96. bne    c1
  97. move.w    #1,step
  98. c1:
  99. cmpi    #2000,wait
  100. bne    c2
  101. move.w    #-1,step
  102. c2:
  103. rts
  104.  
  105. x0:    dc.w    0
  106. y0:    dc.w    0
  107. x1:    dc.w    0
  108. y1:    dc.w    0
  109. wait:    dc.w    1000
  110. step:    dc.w    1
  111. ;/////// my demo's over. //
  112. copper0:dc.w    $0100,$1200
  113.  
  114.     dc.w    $008e,$2c81
  115.     dc.w    $0090,$f4c1
  116.     dc.w     $0092,$38
  117.     dc.w    $0094,$d0
  118.  
  119.     dc.w    $0108,$0000
  120.     dc.w    $010a,$0000
  121.  
  122.     dc.w    $00e0,$0007
  123.     dc.w    $00e2,$a000
  124.  
  125.     dc.w    $0180,$000
  126.     dc.w    $0182,$fff
  127.  
  128. dc.w $ffff,$fffe
  129.  
  130. ;*** gfx ***
  131. gfxbase:    dc.l    0
  132. gfxname:    dc.b    'graphics.library',0,0
  133.  
  134. getgfx:
  135.     move.l    4    ,a6
  136.     move.l    #gfxname,a1
  137.     jsr    -408(a6)
  138.     move.l    d0    ,gfxbase
  139. rts
  140.  
  141. ;*** change copper list ***
  142.  
  143. newcop: dc.l 0
  144. ;***
  145. changecop:
  146.     move.l    gfxbase    ,a0
  147.     move.l    newcop    ,50(a0)
  148. rts
  149.  
  150. ;*********
  151.  
  152. forbid =-132
  153. oldcopper:    dc.l 0
  154.  
  155. cleanitdown:
  156. move.l 4,a6
  157. jsr    -132(a6)
  158. rts
  159.