	       	org	0

		include	interp.mac

;*****************************************************************************
;*****************************************************************************
; GAL PROGRAM START HERE
;*****************************************************************************
;*****************************************************************************

		Process	0

begin0		

X	EQU	r0
Y	EQU	r1
DeltaX	EQU	r2
DeltaY	EQU	r3
Zero	EQU	r4

main0		

		speed	2
		spawn	Proc1
		spawn	Proc2
		spawn	Proc3
		spawn	Proc4

		pal	2
		bobpri	0,0
		pause	32

		sleep
 
finish0		
		pal	0
		pause	32
		release
		die

;***************************************************************************
Proc1	 	
		Process	1

begin1	


OldButtons	EQU	r5	
CurrentButtons	EQU	r6

main1		
		hold
		mov	r0,0
		mov	r1,302
		mov	r2,183
		restrict r0,r1,r0,r2

		mov	Zero,0
		mov	OldButtons,0
		mov	CurrentButtons,0

		bobanim	2
		animpause
		bobpri	1,3

loop1		
		load	BobX,MouseX
		load	BobY,MouseY

		release
		hold

		load	CurrentButtons,Buttons
		compare	CurrentButtons,OldButtons
		jumpeq	nochange1

		animcont
		release
		hold
		animpause
		store	BobX,0
		store	BobY,2
		
nochange1	add3	OldButtons,CurrentButtons,Zero

		jump	loop1

finish1		release
		animpause
		pause	64
		killbob

		release
		die

;**********************************************************************

Proc2		
		Process	2

begin2		


main2		
		mov	BobX,14
		mov	BobY,151

		bobanim	1
		bobpri	2,1
		animcont
		animpause

loop2		
		release
		hold

		load	r0,keyval
		icomp	r0,83
		jumpeq	pressed2

		load	r0,0
		load	r1,2
		mov	r3,15
		add3	r0,r0,r3

		icomp	r0,12
		jumpl	exit2
  		icomp	r0,80
		jumpg	exit2
		icomp	r1,150
		jumpl	exit2
		icomp	r1,162
		jumpg	exit2

pressed2
		hold
		mov	r0,0
		store	r0,4
		wake	0
		killbob
		release
		wake	0

exit2		jump	loop2

finish2		

		release
		animpause
		pause	64
		killbob

		release
		die

;********************************************************************

Proc3		
		Process	3

begin3		


main3		
		mov	BobX,14
		mov	BobY,166

		bobanim	1
		bobpri	3,2
		animcont
		animpause

loop3	       
		release
		hold

		load	r0,keyval
		icomp	r0,69
		jumpeq	pressed3

		load	r0,0
		load	r1,2
		mov	r3,15
		add3	r0,r0,r3

		icomp	r0,14
		jumpl	exit3
  		icomp	r0,80
		jumpg	exit3
		icomp	r1,165
		jumpl	exit3
		icomp	r1,177
		jumpg	exit3

pressed3	
		hold
		mov	r0,1
		store	r0,4
		wake	0
		killbob
		release
		wake	0

exit3		jump	loop3

finish3		

		release
		animpause
		pause	64
		killbob

		release
		die
;********************************************************************

Proc4		
		Process	4

begin4		


main4		
		mov	BobX,232
		mov	BobY,181

		bobanim	1
		bobpri	4,2
		animcont
		animpause

loop4	       
		release
		hold

		load	r0,keyval
		icomp	r0,69
		jumpeq	pressed3

		load	r0,0
		load	r1,2
		mov	r3,15
		add3	r0,r0,r3

		icomp	r0,230
		jumpl	exit4
  		icomp	r0,310
		jumpg	exit4
		icomp	r1,180
		jumpl	exit4
		icomp	r1,192
		jumpg	exit4

pressed4     
		hold
		mov	r0,5
		store	r0,4
		wake	0
		killbob
		release
		wake	0

exit4		jump	loop4

finish4		

		release
		animpause
		pause	64
		killbob

		release
		die




;*****************************************************************************
;*****************************************************************************
; END OF GAL PROGRAM
;*****************************************************************************
;*****************************************************************************

END
