*****************************************************************************
*                                                                           *
*                        Wiggle It Just A Little Bit			    *
*                                                                           *
*  Start Date : 25/3/91                                                     *
* Last Update : 25/3/91                                                     *
*   							   Code : Melt Down *
*                                                                           *
*****************************************************************************

; Include the macros

	Incdir	Df1:
	Include	Source/Macro

*****************************************************************************

; Dont forget to use chip ram

	Chip
	
*****************************************************************************

; Kill the operating system for good mesure

	Kill		
	
*****************************************************************************

; Load custom and set up copper list

	Lea	Custom,A5
	Move.l	#Copper,Cop1lch(a5)
	
*****************************************************************************

; Init Some Bitmaps

	Move.l	#Wiggle,D0
	PlaneOn	D0,Bit1l+2,Bit1h+2
	Add.w	#44,D0
	PlaneOn	D0,Bit2l+2,Bit2h+2
	Add.w	#44,D0
	PlaneOn	D0,Bit3l+2,Bit3h+2

*****************************************************************************

	Bsr	CreateCopper

*****************************************************************************

; Main routine here

Mouse
	Pos
	Bsr	WigCop
	Bsr	SineBars
	Tstmice	Mouse				; Pressed the mouse
	
*****************************************************************************

; Return operating system and go back to user

	Heal
	Clr.l	D0				; No error
	Rts
	
*****************************************************************************

CreateCopper
	Lea	DoCop,A0
	Move.l	#216-1,D7			; Number Of Bars Down
	Move.l	#$2837fffe,D0			; Wait 
	Move.l	#$01020000,d1			; Bplcon2
CopperLoop
	Move.l	D1,(a0)+
	Move.l	D0,(a0)+
	Move.l	#$01860001,(a0)+
	Move.l	#$01880002,(a0)+
	Move.l	#$018a0003,(a0)+
	Move.l	#$018c0004,(a0)+
	Move.l	#$018e0005,(a0)+
	Move.l	#$01820006,(a0)+
	Move.l	#$01840007,(a0)+
	Move.l	#$01860008,(a0)+
	Move.l	#$01880009,(a0)+
	Move.l	#$018a000a,(a0)+
	Move.l	#$018c000b,(a0)+
	Move.l	#$018e000c,(a0)+
	Move.l	#$0182000d,(a0)+
	Move.l	#$0184000e,(a0)+
	Move.l	#$0186000f,(a0)+
	Move.l	#$0188000e,(a0)+
	Move.l	#$018a000d,(a0)+
	Move.l	#$018c000c,(a0)+
	Move.l	#$018e000b,(a0)+
	Move.l	#$0182000a,(a0)+
	Move.l	#$01840009,(a0)+
	Move.l	#$01860008,(a0)+
	Move.l	#$01880007,(a0)+
	Move.l	#$018a0006,(a0)+
	Move.l	#$018c0005,(a0)+
	Move.l	#$018e0004,(a0)+
	Move.l	#$01820003,(a0)+
	Move.l	#$01840002,(a0)+
	Move.l	#$01860001,(a0)+
	Move.l	#$01880000,(a0)+
	Move.l	#$018a0001,(a0)+
	Move.l	#$018c0002,(a0)+
	Move.l	#$018e0003,(a0)+
	Move.l	#$01820004,(a0)+
	Move.l	#$01840005,(a0)+
	Move.l	#$01860006,(a0)+
	Move.l	#$01880007,(a0)+
	Move.l	#$018a0008,(a0)+
	Move.l	#$018c0009,(a0)+
	Move.l	#$018e000a,(a0)+
	Move.l	#$0182000b,(a0)+
	Move.l	#$0184000c,(a0)+
	Add.l	#$01000000,D0
	Dbf	D7,CopperLoop
	Rts

*****************************************************************************

WigCop
	Add.w	#2,WigPtr
	And.w	#$7e,WigPtr
	Move.l	#WiggleIt,D0
	Add.w	WigPtr,D0
	Move.l	D0,Bltapth(a5)
	Move.l	#DoCop+2,Bltdpth(a5)
	Move.l	#$09f00000,Bltcon0(a5)
	Move.w	#174,Bltdmod(a5)
	Move.w	#000,Bltamod(a5)
	Move.l	#-1,Bltafwm(a5)
	Move.w	#216*64+1,Bltsize(a5)
	Rts

*****************************************************************************

