*-----------------------------------------------------------------------------*
	INCDIR	DF0:Include/
	INCLUDE	CUSTOM.i
	INCLUDE	CIA.i
	INCLUDE	OFFSETS.i

	INCLUDE	MACROS.i

*-----------------------------------------------------------------------------*
ScWidth		= 32
ScHeigth	= 288
ScSize		= ScWidth*ScHeigth

PlaneWidth 	= 45
PlaneHeigth	= 288
Planes		= 4

Size		= 4

*-----------------------------------------------------------------------------*
START	movem.l	d0-a6,-(sp)

	move.l	$4.w,a6
	jsr	_LVOForbid(a6)

	moveq	#0,d0
	lea	GfxName(pc),a1
	jsr	_LVOOpenLibrary(a6)
	tst.l	d0
	beq.w	.Error

	move.l	d0,GfxBase
	move.l	d0,a6
	move.l	$22(a6),Temp_ActiView
	move.l	$26(a6),Temp_CopList1
	move.l	$32(a6),Temp_CopList2

	sub.l	a1,a1
	jsr	_LVOLoadView(a6)

	jsr	_LVOWaitTOF(a6)
	jsr	_LVOWaitTOF(a6)

	lea	$dff000,a6
	move.w	$02(a6),Temp_DMACON
	move.w	$10(a6),Temp_ADKCON
	move.w	$1c(a6),Temp_INTENA
	move.l	$6c.w,Temp_Lev3Int

	move.w	#$7fff,$96(a6)
	move.w	#$7fff,$9a(a6)
	move.w	#$7fff,$9c(a6)
	move.w	#$7f00,$9e(a6)

	lea	LEV3_INTERRUPT(pc),a0
	move.l	a0,$6c.w

	bsr.w	Calc_Tables

	move.w	#%1000001111100000,$96(a6)
	move.w	#%1100000000100000,$9a(a6)

*-----------------------------------------------------------------------------*
	moveq	#15-1,d7
.Loop0	Frame	311
	move.w	d7,-(SP)
	bsr.w	Zoomer
	bsr.w	Write
	move.w	(SP)+,d7
	dbf	d7,.Loop0

	moveq	#39-1,d7
	move.w	#2,Zadd2
.Loop1	Frame	311
	move.w	d7,-(SP)
	bsr.w	Zoomer
	bsr.w	Write
	move.w	(SP)+,d7
	dbf	d7,.Loop1

	moveq	#50-1,d7
	move.w	#0,Zadd2
.Loop4	Frame	311
	move.w	d7,-(SP)
	bsr.w	Zoomer
	bsr.w	Write
	move.w	(SP)+,d7
	dbf	d7,.Loop4

	moveq	#60-1,d7
	move.w	#2,Zadd2
	move.w	#1,BorCtrl
.Loop2	Frame	311
	move.w	d7,-(SP)
	bsr.w	Zoomer
	bsr.w	Write
	move.w	(SP)+,d7
	dbf	d7,.Loop2

	move.w	#2,KzAdd
	move.w	#6,Zadd1
	move.w	#4,Zadd2
	move.w	#9,Xmove
	move.w	#3,Ymove
.Loop3	Frame	311
;	move.w	#$f00,$dff180
	bsr.w	Zoomer
	bsr.w	Write
;	move.w	#$000,$dff180
	btst	#6,$bfe001
	bne.s	.Loop3

*-----------------------------------------------------------------------------*
	move.l	Temp_ActiView(pc),a1
	move.l	GfxBase(pc),a6
	jsr	_LVOLoadView(a6)

	lea	$dff000,a6
	move.w	#$7fff,$96(a6)
	move.w	#$7fff,$9a(a6)
	move.w	#$7fff,$9e(a6)

	move.l	Temp_CopList1(pc),$80(a6)
	move.l	Temp_CopList2(pc),$84(a6)
	move.l	Temp_Lev3Int(pc),$6c.w

	move.w	Temp_ADKCON(pc),d0
	or.w	#$8000,d0
	move.w	d0,$9e(a6)

	move.w	Temp_DMACON(pc),d0
	or.w	#$8000,d0
	move.w	d0,$96(a6)

	move.w	Temp_INTENA(pc),d0
	or.w	#$c000,d0
	move.w	d0,$9a(a6)

	move.l	$4.w,a6
	move.l	GfxBase(pc),a1
	jsr	_LVOCloseLibrary(a6)

