
		include "offsetsd3.i"
		include	"d3Libs.i"
		

xangle		equ	$1800
yangle		equ	$fc00
zangle		equ	$0000
distant		equ	$4000	
aradius		equ	$0480
bradius		equ	$0400
	
xarcus		equ	$0400
yarcus		equ	$fe00

drawcolor	equ	$0f60
backcolor	equ	$0def

xv		equ	-2
yv		equ	-4
zv		equ	-6
xsint		equ	-8
xcost		equ	-10
ysint		equ	-12
ycost		equ	-14
		link	a4,#-16
		OpenD3	cleanup
		
		OpenD3Screen			;openlibs

		OpenD3Window	#0,#0,#310,#240,#1
		
		TestZero	d0,error
		
		LightArcus	#xarcus,#yarcus

		ColorSet	#drawcolor,#backcolor

		D3Rot	#xangle,#yangle,#zangle

		D3Dist		#distant	;distans


		move.w	#aradius,d5
		move.w	#bradius,d6
		move.w	#$0,d3
		move.w	#$0,d4
	

		AllocD3Buf	#1
		
		TestZero	d0,error
loop
		move.w	#bradius,d6
		move.w	d4,d7
		move.w	#aradius,d5
		muls.w	#3,d7
		asr.w	#1,d7
		mulsini	d6,d7
		add.w	d0,d5
		move.w	d3,d7
		asl.w	#1,d7
		mulsini	d5,d7
		move.w	d0,d2
		mulcosi d2,d3
		move.w	d0,d2
		mulcosi	d2,d3
		move.w	d0,xv(a4)

		mulsini	d2,d3

		move.w	d0,d7
		move.w	d4,d6
		muls.w	#3,d6
		move.w	d0,d2
		mulsini	d2,d4
		move.w	d0,yv(a4)

		mulcosi	d2,d6
		move.w	d0,zv(a4)
		
		move.w	d3,d6
		muls.w	#3,d6
		mulsini	xv(a4),d6
		move.w	d0,xsint(a4)
		mulcosi	zv(a4),d6
		move.w	d0,xcost(a4)
		mulsini	yv(a4),d6
		move.w	d0,ysint(a4)
		mulcosi	zv(a4),d6
		move.w	d0,ycost(a4)
		
		add.w	ysint(a4),d0
		move.w	d0,yv(a4)
		
		move.w	xcost(a4),d0
		sub.w	xsint(a4),d0
		move.w	d0,xv(a4)
		
	
		D3ColorPlot	xv(a4),yv(a4),zv(a4)

		neg.w	xv(a4)
		
		D3ColorPlot	xv(a4),yv(a4),zv(a4)

		tst.w	d7
		bne	nozero
		moveq	#4,d7
nozero		move.l	#$3600,d6
		divs.w	d7,d6
		add.w	d6,d4
		cmp.w	#$4000,d4
		blt 	loop		
		
		Lib	D3,VanillaKey
		tst.w	d0
		bne	error
		move.w	#0,d4
		add.w	#08,d3
		cmp.w	#$1020,d3
		ble 	loop
				
		ColorWindow	#1
error
		FreeD3Buf	#1
		
		ClickD3Window	#1
	
		CloseD3Screen			;closelibs
cleanup		CloseD3
		unlk		a4
		rts

_D3Base		dc.l	0		
	

		end	
