
*	scroll example
*	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



CLEAR_CHIP	equ	$10002


*		CSEG (Manx)
		SECTION	CODE


DispMem		equ	-4
Count		equ	-8
IntSave		equ	-12
DmaSave		equ	-14
Color		equ	-16


		XREF	_LVOAllocMem
		XREF	_LVOFreeMem

		link	a5,#-18

		movea.l	$4,a6
		move.l	#16000,d0
		move.l	#CLEAR_CHIP,d1
		jsr	_LVOAllocMem(a6)
		move.l	d0,DispMem(a5)
		beq	Quit

		lea	14675968,a3
		move.w	INTENAR(a3),IntSave(a5)	;save DMA and interrupt states
		move.w	DMACONR(a3),DmaSave(a5)


*	set up display regs

		move.w	#$1200,BPLCON0(a3)	; (LORES) 1BPL COLOR			

		clr.w	BPLCON1(a3)
		clr.w	BPLCON2(a3)
		clr.w	BPL1MOD(a3)
		clr.w	BPL2MOD(a3)

		move.w	#$2c81,DIWSTRT(a3)
		move.w	#$f4c1,DIWSTOP(a3)
		move.w	#$0038,DDFSTRT(a3)
		move.w	#$00d0,DDFSTOP(a3)

		move.w	#$7fff,INTENA(a3)
		move.w	#$7fff,DMACON(a3)
		move.w	#$8020,INTENA(a3)	;SET VERTB
		move.w	#$8300,DMACON(a3)	;SET DMAEN BPLEN

*	Make bands for effect

		moveq	#7,d1
		move.l	#$ffffffff,d2
		movea.l	DispMem(a5),a1
1$		move.l	#249,d0
2$		move.l	d2,(a1)+
		dbf	d0,2$
		lea	1000(a1),a1	;start of next band
		dbf	d1,1$

		move.l	DispMem(a5),d2
		move.l	d2,d3
		addi.l	#7960,d3

VBloop		move.w	INTREQR(a3),d1
		btst.l	#5,d1
		beq	.laaa

		move.w	#$0020,INTREQ(a3)

		cmp.l	d3,d2
		bls	.laab
		move.l	DispMem(a5),d2
		jmp	.laac
.laab
		moveq	#50,d7
		add.l	d7,d2
.laac

		move.l	d2,BPL1PTH(a3)
.laaa

		btst.b	#6,$bfe001
		bne	VBloop


Quit
		tst.l	DispMem(a5)
		beq	.laad
		movea.l	$4,a6
		movea.l	DispMem(a5),a1
		move.l	#16000,d0
		jsr	_LVOFreeMem(a6)
.laad

*	restore DMACON & INTENA

		lea	14675968,a3
		move.w	#$7fff,INTENA(a3)
		move.w	#$7fff,DMACON(a3)

		move.w	IntSave(a5),d0
		bset.l	#15,d0
		move.w	d0,INTENA(a3)

		move.w	DmaSave(a5),d0
		bset.l	#15,d0
		move.w	d0,DMACON(a3)


		unlk	a5
		moveq	#0,d0
		rts

		END