.Error	jsr	_LVOPermit(a6)

	movem.l	(sp)+,d0-a6
	moveq	#0,d0
	rts

*-----------------------------------------------------------------------------*
Temp_ADKCON	dc.w	0
Temp_DMACON	dc.w	0
Temp_INTENA	dc.w	0
Temp_CopList1	dc.l	0
Temp_CopList2	dc.l	0
Temp_Lev3Int	dc.l	0
Temp_ActiView	dc.l	0

ScLine		dc.l	0

GfxBase		dc.l	0

GfxName		dc.b	'graphics.library',0
		even

*-----------------------------------------------------------------------------*
LEV3_INTERRUPT
	movem.l	d0-a6,-(SP)

	lea	BplPtr1,a1
	lea	BplPtr2,a2
	move.l	ShowPL(pc),d0
	add.l	ScLine(pc),d0
	move.w	d0,6(a1)
	move.w	d0,6(a2)
	swap.w	d0
	move.w	d0,2(a1)
	move.w	d0,2(a2)

	tst.w	BorCtrl
	bne.s	.Border

	cmp.w	#1,ScCtrl
	beq.s	.Up
	blt.s	.Out

	sub.l	#8*ScWidth,ScLine
	tst.l	ScLine
	bgt.s	.Out
	move.w	#0,ScCtrl

.Out	movem.l	(SP)+,d0-a6
	move.w	#%0000000000100000,$dff09c
	rte

.Up	add.l	#8*ScWidth,ScLine
	cmp.l	#ScHeigth*ScWidth,ScLine
	blt.s	.UpOk

	movem.l	ShowPL(pc),d0-d2
	exg.l	d0,d1
	exg.l	d1,d2
	movem.l	d0-d2,ShowPL

	move.l	d1,PlanePt
	move.l	d2,DelPt
	move.w	#2,ScCtrl

.UpOk	movem.l	(SP)+,d0-a6
	move.w	#%0000000000100000,$dff09c
	rte

.Border	move.l	BorPt1(pc),a1
	move.l	BorPt2(pc),a2
	move.w	#$c000,0(a1)
	move.w	#$c000,4(a1)
	move.w	#$c000,8(a1)
	move.w	#$c000,12(a1)
	move.w	#$c000,0(a2)
	move.w	#$c000,4(a2)
	move.w	#$c000,8(a2)
	move.w	#$c000,12(a2)
	add.l	#16,BorPt1
	sub.l	#16,BorPt2

	cmp.l	#Spr1+4+288*4,BorPt1
	blt.s	.BorOk
	move.w	#0,BorCtrl

.BorOk	movem.l	(SP)+,d0-a6
	move.w	#%0000000000100000,$dff09c
	rte

BorCtrl	dc.w	0
BorPt1	dc.l	Spr1+4
BorPt2	dc.l	Spr2+4+284*4

*-----------------------------------------------------------------------------*
CALC_TABLES
	lea	ColTab,a0
	lea	Uncle,a1
	lea	Palette,a2
	move.w	#16*128-1,d2

.Loop2	moveq	#7,d1

.Loop1	moveq	#0,d0
	btst	d1,0*16*128(a1)
	beq.s	.B0
	bset	#0,d0
.B0	btst	d1,1*16*128(a1)
	beq.s	.B1
	bset	#1,d0
.B1	btst	d1,2*16*128(a1)
	beq.s	.B2
	bset	#2,d0
.B2	btst	d1,3*16*128(a1)
	beq.s	.B3
	bset	#3,d0
.B3	add.w	d0,d0
	add.w	d0,d0
	move.w	2(a2,d0.w),(a0)+
	dbf	d1,.Loop1

	addq.l	#1,a1
	dbf	d2,.Loop2		

CALC_COPLIST
	lea	CopCol1,a0
	lea	CopCol2,a1
	move.w	#PlaneHeigth/4-1,d0
	move.l	#$1b37fffe,d1
	move.l	#$01800223,d2
