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