;*ratas

xangle		equ	$0400
yangle		equ	$0a00
zangle		equ	$0200

distant		equ	$2000

aradius		equ	$0500
bradius		equ	$0200

xarcus		equ	$0200
yarcus		equ	$0400
drawcolor	equ	$0d82
backcolor	equ	$0def

		include	"offsetsd3.i"
		include	"d3Libs.i"
		
		OpenD3	cleanup
		
		Lib	D3,OpenD3Screen			;openlibs

		OpenD3Window	#0,#0,#310,#250,#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
		lea	Bval(pc),a3
		lea	xval(pc),a4
		lea	yval(pc),a5
		
		AllocD3Buf	#1
		
		TestZero	d0,error
loop		
		move.w	#bradius,d6
		move.w	d4,d7
		add.w	d3,d7
		
		muls.w	#8,d7
		mulsini	#$0040,d7
		add.w	d0,d6
		move.w	d3,d0
		muls.w	#32,d0
		move.w	#$0040,d2
		mulsini	d2,d0
		add.w	d0,d6

		mulcosi	d6,d4
		add.w	d5,d0
		move.w	d0,d2
		mulcosi	d2,d3
		move.w	d0,(a4)			;x
		mulcosi	d6,d4
		add.w	d5,d0
		move.w	d0,d2
		mulsini	d2,d3
		move.w	d0,(a5)			;y
		mulsini	d6,d4			;z*sin(s)
				

		move.w	d0,d2
		move.w	(a5),d1
		move.w	(a4),d0
		
		Lib	D3,D3ColorPlot
		add.w	#64,d4
		cmp.w	#$4000,d4
		ble 	loop		

		Lib	D3,VanillaKey
		bne	stop
		move.w	#0,d4
		add.w	#12,d3
		cmp.w	#$4000,d3
		ble 	loop
	
		Lib	D3,ColorWindow

stop		
error
		FreeD3Buf	#1
	
		ClickD3Window	#1
		
		Lib	D3,CloseD3Screen			;closelibs
cleanup		CloseD3
		rts

_D3Base		dc.l	0		

Aval		dc.w	0
Bval		dc.w	0
vval		dc.w	0
xval		dc.w	0
yval		dc.w	0
zval		dc.w	0	
D3buf		dc.l	0
lm		dc.w	0
	

		end	


		
	