SineBars
	Lea	ColTab,A6
	Move.l	(a6)+,d0
	Add.l	d0,X1pt
	And.l	#$03fe03fe,X1pt
	Move.l	#$09f00000,Bltcon0(a5)
	Move.w	#174,Bltdmod(a5)
	Move.w	#000,Bltamod(a5)
	Move.l	#-1,Bltafwm(a5)
	Lea	Bltapth(a5),A0
	Lea	Bltdpth(a5),A1
	Lea	BltSize(a5),a2
	Lea	XSin,a3
	Add.w	X1pt,A3
	Lea	XSin,A4
	Add.w	X2pt,A4
	Move.l	#DoCop+10,d0
	Move.l	#216*64+1,D1
	Moveq	#0,D2
	Moveq	#0,D3
	Move.w	(a6)+,D4
	Move.w	(a6)+,D5
	Move.l	#42-1,d7
BarLoop
	Move.l	(a6)+,d6
	Add.w	(a3,d2),d6
	Add.w	(a4,d3),d6
	Move.l	d6,(a0)
	Move.l	d0,(a1)
	Move.w	D1,(a2)
	Addq	#4,D0
	Add.w	D4,D2
	Add.w	D5,D3
	Dbf	D7,BarLoop
	Rts

*****************************************************************************

; All copper list after here

Copper

	Spr_Off					; Switch sprites off
	Cmove	$2881,Diwstrt
	Cmove	$2cc1,Diwstop
	Cmove	$0028,Ddfstrt
	Cmove	$00d0,Ddfstop
	Cmove	-0044,Bpl1mod			
	Cmove	-0044,Bpl2mod
	Cmove	$3200,Bplcon0
	Cmove	$0000,Color00
Bit1l	Cmove	$0000,Bpl1ptl
Bit1h	Cmove	$0000,Bpl1pth
Bit2l	Cmove	$0000,Bpl2ptl
Bit2h	Cmove	$0000,Bpl2pth
Bit3l	Cmove	$0000,Bpl3ptl
Bit3h	Cmove	$0000,Bpl3pth
DoCop
	Dcb.b	176*216
	Cmove	$0200,Bplcon0
	Endcop

*****************************************************************************

WigPtr
	Dc.w	0
WiggleIt
	Rept	5
	dc.w	15*17,15*17,15*17,15*17,14*17,14*17,14*17,13*17
	dc.w	13*17,12*17,12*17,11*17,10*17,10*17,9*17,8*17
	dc.w	7*17,7*17,6*17,5*17,5*17,4*17,3*17,3*17
	dc.w	2*17,2*17,1*17,1*17,1*17,0*17,0*17,0*17
	dc.w	0*17,0*17,0*17,0*17,1*17,1*17,1*17,2*17
	dc.w	2*17,3*17,3*17,4*17,5*17,5*17,6*17,7*17
	dc.w	7*17,8*17,9*17,10*17,10*17,11*17,12*17,12*17
	dc.w	13*17,13*17,14*17,14*17,14*17,15*17,15*17,15*17
	Endr
	
*****************************************************************************

X1pt
	Dc.w	0
X2pt
	Dc.w	0