.Loop	;sub.l	#$00020000,d1
	move.l	d1,(a0)+
	move.l	d1,(a1)+
	REPT	PlaneWidth
	move.l	d2,(a0)+
	move.l	d2,(a1)+
	ENDR
	add.l	#$02000000,d1
	;add.l	#$00020000,d1
	move.l	d1,(a0)+
	move.l	d1,(a1)+
	REPT	PlaneWidth
	move.l	d2,(a0)+
	move.l	d2,(a1)+
	ENDR
	add.l	#$02000000,d1
	dbf	d0,.Loop

INIT_SPRITES
	lea	SprPt1,a0
	lea	SprPt2,a1

	move.l	#Spr1,d0
	bsr.s	.Set
	move.l	#Spr2,d0
	bsr.s	.Set
	rts

.Set	move.w	d0,6(a0)
	move.w	d0,6(a1)
	swap.w	d0
	move.w	d0,2(a0)
	move.w	d0,2(a1)
	addq.l	#8,a0
	addq.l	#8,a1
	rts

Spr1	dc.l	$1c4c3c02
	blk.l	ScHeigth,$00000000
	dc.l	0

Spr2	dc.l	$1c8d3c02
	blk.l	ScHeigth,$00000000
	dc.l	0

*-----------------------------------------------------------------------------*
WRITE	tst.w	ScCtrl
	bne.w	.Out

	move.l	DelPt(pc),a1
	REPT	10
	move.l	#0,(a1)+
	ENDR
	move.l	a1,DelPt
	
	move.l	TextPt(pc),a0
	move.l	PlanePt(pc),a1
	lea	Fonts(pc),a2
	lea	FontOrder(pc),a3
	lea	FontWidth(pc),a4

	lea	16*ScWidth(a1),a1

	move.b	(a0),d0
	cmp.b	#' ',d0
	beq.s	.Space
	tst.b	d0
	beq.s	.Return
	cmp.b	#1,d0
	beq.w	.PageEd
	cmp.b	#2,d0
	beq.w	.ReStrt

	moveq	#-1,d1
.Lp1	addq.w	#1,d1
	cmp.b	(a3,d1.w),d0
	bne.s	.Lp1	

	move.w	WrtPos(pc),d3

	moveq	#0,d0
	move.b	(a4,d1.w),d0
	add.w	d0,Wrtpos

	add.w	d1,d1
	add.w	d1,d1

	move.w	d3,d4
	lsr.w	#4,d4
	add.w	d4,d4

	move.w	d3,d5
	and.w	#15,d5

	moveq	#22-1,d0
.Lp2	move.w	(a2,d1.w),d2
	swap.w	d2
	move.w	#0,d2	
	lsr.l	d5,d2
	or.l	d2,(a1,d4.w)
	add.w	#190,d1
	lea	ScWidth(a1),a1
	dbf	d0,.Lp2
	lea	-22*ScWidth(a1),a1

	addq.l	#1,TextPt
	rts

.Space	addq.w	#8,WrtPos
	addq.l	#1,TextPt
.Out	rts

.Return	add.l	#29*ScWidth,PlanePt
	move.w	#6,WrtPos
	addq.l	#1,TextPt
	rts

.PageEd	move.w	#6,WrtPos
	addq.l	#1,TextPt
	move.w	#1,ScCtrl
	rts

.ReStrt	move.w	#6,WrtPos
	move.l	#Text,TextPt
	move.w	#1,ScCtrl
	rts
	
TextPt	dc.l	Text
PlanePt	dc.l	Pic2
DelPt	dc.l	Pic3
WrtPos	dc.w	6
ScCtrl	dc.w	0

Text	dc.b	"banal projects           ",0
	dc.b	"                         ",0
	dc.b	"                         ",0
	dc.b	"     code by epidemic    ",0
	dc.b	"    graphics by prayer   ",0
	dc.b	"     music by ukulele    ",0
	dc.b	"                         ",0
	dc.b	"                         ",0
	dc.b	"          banal projects ",1

	dc.b	"votevotevotevotevot      ",0
	dc.b	"evotevotevotevotevo      ",0
	dc.b	"tevotevotevotevotev      ",0
	dc.b	"otevotevotevotevote      ",0
	dc.b	"votevotevotevotevot      ",0
	dc.b	"evotevotevotevotevo      ",0
	dc.b	"tevotevotevotevotev      ",0
	dc.b	"otevotevotevotevote      ",0
	dc.b	"votevotevotevotevot      ",2

