home *** CD-ROM | disk | FTP | other *** search
/ Fish 'n' More 2 / fishmore-publicdomainlibraryvol.ii1991xetec.iso / fish / languages / ezasm_421 / colorchg.s < prev    next >
Text File  |  1990-12-30  |  1KB  |  89 lines

  1.  
  2.  
  3. *    change color0 every 7th VBlank
  4. *    ( takes about 2 mins. to see all the colors )
  5. *    hit left mouse button to quit
  6. *    no display planes needed!
  7.  
  8.  
  9. INTREQR        equ    $01e
  10. INTREQ        equ    $09c
  11. INTENAR        equ    $01c
  12. INTENA        equ    $09a
  13.  
  14. DMACONR        equ    $002
  15. DMACON        equ    $096
  16.  
  17. BPLCON0        equ    $100
  18. BPLCON1        equ    $102
  19. BPLCON2        equ    $104
  20. BPL1MOD        equ    $108
  21. BPL2MOD        equ    $10a
  22.  
  23. DDFSTRT        equ    $092
  24. DDFSTOP        equ    $094
  25. DIWSTRT        equ    $08e
  26. DIWSTOP        equ    $090
  27.  
  28. BPL1PTH        equ    $0e0
  29. BPL2PTH        equ    $0e4
  30.  
  31.  
  32.  
  33. *        CSEG (Manx)
  34.         SECTION    CODE
  35.  
  36.  
  37. LONG    DispMem Count
  38. WORD    IntSave DmaSave Color
  39.  
  40.  
  41.  
  42.         a6 = $dff000
  43.         IntSave = INTENAR(a6)
  44.         DmaSave = DMACONR(a6)
  45.  
  46.  
  47.         INTENA(a6) = $7fff
  48.         DMACON(a6) = $7fff
  49.         INTENA(a6) = $8020    ;SET VERTB
  50.  
  51.         Count = 0
  52.         Color = $777    ;start half way thru
  53.  
  54. VBloop        d1 = INTREQR(a6) w
  55.         d1:5 = 1 {
  56.  
  57.             INTREQ(a6) = $0020 w    ;CLEAR VERTB
  58.             
  59.             Count ++
  60.             Count >= 6 {
  61.                 Color += 2
  62.                 Color &= $0fff
  63.                 Count = 0
  64.             }
  65.             
  66.             ($dff180) = Color
  67.         }
  68.  
  69.         ($bfe001):6 = 1 VBloop
  70.  
  71.  
  72. *    restore DMACON & INTENA
  73.             
  74. Quit        a6 = $dff000
  75.         INTENA(a6) = $7fff
  76.         DMACON(a6) = $7fff
  77.             
  78.         d0 = IntSave w
  79.         bset.l    #15,d0
  80.         INTENA(a6) = d0 w
  81.             
  82.         d0 = DmaSave w
  83.         bset.l    #15,d0
  84.         DMACON(a6) = d0 w
  85.  
  86.  
  87.         END
  88.  
  89.