XSin
	Rept	3
	dc.w	105*2,105*2,105*2,105*2,105*2,105*2,105*2,105*2
	dc.w	105*2,105*2,105*2,105*2,104*2,104*2,104*2,104*2
	dc.w	104*2,104*2,104*2,104*2,103*2,103*2,103*2,103*2
	dc.w	103*2,103*2,102*2,102*2,102*2,102*2,101*2,101*2
	dc.w	101*2,101*2,100*2,100*2,100*2,100*2,99*2,99*2
	dc.w	99*2,98*2,98*2,98*2,98*2,97*2,97*2,97*2
	dc.w	96*2,96*2,95*2,95*2,95*2,94*2,94*2,93*2
	dc.w	93*2,93*2,92*2,92*2,91*2,91*2,91*2,90*2
	dc.w	90*2,89*2,89*2,88*2,88*2,87*2,87*2,86*2
	dc.w	86*2,85*2,85*2,84*2,84*2,83*2,83*2,82*2
	dc.w	82*2,81*2,81*2,80*2,79*2,79*2,78*2,78*2
	dc.w	77*2,77*2,76*2,76*2,75*2,74*2,74*2,73*2
	dc.w	73*2,72*2,71*2,71*2,70*2,70*2,69*2,68*2
	dc.w	68*2,67*2,67*2,66*2,65*2,65*2,64*2,63*2
	dc.w	63*2,62*2,61*2,61*2,60*2,60*2,59*2,58*2
	dc.w	58*2,57*2,56*2,56*2,55*2,54*2,54*2,53*2
	dc.w	52*2,52*2,51*2,51*2,50*2,49*2,49*2,48*2
	dc.w	47*2,47*2,46*2,45*2,45*2,44*2,44*2,43*2
	dc.w	42*2,42*2,41*2,40*2,40*2,39*2,38*2,38*2
	dc.w	37*2,37*2,36*2,35*2,35*2,34*2,34*2,33*2
	dc.w	32*2,32*2,31*2,31*2,30*2,29*2,29*2,28*2
	dc.w	28*2,27*2,27*2,26*2,26*2,25*2,24*2,24*2
	dc.w	23*2,23*2,22*2,22*2,21*2,21*2,20*2,20*2
	dc.w	19*2,19*2,18*2,18*2,17*2,17*2,16*2,16*2
	dc.w	15*2,15*2,14*2,14*2,14*2,13*2,13*2,12*2
	dc.w	12*2,12*2,11*2,11*2,10*2,10*2,10*2,9*2
	dc.w	9*2,8*2,8*2,8*2,7*2,7*2,7*2,7*2
	dc.w	6*2,6*2,6*2,5*2,5*2,5*2,5*2,4*2
	dc.w	4*2,4*2,4*2,3*2,3*2,3*2,3*2,2*2
	dc.w	2*2,2*2,2*2,2*2,2*2,1*2,1*2,1*2
	dc.w	1*2,1*2,1*2,1*2,1*2,0*2,0*2,0*2
	dc.w	0*2,0*2,0*2,0*2,0*2,0*2,0*2,0*2
	dc.w	0*2,0*2,0*2,0*2,0*2,0*2,0*2,0*2
	dc.w	0*2,0*2,0*2,0*2,1*2,1*2,1*2,1*2
	dc.w	1*2,1*2,1*2,1*2,2*2,2*2,2*2,2*2
	dc.w	2*2,2*2,3*2,3*2,3*2,3*2,4*2,4*2
	dc.w	4*2,4*2,5*2,5*2,5*2,5*2,6*2,6*2
	dc.w	6*2,7*2,7*2,7*2,7*2,8*2,8*2,8*2
	dc.w	9*2,9*2,10*2,10*2,10*2,11*2,11*2,12*2
	dc.w	12*2,12*2,13*2,13*2,14*2,14*2,14*2,15*2
	dc.w	15*2,16*2,16*2,17*2,17*2,18*2,18*2,19*2
	dc.w	19*2,20*2,20*2,21*2,21*2,22*2,22*2,23*2
	dc.w	23*2,24*2,24*2,25*2,26*2,26*2,27*2,27*2
	dc.w	28*2,28*2,29*2,29*2,30*2,31*2,31*2,32*2
	dc.w	32*2,33*2,34*2,34*2,35*2,35*2,36*2,37*2
	dc.w	37*2,38*2,38*2,39*2,40*2,40*2,41*2,42*2
	dc.w	42*2,43*2,44*2,44*2,45*2,45*2,46*2,47*2
	dc.w	47*2,48*2,49*2,49*2,50*2,51*2,51*2,52*2
	dc.w	53*2,53*2,54*2,54*2,55*2,56*2,56*2,57*2
	dc.w	58*2,58*2,59*2,60*2,60*2,61*2,61*2,62*2
	dc.w	63*2,63*2,64*2,65*2,65*2,66*2,67*2,67*2
	dc.w	68*2,68*2,69*2,70*2,70*2,71*2,71*2,72*2
	dc.w	73*2,73*2,74*2,74*2,75*2,76*2,76*2,77*2
	dc.w	77*2,78*2,78*2,79*2,79*2,80*2,81*2,81*2
	dc.w	82*2,82*2,83*2,83*2,84*2,84*2,85*2,85*2
	dc.w	86*2,86*2,87*2,87*2,88*2,88*2,89*2,89*2
	dc.w	90*2,90*2,91*2,91*2,91*2,92*2,92*2,93*2
	dc.w	93*2,93*2,94*2,94*2,95*2,95*2,95*2,96*2
	dc.w	96*2,97*2,97*2,97*2,98*2,98*2,98*2,98*2
	dc.w	99*2,99*2,99*2,100*2,100*2,100*2,100*2,101*2
	dc.w	101*2,101*2,101*2,102*2,102*2,102*2,102*2,103*2
	dc.w	103*2,103*2,103*2,103*2,103*2,104*2,104*2,104*2
	dc.w	104*2,104*2,104*2,104*2,104*2,105*2,105*2,105*2
	dc.w	105*2,105*2,105*2,105*2,105*2,105*2,105*2,105*2
	Endr
	
*****************************************************************************

LoadsaBlue
	Rept	14
	Dc.w	0,1,2,3,4,5,6,7,8
	Dc.w	9,10,11,12,13,14,15
	Dc.w	15,14,13,12,11,10,9
	Dc.w	8,7,6,5,4,3,2,1,0
	Endr
LoadsaGreen
	Rept	14
	Dc.w	0*$10,1*$10,2*$10,3*$10,4*$10,5*$10,6*$10,7*$10,8*$10
	Dc.w	9*$10,10*$10,11*$10,12*$10,13*$10,14*$10,15*$10
	Dc.w	15*$10,14*$10,13*$10,12*$10,11*$10,10*$10,9*$10
	Dc.w	8*$10,7*$10,6*$10,5*$10,4*$10,3*$10,2*$10,1*$10,0*$10
	Endr