FontWidth
	dc.b	13,11,11,12,11,11,11,14,6,12,14,11,16,14,14,12,15,14,12
	dc.b	15,14,12,18,15,12,12, 15,8,12,13,13,13,13,13,13,13
	dc.b	6,6,5,10,6,14,5,10,8,8,14
FontOrder
	dc.b	"abcdefghijklmnopqrstuvwxyz0123456789.,'#:-!?()*"
	even

	incdir	DF1:
Fonts	incbin	32Fonts.RAW

*-----------------------------------------------------------------------------*
SWAP_PLANES
	lea	$dff000,a6

	movem.l	ShowCop(pc),d0-d1
	exg.l	d0,d1
	movem.l	d0-d1,ShowCop

	move.l	ShowCop(pc),$80(a6)
	tst.w	$88(a6)
	rts

ShowPL	dc.l	Pic1
WorkPL	dc.l	Pic2
DelPL	dc.l	Pic3

ShowCop	dc.l	Copperlist1
WorkCop	dc.l	Copperlist2

*-----------------------------------------------------------------------------*
CALC_COORDS
	move.w	Xmove(pc),d0
	move.w	Ymove(pc),d1
	add.w	d0,Xcentre
	add.w	d1,Ycentre
	and.w	#511,Xcentre
	and.w	#511,Ycentre

	move.w	Zadd1(pc),d2
	move.w	Zadd2(pc),d3

	movem.w	Zptrs(pc),d0-d1
	add.w	d2,d0
	add.w	d3,d1
	and.w	#511,d0
	and.w	#511,d1
	movem.w	d0-d1,Zptrs

	lea	Sin(pc),a0
	move.w	(a0,d0.w),d0
	add.w	(a0,d1.w),d0
	add.w	#512,d0
	move.w	d0,Dist

	lea	Sin(pc),a0
	lea	Cos(pc),a1
	lea	Coords(pc),a2
	lea	XYcoord(pc),a3

.loop	movem.w	(a2)+,d0/d1/d2		;x1,y1,z1

	move.w	Ky(pc),d7
	move.w	(a1,d7.w),d3
	move.w	d3,d4
	move.w	(a0,d7.w),d5
	move.w	d5,d6
	muls.w	d0,d3
	muls.w	d2,d5
	add.l	d3,d5
	asr.l	#8,d5			;x2

	muls.w	d0,d6
	muls.w	d2,d4
	sub.l	d6,d4
	asr.l	#8,d4			;z2

	move.w	Kx(pc),d7
	move.w	(a1,d7.w),d0
	move.w	d0,d2
	move.w	(a0,d7.w),d3
	move.w	d3,d6
	muls.w	d1,d0
	muls.w	d4,d3
	sub.l	d3,d0
	asr.l	#8,d0			;y3

	muls.w	d1,d6
	muls.w	d4,d2
	add.l	d6,d2
	asr.l	#8,d2			;z3

	move.w	Kz(pc),d7
	move.w	(a1,d7.w),d1
	move.w	d1,d3
	move.w	(a0,d7.w),d4
	move.w	d4,d6		
	muls.w	d5,d1
	muls.w	d0,d4
	sub.l	d4,d1
	asr.l	#8,d1

	muls.w	d5,d6
	muls.w	d0,d3
	add.l	d6,d3
	asr.l	#8,d3

	muls.w	Dist(pc),d1
	asr.l	#8,d1
	add.w	Xcentre(pc),d1
	move.w	d1,(a3)+

	muls.w	Dist(pc),d3
	asr.l	#8,d3
	add.w	Ycentre(pc),d3
	move.w	d3,(a3)+	

	cmp.w	#9999,(a2)
	bne.w	.loop

	move.w	Kz(pc),d0
	move.w	KzAdd(pc),d1
	add.w	d1,d0
	and.w	#511,d0
	move.w	d0,Kz
	rts

