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

  1. ****     Sprite Demo     ****
  2. ****   © March 1989 by   ****
  3. ****   Joakim Hallberg   ****
  4. **** Mastermind of Sigma ****
  5.  
  6. ;Konstanter
  7.  
  8. custom:     equ   $dff000
  9. bplcon0:    equ   $100
  10. bplcon1:    equ   $102
  11. bplcon2:    equ   $104
  12. bpl1mod:    equ   $108
  13. ddfstrt:    equ   $092
  14. ddfstop:    equ   $094
  15. diwstrt:    equ   $08e
  16. diwstop:    equ   $090
  17. vposr:      equ   $004
  18. color00:    equ   $180
  19. color01:    equ   $182
  20. color17:    equ   $1a2
  21. color18:    equ   $1a4
  22. color19:    equ   $1a6
  23. color21:    equ   $1aa
  24. color22:    equ   $1ac
  25. color23:    equ   $1ae
  26. cop1lc:     equ   $080
  27. copjmp1:    equ   $088
  28. execbase:   equ   4
  29.  
  30.       move.l      execbase,a6       
  31.       lea.l       gfxname,a1
  32.       moveq       #0,d0
  33.       jsr         -552(a6)
  34.       move.l      d0,gfxbase
  35.       beq         openerr                      
  36.  
  37.       lea      custom,a0
  38.       move.w   #$1200,bplcon0(a0)
  39.       move.w   #$0000,bpl1mod(a0)
  40.       move.w   #$0000,bplcon1(a0)
  41.       move.w   #$0024,bplcon2(a0)
  42.       move.w   #$0025,ddfstrt(a0)
  43.       move.w   #$00d0,ddfstop(a0)
  44.       move.w   #$1f18,diwstrt(a0)
  45.       move.w   #$00d8,diwstop(a0)
  46.  
  47.       move.w   #$0000,color00(a0)
  48.       move.w   #$0000,color01(a0)
  49.       move.w   #$0aaa,color17(a0)
  50.       move.w   #$0777,color18(a0)
  51.       move.w   #$0777,color19(a0)
  52.       move.w   #$0fff,color21(a0)
  53.       move.w   #$0fff,color22(a0)
  54.       move.w   #$0fff,color23(a0)
  55.  
  56.       move.l   #$25000,a1
  57.       lea      sprite,a2
  58. sprloop:
  59.       move.l   (a2),(a1)+
  60.       cmp.l    #$00000000,(a2)+
  61.       bne      sprloop
  62.  
  63.       move.l   #$25100,a1
  64.       lea      sprite2,a2
  65. spr2loop:
  66.       move.l   (a2),(a1)+
  67.       cmp.l    #$00000000,(a2)+
  68.       bne      spr2loop
  69.  
  70.       move.l   #$25200,a1
  71.       lea      sprite3,a2
  72. spr3loop:
  73.       move.l   (a2),(a1)+
  74.       cmp.l    #$00000000,(a2)+
  75.       bne      spr3loop
  76.  
  77.       move.l   #$00000000,$30000
  78.  
  79.       move.l   #$21000,a1
  80.       move.w   #2000,d0
  81. floop:
  82.       move.l   #$00000000,(a1)+
  83.       subq.w   #1,d0
  84.       bne      floop
  85.  
  86.       move.l      gfxbase,a0
  87.       add.l       #$32,a0
  88.       move.w      #$0080,$dff096
  89.       move.l      (a0),oldcopper
  90.       move.l      #copperl,(a0)
  91.       move.w      #$83a0,$dff096
  92.  
  93. main:
  94.       jsr      compare1(pc)
  95.       jsr      loop
  96.       jsr      compare2(pc)
  97.       jsr      loop
  98.       jsr      compare3(pc)
  99.       jsr      loop
  100.       andi.b   #64,$bfe001
  101.       bne      main
  102.  
  103.       jmp      closeall
  104.  
  105. loop:
  106.       lea      $25101,a1
  107.       jsr      vloop2(pc)
  108.       jsr      vloop2(pc)
  109.       lea      $25201,a2
  110.       jsr      vloop3(pc)
  111.       jsr      vloop3(pc)
  112.       jsr      vloop3(pc)
  113.       lea      $25001,a0
  114.       jsr      vloop(pc)
  115.       lea      $25109,a1
  116.       jsr      vloop2(pc)
  117.       jsr      vloop2(pc)
  118.       lea      $25209,a2
  119.       jsr      vloop3(pc)
  120.       jsr      vloop3(pc)
  121.       jsr      vloop3(pc) 
  122.       lea      $25009,a0
  123.       jsr      vloop(pc)
  124.       lea      $25111,a1
  125.       jsr      vloop2(pc)
  126.       jsr      vloop2(pc)
  127.       lea      $25211,a2
  128.       jsr      vloop3(pc)
  129.       jsr      vloop3(pc)
  130.       jsr      vloop3(pc)
  131.       lea      $25011,a0
  132.       jsr      vloop(pc)
  133.       lea      $25119,a1
  134.       jsr      vloop2(pc)
  135.       jsr      vloop2(pc)
  136.       lea      $25219,a2
  137.       jsr      vloop3(pc)
  138.       jsr      vloop3(pc)
  139.       jsr      vloop3(pc)
  140.       lea      $25019,a0
  141.       jsr      vloop(pc)
  142.       lea      $25121,a1
  143.       jsr      vloop2(pc)
  144.       jsr      vloop2(pc)
  145.       lea      $25221,a2
  146.       jsr      vloop3(pc)
  147.       jsr      vloop3(pc)
  148.       jsr      vloop3(pc)
  149.       lea      $25021,a0
  150.       jsr      vloop(pc)
  151.       lea      $25129,a1
  152.       jsr      vloop2(pc)
  153.       jsr      vloop2(pc)
  154.       lea      $25229,a2
  155.       jsr      vloop3(pc)
  156.       jsr      vloop3(pc)
  157.       jsr      vloop3(pc)
  158.       lea      $25029,a0
  159.       jsr      vloop(pc)
  160.       rts
  161.  
  162. closeall:
  163.  
  164.       move.l      gfxbase,a0     
  165.       add.l       #$32,a0        
  166.       move.w      #$0080,$dff096
  167.       move.l      oldcopper,(a0)
  168.       move.w      #$8080,$dff096
  169.  
  170. CloseGrap:
  171.       move.l      execbase,a6 
  172.       move.l      gfxbase,a1
  173.       jsr         -414(a6)
  174.  
  175. openerr:
  176.       moveq    #0,d0
  177.       rts
  178.    
  179. copperl:
  180.       dc.w     $00e0,$0002
  181.       dc.w     $00e2,$1000
  182.       dc.w     $0120,$0002
  183.       dc.w     $0122,$5000
  184.       dc.w     $0124,$0002
  185.       dc.w     $0126,$5100
  186.       dc.w     $0128,$0002
  187.       dc.w     $012a,$5200
  188.       dc.w     $012c,$0003
  189.       dc.w     $012e,$0000
  190.       dc.w     $0130,$0003
  191.       dc.w     $0132,$0000
  192.       dc.w     $0134,$0003
  193.       dc.w     $0136,$0000
  194.       dc.w     $0138,$0003
  195.       dc.w     $013a,$0000
  196.       dc.w     $013c,$0003
  197.       dc.w     $013e,$0000
  198.       dc.w     $180,$000
  199.       dc.w     $1e01,$fffe
  200.       dc.w     $180,$fff
  201.       dc.w     $1f01,$fffe
  202.       dc.w     $180,$eee
  203.       dc.w     $2001,$fffe
  204.       dc.w     $180,$ddd
  205.       dc.w     $2101,$fffe
  206.       dc.w     $180,$ccc
  207.       dc.w     $2201,$fffe
  208.       dc.w     $180,$bbb
  209.       dc.w     $2301,$fffe
  210.       dc.w     $180,$aaa
  211.       dc.w     $2401,$fffe
  212.       dc.w     $180,$999
  213.       dc.w     $2501,$fffe
  214.       dc.w     $180,$888
  215.       dc.w     $2601,$fffe
  216.       dc.w     $180,$777
  217.       dc.w     $2701,$fffe
  218.       dc.w     $180,$666
  219.       dc.w     $2801,$fffe
  220.       dc.w     $180,$555
  221.       dc.w     $2901,$fffe
  222.       dc.w     $180,$444
  223.       dc.w     $2a01,$fffe
  224.       dc.w     $180,$333
  225.       dc.w     $2b01,$fffe
  226.       dc.w     $180,$222
  227.       dc.w     $2c01,$fffe
  228.       dc.w     $180,$111
  229.       dc.w     $2d01,$fffe
  230.       dc.w     $180,$000
  231.       dc.w     $6901,$fffe
  232.       dc.w     $180,$111
  233.       dc.w     $6a01,$fffe
  234.       dc.w     $180,$222
  235.       dc.w     $6b01,$fffe
  236.       dc.w     $180,$333
  237.       dc.w     $6c01,$fffe
  238.       dc.w     $180,$444
  239.       dc.w     $6d01,$fffe
  240.       dc.w     $180,$555
  241.       dc.w     $6e01,$fffe
  242.       dc.w     $180,$666
  243.       dc.w     $6f01,$fffe
  244.       dc.w     $180,$777
  245.       dc.w     $7001,$fffe
  246.       dc.w     $180,$888
  247.       dc.w     $7101,$fffe
  248.       dc.w     $180,$999
  249.       dc.w     $7201,$fffe
  250.       dc.w     $180,$aaa
  251.       dc.w     $7301,$fffe
  252.       dc.w     $180,$bbb
  253.       dc.w     $7401,$fffe
  254.       dc.w     $180,$ccc
  255.       dc.w     $7501,$fffe
  256.       dc.w     $180,$ddd
  257.       dc.w     $7601,$fffe
  258.       dc.w     $180,$eee
  259.       dc.w     $7701,$fffe
  260.       dc.w     $180,$fff
  261.       dc.w     $7801,$fffe
  262.       dc.w     $180,$eee
  263.       dc.w     $7901,$fffe
  264.       dc.w     $180,$ddd
  265.       dc.w     $7a01,$fffe
  266.       dc.w     $180,$ccc
  267.       dc.w     $7b01,$fffe
  268.       dc.w     $180,$bbb
  269.       dc.w     $7c01,$fffe
  270.       dc.w     $180,$aaa
  271.       dc.w     $7d01,$fffe
  272.       dc.w     $180,$999
  273.       dc.w     $7e01,$fffe
  274.       dc.w     $180,$888
  275.       dc.w     $7f01,$fffe
  276.       dc.w     $180,$777
  277.       dc.w     $8001,$fffe
  278.       dc.w     $180,$666
  279.       dc.w     $8101,$fffe
  280.       dc.w     $180,$555
  281.       dc.w     $8201,$fffe
  282.       dc.w     $180,$444
  283.       dc.w     $8301,$fffe
  284.       dc.w     $180,$333
  285.       dc.w     $8401,$fffe
  286.       dc.w     $180,$222
  287.       dc.w     $8501,$fffe
  288.       dc.w     $180,$111
  289.       dc.w     $8601,$fffe
  290.       dc.w     $180,$000
  291.       dc.w     $f101,$fffe
  292.       dc.w     $180,$110
  293.       dc.w     $f201,$fffe
  294.       dc.w     $180,$220
  295.       dc.w     $f301,$fffe
  296.       dc.w     $180,$330
  297.       dc.w     $f401,$fffe
  298.       dc.w     $180,$440
  299.       dc.w     $f501,$fffe
  300.       dc.w     $180,$550
  301.       dc.w     $f601,$fffe
  302.       dc.w     $180,$660
  303.       dc.w     $f701,$fffe
  304.       dc.w     $180,$770
  305.       dc.w     $f801,$fffe
  306.       dc.w     $180,$880
  307.       dc.w     $f901,$fffe
  308.       dc.w     $180,$990
  309.       dc.w     $fa01,$fffe
  310.       dc.w     $180,$aa0
  311.       dc.w     $fb01,$fffe
  312.       dc.w     $180,$bb0
  313.       dc.w     $fc01,$fffe
  314.       dc.w     $180,$cc0
  315.       dc.w     $fd01,$fffe
  316.       dc.w     $180,$dd0
  317.       dc.w     $fe01,$fffe
  318.       dc.w     $180,$ee0
  319.       dc.w     $ff01,$fffe
  320.       dc.w     $180,$ff0
  321.       dc.w     $ffff,$fffe
  322.  
  323. sprite:
  324.       dc.w     $2d60,$2e00
  325.       dc.w     $0000,$1000
  326.       dc.w     $3d40,$3e00
  327.       dc.w     $0000,$1000
  328.       dc.w     $48ee,$4900
  329.       dc.w     $0000,$1000
  330.       dc.w     $599d,$5a00
  331.       dc.w     $0000,$1000
  332.       dc.w     $6262,$6300
  333.       dc.w     $0000,$1000
  334.       dc.w     $6704,$6800
  335.       dc.w     $0000,$1000
  336.       dc.w     $0000,$0000
  337.  
  338. sprite2:
  339.       dc.w     $2e70,$2f00
  340.       dc.w     $0001,$0000
  341.       dc.w     $3a42,$3b00
  342.       dc.w     $0001,$0000
  343.       dc.w     $40ee,$4100
  344.       dc.w     $0001,$0000
  345.       dc.w     $529f,$5300
  346.       dc.w     $0001,$0000
  347.       dc.w     $5e40,$5f00
  348.       dc.w     $0001,$0000
  349.       dc.w     $6500,$6600
  350.       dc.w     $0001,$0000 
  351.       dc.w     $0000,$0000
  352.  
  353. sprite3:
  354.       dc.w     $2f80,$3000
  355.       dc.w     $0001,$0000
  356.       dc.w     $3652,$3700
  357.       dc.w     $0001,$0000
  358.       dc.w     $40ee,$4100
  359.       dc.w     $0001,$0000
  360.       dc.w     $50ff,$5100
  361.       dc.w     $0001,$0000
  362.       dc.w     $5a80,$5b00
  363.       dc.w     $0001,$0000
  364.       dc.w     $6200,$6300
  365.       dc.w     $0001,$0000 
  366.       dc.w     $0000,$0000
  367.  
  368. vloop: 
  369.       move.b   (a0),d0
  370.       add.b    #1,d0
  371.       move.b   d0,(a0)
  372.       rts
  373.  
  374. vloop2:
  375.       move.b   (a1),d2
  376.       add.b    #1,d2
  377.       move.b   d2,(a1)
  378.       rts
  379.  
  380. vloop3:
  381.       move.b   (a2),d3
  382.       add.b    #1,d3
  383.       move.b   d3,(a2)
  384.       rts       
  385.  
  386. compare1:
  387.       move.b   $dff006,d0
  388.       cmp.b    #$d0,d0
  389.       bne      compare1
  390.       rts
  391.  
  392. compare2:
  393.       move.b   $dff006,d0
  394.       cmp.b    #$d3,d0
  395.       bne      compare2
  396.       rts
  397.  
  398. compare3:
  399.       move.b   $dff006,d0
  400.       cmp.b    #$d7,d0
  401.       bne      compare3
  402.       rts
  403.  
  404. compare4:
  405.       move.b   $dff006,d0
  406.       cmp.b    #$e7,d0
  407.       bne      compare4
  408.       rts
  409.  
  410. compare5:
  411.       move.b   $dff006,d0
  412.       cmp.b    #$ff,d0
  413.       bne      compare5
  414.       rts
  415.  
  416. tloop:
  417.       move.w   #3,d1
  418. ause:
  419.       jsr      vloop2(pc)
  420.       dbf      d1,ause
  421.       rts
  422.  
  423. dmacon:        dc.w  0
  424. gfxbase:       dc.l  1
  425. oldcopper:     dc.l  1
  426.  
  427. gfxname:       dc.b 'graphics.library',0
  428.