home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src5.dms / in.adf / sprite3.S < prev    next >
Encoding:
Text File  |  1990-05-07  |  7.4 KB  |  316 lines

  1. ****     Sigma Intro     ****
  2. ****   © March 1989 by   ****
  3. ****   Joakim Hallberg   ****
  4. **** Mastermind of Sigma ****
  5.  
  6. custom:     equ   $dff000
  7. bplcon0:    equ   $100
  8. bplcon1:    equ   $102
  9. bplcon2:    equ   $104
  10. bpl1mod:    equ   $108
  11. ddfstrt:    equ   $092
  12. ddfstop:    equ   $094
  13. diwstrt:    equ   $08e
  14. diwstop:    equ   $090
  15. vposr:      equ   $004
  16. color00:    equ   $180
  17. color01:    equ   $182
  18. color17:    equ   $1a2
  19. color18:    equ   $1a4
  20. color19:    equ   $1a6
  21. color20:    equ   $1a8
  22. color21:    equ   $1aa
  23. color22:    equ   $1ac
  24. color23:    equ   $1ae
  25. color24:    equ   $1b0
  26. color25:    equ   $1b2
  27. color26:    equ   $1b4
  28. color27:    equ   $1b6
  29. dmacon:     equ   $096
  30. cop1lc:     equ   $080
  31. copjmp1:    equ   $088
  32.  
  33.       lea      custom,a0
  34.       move.w   #$1200,bplcon0(a0)
  35.       move.w   #$0000,bpl1mod(a0)
  36.       move.w   #$0000,bplcon1(a0)
  37.       move.w   #$0024,bplcon2(a0)
  38.       move.w   #$0038,ddfstrt(a0)
  39.       move.w   #$00d0,ddfstop(a0)
  40.       move.w   #$2c81,diwstrt(a0)
  41.       move.w   #$f4c1,diwstop(a0)
  42.       
  43.       move.w   #$0000,color00(a0)
  44.       move.w   #$00f0,color01(a0)
  45.       move.w   #$000f,color17(a0)
  46.       move.w   #$000b,color18(a0)
  47.       move.w   #$0007,color19(a0)
  48.       move.w   #$0000,color20(a0)
  49.       move.w   #$000f,color21(a0)
  50.       move.w   #$000b,color22(a0)
  51.       move.w   #$0007,color23(a0)
  52.       move.w   #$0000,color24(a0)
  53.       move.w   #$000f,color25(a0)
  54.       move.w   #$000b,color26(a0)
  55.       move.w   #$0007,color27(a0)
  56.  
  57.       move.l   #$20000,a1
  58.       lea      copperl,a2
  59. cloop:
  60.       move.l   (a2),(a1)+
  61.       cmp.l    #$fffffffe,(a2)+
  62.       bne      cloop
  63.  
  64.       move.l   #$25000,a1
  65.       lea      sprite0,a2
  66. sprloop0:
  67.       move.l   (a2),(a1)+
  68.       cmp.l    #$00000000,(a2)+
  69.       bne      sprloop0
  70.  
  71.       move.l   #$26000,a1
  72.       lea      sprite1,a2
  73. sprloop1:
  74.       move.l   (a2),(a1)+
  75.       cmp.l    #$00000000,(a2)+
  76.       bne      sprloop1
  77.  
  78.       move.l   #$27000,a1
  79.       lea      sprite2,a2
  80. sprloop2:
  81.       move.l   (a2),(a1)+
  82.       cmp.l    #$00000000,(a2)+
  83.       bne      sprloop2
  84.  
  85.       move.l   #$28000,a1
  86.       lea      sprite3,a2
  87. sprloop3:
  88.       move.l   (a2),(a1)+
  89.       cmp.l    #$00000000,(a2)+
  90.       bne      sprloop3
  91.  
  92.       move.l   #$29000,a1
  93.       lea      sprite4,a2
  94. sprloop4:
  95.       move.l   (a2),(a1)+
  96.       cmp.l    #$00000000,(a2)+
  97.       bne      sprloop4
  98.       
  99.  
  100.       move.l   #$00000000,$30000
  101.  
  102.       move.l   #$20000,custom+cop1lc
  103.       move.l   #$21000,a1
  104.       move.w   #$2000,d0
  105. floop:
  106.       move.l   #$fffffffe,(a1)+
  107.       subq.w   #1,d0
  108.       bne      floop
  109.  
  110.       lea      custom,a0
  111.       move.l   #$20000,d0
  112.       move.w   #$0080,dmacon(a0)
  113.       move.w   d0,copjmp1(a0)
  114.       move.w   #$83a0,dmacon(a0)
  115.  
  116. compare:
  117.       bra      compare
  118.       move.b   $dff006,d2
  119.       cmp.b    #$ff,d2
  120.       bne      compare
  121.       jsr      vloop2(pc)      
  122.       jsr      vloop4(pc)
  123.       cmp.b    #64,d0
  124.       bne      compare
  125.  
  126. compare2:
  127.       move.b   $dff006,d2
  128.       cmp.b    #$ff,d2
  129.       bne      compare2
  130.       jsr      vloop(pc)
  131.       jsr      vloop4(pc)
  132.       cmp.b    #64,d1
  133.       bne      compare2
  134.       
  135.             
  136. compare3:
  137.       move.b   $dff006,d2
  138.       cmp.b    #$ff,d2
  139.       bne      compare3     
  140.       jsr      vloop(pc)
  141.       jsr      vloop3(pc)
  142.       cmp.b    #250,d0
  143.       bne      compare3
  144.  
  145. compare4:
  146.       move.b   $dff006,d2
  147.       cmp.b    #$ff,d2
  148.       bne      compare4
  149.       jsr      vloop(pc)
  150.       jsr      vloop3(pc)
  151.       cmp.b    #250,d1
  152.       bne      compare4
  153.       bra      compare
  154.  
  155.  
  156. copperl:
  157.       dc.w     $00e0,$0002
  158.       dc.w     $00e2,$1000
  159.       dc.w     $0120,$0002
  160.       dc.w     $0122,$5000
  161.       dc.w     $0124,$0002
  162.       dc.w     $0126,$6000
  163.       dc.w     $0128,$0002
  164.       dc.w     $012a,$7000
  165.       dc.w     $012c,$0002
  166.       dc.w     $012e,$8000
  167.       dc.w     $0130,$0002
  168.       dc.w     $0132,$9000
  169.       dc.w     $0134,$0003
  170.       dc.w     $0136,$0000
  171.       dc.w     $0138,$0003
  172.       dc.w     $013a,$0000
  173.       dc.w     $013c,$0003
  174.       dc.w     $013e,$0000
  175.       dc.w     $c001,$fffe
  176.       dc.w     $182,$101
  177.       dc.w     $180,$101
  178.       dc.w     $c201,$fffe
  179.       dc.w     $182,$202
  180.       dc.w     $180,$202
  181.       dc.w     $c401,$fffe
  182.       dc.w     $182,$303
  183.       dc.w     $180,$303
  184.       dc.w     $c601,$fffe
  185.       dc.w     $182,$404
  186.       dc.w     $180,$404
  187.       dc.w     $c801,$fffe
  188.       dc.w     $182,$505
  189.       dc.w     $180,$505
  190.       dc.w     $ca01,$fffe
  191.       dc.w     $182,$606
  192.       dc.w     $180,$606
  193.       dc.w     $cc01,$fffe
  194.       dc.w     $182,$505
  195.       dc.w     $180,$505
  196.       dc.w     $ce01,$fffe
  197.       dc.w     $182,$404
  198.       dc.w     $180,$404
  199.       dc.w     $d001,$fffe
  200.       dc.w     $182,$303
  201.       dc.w     $180,$303
  202.       dc.w     $d201,$fffe
  203.       dc.w     $182,$202
  204.       dc.w     $180,$202
  205.       dc.w     $d401,$fffe
  206.       dc.w     $182,$101
  207.       dc.w     $180,$101
  208.       dc.w     $d601,$fffe
  209.       dc.w     $182,$000
  210.       dc.w     $180,$000
  211.       dc.w     $ffff,$fffe
  212.  
  213.  
  214. vloop:
  215.       move.b   $25001,d0
  216.       add.b    #1,d0
  217.       move.b   d0,$29001
  218.       rts
  219.  
  220. vloop2:
  221.       move.b   $25001,d0
  222.       subq.b   #1,d0
  223.       move.b   d0,$29001
  224.       rts
  225.  
  226. vloop3:
  227.       move.b   $26001,d1
  228.       add.b    #1,d1
  229.       move.b   d1,$26001
  230.       rts
  231.  
  232. vloop4:
  233.       move.b   $26001,d1
  234.       subq.b   #1,d1
  235.       move.b   d1,$26001
  236.       rts
  237.  
  238. vloop5:
  239.       move.b   $27001,d2
  240.       add.b    #1,d2
  241.       move.b   d1,$27001
  242.       rts
  243.  
  244. vloop6:
  245.       move.b   $27001,d2
  246.       subq.b   #1,d2
  247.       move.b   d2,$27001
  248.       rts
  249.  
  250. vloop7:  
  251.       move.b   $28001,d3
  252.       add.b    #1,d3
  253.       move.b   d3,$28001
  254.       rts
  255.  
  256. vloop8:
  257.       move.b   $28001,d3 
  258.       subq.b   #1,d3
  259.       move.b   d3,$28001
  260.       rts
  261.  
  262. vloop9:
  263.       move.b   $29001,d4
  264.       add.b    #1,d4
  265.       move.b   d4,$29001
  266.       rts
  267.  
  268. vloop10:
  269.       move.b   $29001,d4
  270.       subq.b   #1,d4
  271.       move.b   d4,$29001
  272.       rts
  273.  
  274. tloop:
  275.       move.w   #3000,d5
  276. ause:
  277.       dbf     d5,ause
  278.       rts
  279.  
  280.  
  281. sprite0:
  282.       dc.w     $6d60,$8300
  283.       dc.l     $01FF01FF,$020203FE,$05F4060C,$0BE80C18,$17D01830
  284.       dc.l     $2FA03060,$5F4060C0,$BE80C180,$5F4060C0,$2FA03060,$17D01830
  285.       dc.l     $0BE80C18,$05F4060C,$02FA0306,$017D0183,$02FA0306,$05F4060C
  286.       dc.l     $0BE80C18,$17D01830,$2FA03060,$40407FC0,$FF80FF80,$00000000
  287.       
  288. sprite1:
  289.       dc.w     $6d74,$8300
  290.       dc.l     $01FF01FF,$020203FE,$05F4060C,$0BE80C18,$17D01830 
  291.       dc.l     $2FA03060,$5F4060C0,$BE80C180,$5F4060C0,$2FA03060,$17D01830 
  292.       dc.l     $0BE80C18,$05F4060C,$02FA0306,$017D0183,$02FA0306,$05F4060C 
  293.       dc.l     $0BE80C18,$17D01830,$2FA03060,$40407FC0,$FF80FF80,$00000000 
  294.  
  295. sprite2:
  296.       dc.w     $6d88,$8300
  297.       dc.l     $01FF01FF,$020203FE,$05F4060C,$0BE80C18,$17D01830 
  298.       dc.l     $2FA03060,$5F4060C0,$BE80C180,$5F4060C0,$2FA03060,$17D01830 
  299.       dc.l     $0BE80C18,$05F4060C,$02FA0306,$017D0183,$02FA0306,$05F4060C 
  300.       dc.l     $0BE80C18,$17D01830,$2FA03060,$40407FC0,$FF80FF80,$00000000 
  301.  
  302. sprite3:
  303.       dc.w     $6d9c,$8300
  304.       dc.l     $01FF01FF,$020203FE,$05F4060C,$0BE80C18,$17D01830 
  305.       dc.l     $2FA03060,$5F4060C0,$BE80C180,$5F4060C0,$2FA03060,$17D01830 
  306.       dc.l     $0BE80C18,$05F4060C,$02FA0306,$017D0183,$02FA0306,$05F4060C 
  307.       dc.l     $0BE80C18,$17D01830,$2FA03060,$40407FC0,$FF80FF80,$00000000 
  308.  
  309. sprite4:
  310.       dc.w     $6db0,$8300
  311.       dc.l     $01FF01FF,$020203FE,$05F4060C,$0BE80C18,$17D01830 
  312.       dc.l     $2FA03060,$5F4060C0,$BE80C180,$5F4060C0,$2FA03060,$17D01830 
  313.       dc.l     $0BE80C18,$05F4060C,$02FA0306,$017D0183,$02FA0306,$05F4060C 
  314.       dc.l     $0BE80C18,$17D01830,$2FA03060,$40407FC0,$FF80FF80,$00000000 
  315.    
  316.