LoadsaRed
	Rept	14
	Dc.w	0*$100,1*$100,2*$100,3*$100,4*$100,5*$100,6*$100,7*$100,8*$100
	Dc.w	9*$100,10*$100,11*$100,12*$100,13*$100,14*$100,15*$100
	Dc.w	15*$100,14*$100,13*$100,12*$100,11*$100,10*$100,9*$100
	Dc.w	8*$100,7*$100,6*$100,5*$100,4*$100,3*$100,2*$100,1*$100,0*$100
	Endr
LoadsaYellow
	Rept	14
	Dc.w	0*$110,1*$110,2*$110,3*$110,4*$110,5*$110,6*$110,7*$110,8*$110
	Dc.w	9*$110,10*$110,11*$110,12*$110,13*$110,14*$110,15*$110
	Dc.w	15*$110,14*$110,13*$110,12*$110,11*$110,10*$110,9*$110
	Dc.w	8*$110,7*$110,6*$110,5*$110,4*$110,3*$110,2*$110,1*$110,0*$110
	Endr
LoadsaCyan
	Rept	14
	Dc.w	0*$011,1*$011,2*$011,3*$011,4*$011,5*$011,6*$011,7*$011,8*$011
	Dc.w	9*$011,10*$011,11*$011,12*$011,13*$011,14*$011,15*$011
	Dc.w	15*$011,14*$011,13*$011,12*$011,11*$011,10*$011,9*$011
	Dc.w	8*$011,7*$011,6*$011,5*$011,4*$011,3*$011,2*$011,1*$011,0*$011
	Endr
LoadsaMagenta
	Rept	14
	Dc.w	0*$101,1*$101,2*$101,3*$101,4*$101,5*$101,6*$101,7*$101,8*$101
	Dc.w	9*$101,10*$101,11*$101,12*$101,13*$101,14*$101,15*$101
	Dc.w	15*$101,14*$101,13*$101,12*$101,11*$101,10*$101,9*$101
	Dc.w	8*$101,7*$101,6*$101,5*$101,4*$101,3*$101,2*$101,1*$101,0*$101
	Endr
RedBlue
	Rept	4
	Dc.w	0,0,0,0,0
	dc.w	1,1,1,1,1,2,2,2
	dc.w	3,3,3,4,4,5,5,6
	dc.w	6,7,7,8,8,8,9,9
	dc.w	10,10,11,11,12,12,12,13
	dc.w	13,13,14,14,14,14,14,15
	dc.w	15,15,15,15
	dc.w	15,15,15,15,15,15,14,14
	dc.w	14,14,14,13,13,13,12,12
	dc.w	12,11,11,10,10,9,9,8
	dc.w	8,7,7,7,6,6,5,5
	dc.w	4,4,3,3,3,2,2,2
	dc.w	1,1,1,1,1,0,0,0
	dc.w	0,0,0
	dc.w	0*$100,0*$100,0*$100,0*$100
	dc.w	1*$100,1*$100,1*$100,1*$100,1*$100,2*$100,2*$100,2*$100
	dc.w	3*$100,3*$100,3*$100,4*$100,4*$100,5*$100,5*$100,6*$100
	dc.w	6*$100,7*$100,7*$100,8*$100,8*$100,8*$100,9*$100,9*$100
	dc.w	10*$100,10*$100,11*$100,11*$100,12*$100,12*$100,12*$100,13*$100
	dc.w	13*$100,13*$100,14*$100,14*$100,14*$100,14*$100,14*$100,15*$100
	dc.w	15*$100,15*$100,15*$100,15*$100
	dc.w	15*$100,15*$100,15*$100,15*$100,15*$100,15*$100,14*$100,14*$100
	dc.w	14*$100,14*$100,14*$100,13*$100,13*$100,13*$100,12*$100,12*$100
	dc.w	12*$100,11*$100,11*$100,10*$100,10*$100,9*$100,9*$100,8*$100
	dc.w	8*$100,7*$100,7*$100,7*$100,6*$100,6*$100,5*$100,5*$100
	dc.w	4*$100,4*$100,3*$100,3*$100,3*$100,2*$100,2*$100,2*$100
	dc.w	1*$100,1*$100,1*$100,1*$100,1*$100,0*$100,0*$100,0*$100
	dc.w	0*$100,0*$100,0*$100,0*$100
	Endr
	
*****************************************************************************

ColTab
	Dc.w	10,4,10,8
	Rept	14
	Dc.l	RedBlue,RedBlue,RedBlue
	Endr
	
*****************************************************************************

Wiggle
	Incbin	Gfx/Wig.Bm
	
*****************************************************************************


