home *** CD-ROM | disk | FTP | other *** search
-
- * Scroll example ( fixed )
-
- * Hit left mouse button to quit
-
-
- INTREQR equ $01e
- INTREQ equ $09c
- INTENAR equ $01c
- INTENA equ $09a
-
- DMACONR equ $002
- DMACON equ $096
-
- BPLCON0 equ $100
- BPLCON1 equ $102
- BPLCON2 equ $104
- BPL1MOD equ $108
- BPL2MOD equ $10a
-
- DDFSTRT equ $092
- DDFSTOP equ $094
- DIWSTRT equ $08e
- DIWSTOP equ $090
-
- BPL1PTH equ $0e0
- BPL2PTH equ $0e4
-
-
-
- LONG DispMem Count
- WORD IntSave DmaSave Color
-
-
- DispMem = AllocMem( 16000 $10002 )
- beq Quit
-
- a3 = $dff000
- IntSave = INTENAR(a3) ;save DMA and interrupt states
- DmaSave = DMACONR(a3)
-
-
- * set up display regs
-
- BPLCON0(a3) = $1200 ; (LORES) 1BPL COLOR
-
- BPLCON1(a3) = 0 w
- BPLCON2(a3) = 0 w
- BPL1MOD(a3) = 0 w
- BPL2MOD(a3) = 0 w
-
- DIWSTRT(a3) = $2c81
- DIWSTOP(a3) = $f4c1
- DDFSTRT(a3) = $0038 w
- DDFSTOP(a3) = $00d0 w
-
- INTENA(a3) = $7fff
- DMACON(a3) = $7fff
- INTENA(a3) = $8020 ;SET VERTB
- DMACON(a3) = $8300 ;SET DMAEN BPLEN
-
- * Make bands for effect
-
- d1 = 7
- d2 = $ffffffff
- a1 = DispMem
- 1$ d0 = 249
- 2$ (a1)+ = d2
- dbf d0,2$
- a1 += 1000 ;start of next band
- dbf d1,1$
-
- d2 = DispMem
- d3 = d2
- d3 += 7960
-
- VBloop d1 = INTREQR(a3) w
- d1:5 = 1 {
-
- INTREQ(a3) = $0020 w
-
- d2 > d3 {
- d2 = DispMem
- } else {
- d2 += 80 ;Scroll speed, try 40 * n
- }
-
- BPL1PTH(a3) = d2
- }
-
- ($bfe001):6 = 1 VBloop
-
- Quit
- DispMem != 0 {
- FreeMem( DispMem 16000 )
- }
-
- * restore DMACON & INTENA
-
- a3 = $dff000
- INTENA(a3) = $7fff
- DMACON(a3) = $7fff
-
- d0 = IntSave
- bset.l #15,d0
- INTENA(a3) = d0 w
-
- d0 = DmaSave
- bset.l #15,d0
- DMACON(a3) = d0 w
-
-
- END
-
-