	opt c+,d+
	
custom	= $dff000
bplcon0	= $100
bpl1pth	= $0e0
bpl1ptl	= $0e2
bpl2pth	= $0e4
bpl2ptl	= $0e6
bpl3pth	= $0e8
bpl3ptl	= $0ea
bpl4pth	= $0ec
bpl4ptl	= $0ee
bpl5pth	= $0f0
bpl5ptl	= $0f2
diwstrt	= $08e
diwstop	= $090
ddfstrt	= $092
ddfstop	= $094
bpl1mod	= $108
bpl2mod	= $10a
dmacon	= $096
colstart	= $180
bplcon1	= $102
cop1lch	= $080
copjmp1	= $088

bitsare	= $5432109876543210

dmabits	= %1000001110000000
bconbits	= %0101001000000000

	lea custom,a0
	move.w #bconbits,bplcon0(a0)
	move.w #$0000,bplcon1(a0)
	move.w #$2c81,diwstrt(a0)
	move.w #$f4c1,diwstop(a0)
	move.w #$0038,ddfstrt(a0)
	move.w #$00d0,ddfstop(a0)
	move.w #$0000,bpl1mod(a0)
	move.w #$0000,bpl2mod(a0)
	
; set up colour registers

	move.w #32,d0
	lea colstart,a1
cregloop:	move.w d0,(a1)+
	subq.w #1,d0
	bne cregloop
	
; fill bitplanes with pattern

	move.w #2000,d0
	move.l #$21000,a1
	move.l #$22000,a2
	move.l #$23000,a3
	move.l #$24000,a4
	move.l #$25000,a5
fplloop:	move.l #$55555555,(a1)+
	move.l #$33333333,(a2)+
	move.l #$0f0f0f0f,(a3)+
	move.l #$00ff00ff,(a4)+
	move.l #$ffffffff,(a5)+
	subq.w #1,d0
	bne fplloop
	
; point copper at copper list

	move.l #copperl01,cop1lch(a0)
	move.w copjmp1(a0),d0

; start DMA

	move.w #dmabits,dmacon(a0)
	
; bitplanes should be set up now
; just a loop to tidy up

loop:	jmp loop

copperl01:	
	dc.w bpl1pth,$0002
	dc.w bpl1ptl,$1000
	dc.w bpl2pth,$0002
	dc.w bpl2ptl,$2000
	dc.w bpl3pth,$0002 ; point at bit planes 
	dc.w bpl3ptl,$3000
	dc.w bpl4pth,$0002
	dc.w bpl4ptl,$4000
	dc.w bpl5pth,$0002
	dc.w bpl5ptl,$5000
	
	dc.w $ffff,$fffe ; wait for the impossible (end)
	
