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

  1. speed=1
  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. move.w    a,d0
  45. add    d0,sz
  46. cmp    #200,sz
  47. bne    u1
  48. move.w    #-1,a
  49. u1:
  50. cmp    #8,sz
  51. bne    u2
  52. move.w    #1,a
  53. u2:
  54. btst    #6,$bfe001
  55. bne    continue
  56. rts
  57. continue:
  58. clr.l    d0
  59. move.b    #1,d0
  60. jsr    setapen(a6)
  61. jsr    demo
  62. clr.l    d0
  63. jsr    setapen(a6)
  64. jsr    demo
  65. jmp    start
  66.  
  67. demo:
  68. move.w    sz,x1
  69. move.w    sz,y1
  70. move.w    #0,x0
  71. move.w    #0,y0
  72. loop1:
  73. jsr    line
  74. cmpi    #0,y1
  75. bne    cont1
  76. jmp    loop2
  77. cont1:
  78. addi    #speed,y0
  79. subi    #speed,y1
  80. jmp    loop1
  81. loop2:
  82. jsr    line
  83. cmpi    #0,x1
  84. bne    cont2
  85. rts
  86. cont2:
  87. addi    #speed,x0
  88. subi    #speed,x1
  89. jmp    loop2
  90.  
  91. line:
  92. clr.l    d0
  93. clr.l    d1
  94. move.w    x0,d0
  95. move.w    y0,d1
  96. jsr    move(a6)
  97. move.w    x1,d0
  98. move.w    y1,d1
  99. jsr    draw(a6)
  100. ;move.w    wait,d0
  101. ;waitloop:
  102. ;dbra    d0,waitloop
  103. ;move.w    step,d0
  104. ;add    d0,wait
  105. ;cmpi    #0,wait
  106. ;bne    c1
  107. ;move.w    #1,step
  108. ;c1:
  109. ;cmpi    #2000,wait
  110. ;bne    c2
  111. ;move.w    #-1,step
  112. ;c2:
  113. rts
  114.  
  115. x0:    dc.w    0
  116. y0:    dc.w    0
  117. x1:    dc.w    0
  118. y1:    dc.w    0
  119. ;wait:    dc.w    1000
  120. ;step:    dc.w    1
  121. sz:    dc.w    10
  122. a:    dc.w    1
  123. ;/////// my demo's over. //
  124. copper0:dc.w    $0100,$1200
  125.  
  126.     dc.w    $008e,$2c81
  127.     dc.w    $0090,$f4c1
  128.     dc.w     $0092,$38
  129.     dc.w    $0094,$d0
  130.  
  131.     dc.w    $0108,$0000
  132.     dc.w    $010a,$0000
  133.  
  134.     dc.w    $00e0,$0007
  135.     dc.w    $00e2,$a000
  136.  
  137.     dc.w    $0180,$000
  138.     dc.w    $0182,$fff
  139.  
  140. dc.w $ffff,$fffe
  141.  
  142. ;*** gfx ***
  143. gfxbase:    dc.l    0
  144. gfxname:    dc.b    'graphics.library',0,0
  145.  
  146. getgfx:
  147.     move.l    4    ,a6
  148.     move.l    #gfxname,a1
  149.     jsr    -408(a6)
  150.     move.l    d0    ,gfxbase
  151. rts
  152.  
  153. ;*** change copper list ***
  154.  
  155. newcop: dc.l 0
  156. ;***
  157. changecop:
  158.     move.l    gfxbase    ,a0
  159.     move.l    newcop    ,50(a0)
  160. rts
  161.  
  162. ;*********
  163.  
  164. forbid =-132
  165. oldcopper:    dc.l 0
  166.  
  167. cleanitdown:
  168. move.l 4,a6
  169. jsr    -132(a6)
  170. rts
  171.