ALLOCMEM:	EQU	-198
FREEMEM:	EQU	-210
OPENLIB:	EQU	-408
MEMF_CHIP:	EQU	$10002

START:		MOVEM.L	D0-D7/A0-A6,-(SP)

		MOVE.L	$4.W,A6			; Läs execbase
		MOVE.L	#COPSIZE,D0
		MOVE.L	#MEMF_CHIP,D1
		JSR	ALLOCMEM(A6)		; Allokera ChipMem
		MOVE.L	D0,NEWCOPPER		; till coppern
		BEQ.S	ALLOCERROR		; Fel vid allokering?

		MOVE.L	D0,A0
		LEA.L	COPPERLIST(PC),A1
		MOVE.W	#COPSIZE-1,D7
MOVECOPPER:	MOVE.B	(A1)+,(A0)+		; Flytta copper till
		DBF	D7,MOVECOPPER		; ledigt ChipMem

		LEA.L	GFXNAME(PC),A1
		JSR	OPENLIB(A6)		; Öppna gfx.library
		TST.L	D0			; Error?
		BEQ.S	GFXERROR

		MOVE.L	D0,A0			; A0 = gfxbase
		MOVE.L	$26(A0),OLDCOPPER	; Läs gammal copper
		MOVE.L	NEWCOPPER(PC),$DFF080	; Ändra till vår

MAIN:		BTST	#6,$BFE001		; Musknapp?
		BNE.S	MAIN

EXIT:		MOVE.L	OLDCOPPER(PC),$DFF080	; Lägg tillbaka
GFXERROR:	MOVE.L	NEWCOPPER(PC),A1	; gammal copper
		MOVE.L	#COPSIZE,D0
		JSR	FREEMEM(A6)
ALLOCERROR:	MOVEM.L	(SP)+,D0-D7/A0-A6
		RTS

COPPERLIST:	DC.W	$0100,$0000		; Stäng av bitplan
		DC.W	$0180,$0000		; Svart bakgrund

BAR:		DC.W	$4707,$FFFE		; Vänta på rad $40
		DC.W	$0180,$0CCC		; Grå bakgrund
		DC.W	$4807,$FFFE		; Vänta på rad $41
		DC.W	$0180,$0FFF		; Vit bakgrund
		DC.W	$4907,$FFFE		; etc.
		DC.W	$0180,$0EEE
		DC.W	$4a07,$FFFE
		DC.W	$0180,$0CCC
		DC.W	$4b07,$FFFE
		DC.W	$0180,$0AAA
		DC.W	$4c07,$FFFE
		DC.W	$0180,$0888
		DC.W	$4d07,$FFFE
		DC.W	$0180,$0666
		DC.W	$4e07,$FFFE
		DC.W	$0180,$0444

		DC.W	$4f07,$FFFE		; Vänta på rad $48
		DC.W	$0180,$0000		; Svart bakgrund


		DC.W	$8007,$FFFE		; Vänta på rad $40
		DC.W	$0180,$0CCC		; Grå bakgrund
		DC.W	$8107,$FFFE		; Vänta på rad $41
		DC.W	$0180,$0FFF		; Vit bakgrund
		DC.W	$8207,$FFFE		; etc.
		DC.W	$0180,$0EEE
		DC.W	$8307,$FFFE
		DC.W	$0180,$0CCC
		DC.W	$8407,$FFFE
		DC.W	$0180,$0AAA
		DC.W	$8507,$FFFE
		DC.W	$0180,$0888
		DC.W	$8607,$FFFE
		DC.W	$0180,$0666
		DC.W	$8707,$FFFE
		DC.W	$0180,$0444

		DC.W	$8807,$FFFE		; Vänta på rad $48
		DC.W	$0180,$0000		; Svart bakgrund


		DC.W	$b707,$FFFE		; Vänta på rad $40
		DC.W	$0180,$0CCC		; Grå bakgrund
		DC.W	$b807,$FFFE		; Vänta på rad $41
		DC.W	$0180,$0FFF		; Vit bakgrund
		DC.W	$b907,$FFFE		; etc.
		DC.W	$0180,$0EEE
		DC.W	$ba07,$FFFE
		DC.W	$0180,$0CCC
		DC.W	$bb07,$FFFE
		DC.W	$0180,$0AAA
		DC.W	$bc07,$FFFE
		DC.W	$0180,$0888
		DC.W	$bd07,$FFFE
		DC.W	$0180,$0666
		DC.W	$be07,$FFFE
		DC.W	$0180,$0444

		DC.W	$bf07,$FFFE		; Vänta på rad $48
		DC.W	$0180,$0000		; Svart bakgrund

		DC.W	$f107,$FFFE		; Vänta på rad $40
		DC.W	$0180,$0CCC		; Grå bakgrund
		DC.W	$f207,$FFFE		; Vänta på rad $41
		DC.W	$0180,$0FFF		; Vit bakgrund
		DC.W	$f307,$FFFE		; etc.
		DC.W	$0180,$0EEE
		DC.W	$f407,$FFFE
		DC.W	$0180,$0CCC
		DC.W	$f507,$FFFE
		DC.W	$0180,$0AAA
		DC.W	$f607,$FFFE
		DC.W	$0180,$0888
		DC.W	$f707,$FFFE
		DC.W	$0180,$0666
		DC.W	$f807,$FFFE
		DC.W	$0180,$0444
		DC.W	$f907,$FFFE		; Vänta på rad $48
		DC.W	$0180,$0222		; Svart bakgrund
		dc.w	$fa07,$fffe
		dc.w	$0180,$0000




		DC.W	$FFFF,$FFFE		; Avsluta coppern
COPEND:
COPSIZE:	EQU	COPEND-COPPERLIST

GFXNAME:	DC.B	'graphics.library',0
		EVEN
OLDCOPPER:	DC.L	0
NEWCOPPER:	DC.L	0