*-----------------------------------------------------------------------------*
SetByte	MACRO
	move.w	d0,d2
	move.w	d1,d3
	asr.w	#7,d2
	and.w	d5,d2
	and.w	d6,d3
	add.w	d2,d3
	move.w	(a0,d3.w),\1*4(a1)
	add.w	a3,d0
	add.w	a4,d1
	ENDM

*-----------------------------------------------------------------------------*
ZOOMER	bsr.w	Swap_Planes
	bsr.w	Calc_Coords

	lea	XYcoord(pc),a0

	move.w	00(a0),d0
	move.w	02(a0),d1
	move.w	04(a0),d2
	move.w	06(a0),d3

	move.w	d2,d4
	sub.w	d0,d4
	muls.w	#128,d4
	divs.w	#PlaneWidth*8/Size,d4
	move.w	d4,Xadd1

	move.w	d3,d5
	sub.w	d1,d5
	muls.w	#128,d5
	divs.w	#PlaneWidth*8/Size,d5
	move.w	d5,Yadd1
	
	move.w	00(a0),d0
	move.w	02(a0),d1
	move.w	08(a0),d2
	move.w	10(a0),d3
	
	move.w	d2,d4
	sub.w	d0,d4
	muls.w	#128,d4
	divs.w	#PlaneWidth*8/Size,d4
	move.w	d4,Xadd2

	move.w	d3,d5
	sub.w	d1,d5
	muls.w	#128,d5
	divs.w	#PlaneWidth*8/Size,d5
	move.w	d5,Yadd2

	moveq	#0,d0
	move.w	0(a0),d0
	muls.w	#64,d0
	move.w	d0,a5

	moveq	#0,d4
	move.w	2(a0),d4
	muls.w	#64,d4

	WBLIT
	move.l	#$09f00000,$40(a6)
	move.l	#$ffffffff,$44(a6)
	move.l	#$00020002,$64(a6)

	lea	ColTab,a0
	move.l	WorkCop(pc),a1

	lea	CopCol1-CopperList1+6(a1),a1
	lea	[PlaneWidth*4+4](a1),a2

	move.w	Xadd1(pc),a3
	move.w	Yadd1(pc),a4

	move.w	#$00fe,d5
	move.w	#$7f00,d6
	moveq	#PlaneHeigth/Size-1,d7

.Loop2	move.w	a5,d0
	move.w	d4,d1

	SetByte	00
	SetByte	01
	SetByte	02
	SetByte	03
	SetByte	04
	SetByte	05
	SetByte	06
	SetByte	07
	SetByte	08
	SetByte	09
	SetByte	10
	SetByte	11
	SetByte	12
	SetByte	13
	SetByte	14
	SetByte	15
	SetByte	16
	SetByte	17
	SetByte	18
	SetByte	19
	SetByte	20
	SetByte	21
	SetByte	22
	SetByte	23
	SetByte	24
	SetByte	25
	SetByte	26
	SetByte	27
	SetByte	28
	SetByte	29
	SetByte	30
	SetByte	31
	SetByte	32
	SetByte	33
	SetByte	34
	SetByte	35
	SetByte	36
	SetByte	37
	SetByte	38
	SetByte	39
	SetByte	40
	SetByte	41
	SetByte	42
	SetByte	43

	WBLIT
	move.l	a1,$50(a6)
	move.l	a2,$54(a6)
	move.w	#44<<6+1,$58(a6)

	lea	2*[PlaneWidth*4+4](a1),a1
	lea	2*[PlaneWidth*4+4](a2),a2
	add.w	Xadd2(pc),a5
	add.w	Yadd2(pc),d4
	dbf	d7,.Loop2
	rts

*-----------------------------------------------------------------------------*
Zptrs	dc.w	384,384

Xmove	dc.w	0
Ymove	dc.w	0

Zadd1	dc.w	0
Zadd2	dc.w	0
KzAdd	dc.w	0

Xadd1	dc.w	0
Yadd1	dc.w	0
Xadd2	dc.w	0
Yadd2	dc.w	0

