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

  1. custom:     equ   $dff000
  2. bplcon0:    equ   $100
  3. bplcon1:    equ   $102
  4. bplcon2:    equ   $104
  5. bpl1mod:    equ   $108
  6. ddfstrt:    equ   $092
  7. ddfstop:    equ   $094
  8. diwstrt:    equ   $08e
  9. diwstop:    equ   $090
  10. vposr:      equ   $004
  11. color00:    equ   $180
  12. color01:    equ   $182
  13. color17:    equ   $1a2
  14. color18:    equ   $1a4
  15. color19:    equ   $1a6
  16. cop1lc:     equ   $080
  17. copjmp1:    equ   $088
  18. joy1dat:    equ   $dff00c
  19. pra:        equ   $bfe001
  20.  
  21.       lea      custom,a0
  22.       move.w   #$1200,bplcon0(a0)
  23.       move.w   #$0000,bpl1mod(a0)
  24.       move.w   #$0000,bplcon1(a0)
  25.       move.w   #$0024,bplcon2(a0)
  26.       move.w   #$0025,ddfstrt(a0)
  27.       move.w   #$00d0,ddfstop(a0)
  28.       move.w   #$1f18,diwstrt(a0)
  29.       move.w   #$00d8,diwstop(a0)
  30.  
  31.       move.w   #$0008,color00(a0)
  32.       move.w   #$0000,color01(a0)
  33.       move.w   #$0fff,color17(a0)
  34.       move.w   #$0eee,color18(a0)
  35.       move.w   #$0ddd,color19(a0)
  36.  
  37.       move.l   #$17000,a1
  38.       lea      copperl,a2
  39. cloop:
  40.       move.l   (a2),(a1)+
  41.       cmp.l    #$fffffffe,(a2)+
  42.       bne      cloop
  43.  
  44.       move.l   #$25000,a1
  45.       lea      sprite,a2
  46. sprloop:
  47.       move.l   (a2),(a1)+
  48.       cmp.l    #$00000000,(a2)+
  49.       bne      sprloop
  50.  
  51.       move.l   #$00000000,$30000
  52.  
  53.       move.l   #$21000,a1
  54.       move.w   #2000,d0
  55. floop:
  56.       move.l   #$ffffffff,(a1)+
  57.       subq.w   #1,d0
  58.       bne      floop
  59.  
  60.       move.w   #%0000000100000000,custom+dmacon
  61.       move.l   #$17000,custom+cop1lc
  62.       move.w   #$17000,custom+copjmp1
  63.       move.w   #$83a0,custom+dmacon
  64.    
  65. hopp:       jsr         readjoy1
  66.  
  67. utfor:      cmp.b       #1,d0
  68.             beq         ner
  69.             cmp.b       #2,d0
  70.             beq         upp
  71.             jmp         hopp
  72.  
  73. ner:
  74.             move.w      #65535,d0
  75. loop2:      move.w      d0,$dff1a2
  76.             dbf         d0,loop2
  77.             jmp         hopp 
  78.  
  79. upp:          
  80.             move.w      #65535,d0
  81. loop3:      move.w      d0,$dff180
  82.             dbf         d0,loop3
  83.             jmp         hopp
  84.  
  85. readjoy1:   movem.l     d1-d3/a0,-(a7)
  86.             lea         joy1dat,a0
  87.             moveq       #7,d2
  88.             moveq       #0,d0
  89.             move.b      pra,d1
  90.             btst        d2,d1
  91.             bne         roj1
  92.             bset        #4,d0
  93. roj1:       move.w      (a0),d1
  94.             btst        d2,d1
  95.             beq         roj2
  96.             bset        #3,d0
  97. roj2:       btst        #1,d1
  98.             beq         roj3
  99.             bset        #3,d0
  100. roj3:       move.b      d1,d3
  101.             and.b       #%10,d1
  102.             lsr.b       #1,d1
  103.             or.b        d1,d0
  104.             and.b       #%1,d3
  105.             eor.b       d3,d0
  106.             move.w      (a0),d1
  107.             lsr.w       #8,d1
  108.             move.b      d1,d3
  109.             and.b       #%10,d1
  110.             or.b        d1,d0
  111.             and.b       #%1,d3
  112.             lsl.b       #1,d3
  113.  
  114.             eor.b       d3,d0
  115.             movem.l     (a7)+,d1-d3/a0
  116.             rts
  117.  
  118. main:
  119.       bra      main
  120.  
  121. copperl:
  122.       dc.w     $00e0,$0002
  123.       dc.w     $00e2,$1000
  124.       dc.w     $0120,$0002
  125.       dc.w     $0122,$5000
  126.       dc.w     $0124,$0003
  127.       dc.w     $0126,$0000
  128.       dc.w     $0128,$0003
  129.       dc.w     $012a,$0000
  130.       dc.w     $012c,$0003
  131.       dc.w     $012e,$0000
  132.       dc.w     $0130,$0003
  133.       dc.w     $0132,$0000
  134.       dc.w     $0134,$0003
  135.       dc.w     $0136,$0000
  136.       dc.w     $0138,$0003
  137.       dc.w     $013a,$0000
  138.       dc.w     $013c,$0003
  139.       dc.w     $013e,$0000
  140.       dc.w     $ffff,$fffe
  141.  
  142. sprite:
  143.       dc.w     $2d60,$2e00
  144.       dc.w     $0001,$0000
  145.       dc.w     $0002,$0000
  146.       dc.w     $0004,$0000
  147.       dc.w     $0000,$0000
  148.  
  149. dmacon:   dc.w   $0
  150.