Kx	dc.w	0*2
Ky	dc.w	0*2
Kz	dc.w	0*2

Dist	dc.w	0
XCentre	dc.w	145
YCentre	dc.w	87

Coords	dc.w	-123,-63,000
	dc.w	+123,-63,000
	dc.w	-123,+63,000
	dc.w	+123,+63,000
	dc.w	9999

XYcoord	blk.w	128,0

Sin	DC.W	$0000,$0006,$000C,$0012,$0019,$001F,$0025,$002B
	DC.W	$0031,$0037,$003E,$0044,$004A,$0050,$0056,$005B
	DC.W	$0061,$0067,$006D,$0072,$0078,$007D,$0083,$0088
	DC.W	$008D,$0093,$0098,$009D,$00A2,$00A6,$00AB,$00B0
	DC.W	$00B4,$00B9,$00BD,$00C1,$00C5,$00C9,$00CD,$00D0
	DC.W	$00D4,$00D7,$00DB,$00DE,$00E1,$00E4,$00E6,$00E9
	DC.W	$00EC,$00EE,$00F0,$00F2,$00F4,$00F6,$00F7,$00F9
	DC.W	$00FA,$00FB,$00FC,$00FD,$00FE,$00FE,$00FF,$00FF
Cos	DC.W	$00FF,$00FF,$00FF,$00FE,$00FE,$00FD,$00FC,$00FB
	DC.W	$00FA,$00F9,$00F7,$00F6,$00F4,$00F2,$00F0,$00EE
	DC.W	$00EC,$00E9,$00E6,$00E4,$00E1,$00DE,$00DB,$00D7
	DC.W	$00D4,$00D0,$00CD,$00C9,$00C5,$00C1,$00BD,$00B9
	DC.W	$00B4,$00B0,$00AB,$00A6,$00A2,$009D,$0098,$0093
	DC.W	$008D,$0088,$0083,$007D,$0078,$0072,$006D,$0067
	DC.W	$0061,$005B,$0056,$0050,$004A,$0044,$003E,$0037
	DC.W	$0031,$002B,$0025,$001F,$0019,$0012,$000C,$0006
	DC.W	$0000,$FFF9,$FFF3,$FFED,$FFE6,$FFE0,$FFDA,$FFD4
	DC.W	$FFCE,$FFC8,$FFC1,$FFBB,$FFB5,$FFAF,$FFA9,$FFA4
	DC.W	$FF9E,$FF98,$FF92,$FF8D,$FF87,$FF82,$FF7C,$FF77
	DC.W	$FF72,$FF6C,$FF67,$FF62,$FF5D,$FF59,$FF54,$FF4F
	DC.W	$FF4B,$FF46,$FF42,$FF3E,$FF3A,$FF36,$FF32,$FF2F
	DC.W	$FF2B,$FF28,$FF24,$FF21,$FF1E,$FF1B,$FF19,$FF16
	DC.W	$FF13,$FF11,$FF0F,$FF0D,$FF0B,$FF09,$FF08,$FF06
	DC.W	$FF05,$FF04,$FF03,$FF02,$FF01,$FF01,$FF00,$FF00
	DC.W	$FF00,$FF00,$FF00,$FF01,$FF01,$FF02,$FF03,$FF04
	DC.W	$FF05,$FF06,$FF08,$FF09,$FF0B,$FF0D,$FF0F,$FF11
	DC.W	$FF13,$FF16,$FF19,$FF1B,$FF1E,$FF21,$FF24,$FF28
	DC.W	$FF2B,$FF2F,$FF32,$FF36,$FF3A,$FF3E,$FF42,$FF46
	DC.W	$FF4B,$FF4F,$FF54,$FF59,$FF5D,$FF62,$FF67,$FF6C
	DC.W	$FF72,$FF77,$FF7C,$FF82,$FF87,$FF8D,$FF92,$FF98
	DC.W	$FF9E,$FFA4,$FFA9,$FFAF,$FFB5,$FFBB,$FFC1,$FFC8
	DC.W	$FFCE,$FFD4,$FFDA,$FFE0,$FFE6,$FFED,$FFF3,$FFF9
	DC.W	$0000,$0006,$000C,$0012,$0019,$001F,$0025,$002B
	DC.W	$0031,$0037,$003E,$0044,$004A,$0050,$0056,$005B
	DC.W	$0061,$0067,$006D,$0072,$0078,$007D,$0083,$0088
	DC.W	$008D,$0093,$0098,$009D,$00A2,$00A6,$00AB,$00B0
	DC.W	$00B4,$00B9,$00BD,$00C1,$00C5,$00C9,$00CD,$00D0
	DC.W	$00D4,$00D7,$00DB,$00DE,$00E1,$00E4,$00E6,$00E9
	DC.W	$00EC,$00EE,$00F0,$00F2,$00F4,$00F6,$00F7,$00F9
	DC.W	$00FA,$00FB,$00FC,$00FD,$00FE,$00FE,$00FF,$00FF
	DC.W	$00FF,$00FF,$00FF,$00FE,$00FE,$00FD,$00FC,$00FB

Palette	dc.w	$0180,$0dab,$0182,$0fe7,$0184,$0fd4,$0186,$0fc0
	dc.w	$0188,$0fb0,$018a,$0fa0,$018c,$0e80,$018e,$0d70
	dc.w	$0190,$0c60,$0192,$0b50,$0194,$0a40,$0196,$0840
	dc.w	$0198,$0640,$019a,$0430,$019c,$0fec,$019e,$0965

*-----------------------------------------------------------------------------*
COPPERLIST1
	dc.w	$0001,$fffe,$0100,$0000

SprPt1	dc.w	$0120,$0000,$0122,$0000,$0124,$0000,$0126,$0000
	dc.w	$0128,$0000,$012a,$0000,$012c,$0000,$012e,$0000
	dc.w	$0130,$0000,$0132,$0000,$0134,$0000,$0136,$0000
	dc.w	$0138,$0000,$013a,$0000,$013c,$0000,$013e,$0000

	dc.w	$008e,$1c81,$0090,$3cc1
	dc.w	$0092,$0048,$0094,$0080
	dc.w	$0108,$0000,$010a,$0000
	dc.w	$0102,$0000,$0104,$0000
	dc.w	$0100,$9200

	dc.w	$0182,$0fef,$01a2,$0efe

BplPtr1	dc.w	$00e0,$0000,$00e2,$0000,$00e4,$0000,$00e6,$0000
	dc.w	$00e8,$0000,$00ea,$0000,$00ec,$0000,$00ee,$0000

CopCol1	blk.b	PlaneHeigth/2*[PlaneWidth*4+4],0

	dc.w	$ffff,$fffe

COPPERLIST2
	dc.w	$0001,$fffe,$0100,$0000

SprPt2	dc.w	$0120,$0000,$0122,$0000,$0124,$0000,$0126,$0000
	dc.w	$0128,$0000,$012a,$0000,$012c,$0000,$012e,$0000
	dc.w	$0130,$0000,$0132,$0000,$0134,$0000,$0136,$0000
	dc.w	$0138,$0000,$013a,$0000,$013c,$0000,$013e,$0000

	dc.w	$008e,$1c81,$0090,$3cc1
	dc.w	$0092,$0048,$0094,$0080
	dc.w	$0108,$0000,$010a,$0000
	dc.w	$0102,$0000,$0104,$0000
	dc.w	$0100,$9200

	dc.w	$0182,$0fef,$01a2,$0efe

BplPtr2	dc.w	$00e0,$0000,$00e2,$0000,$00e4,$0000,$00e6,$0000
	dc.w	$00e8,$0000,$00ea,$0000,$00ec,$0000,$00ee,$0000

CopCol2	blk.b	PlaneHeigth/2*[PlaneWidth*4+4],0

	dc.w	$ffff,$fffe

*-----------------------------------------------------------------------------*
	incdir	DF1:
Uncle	incbin	Duck128.RAW

ColTab	blk.w	128*128,0

Pic1	blk.b	ScWidth*ScHeigth*2,0
Pic2	blk.b	ScWidth*ScHeigth*2,0
Pic3	blk.b	ScWidth*ScHeigth*2,0

