

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

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

distant		equ	$2000

xarcus		equ	$0a00
yarcus		equ	$0200

drawcolor	equ	$02f1
backcolor	equ	$0edf

aradius		equ	$0500
bradius		equ	$01c0
null		equ	$0000

		OpenD3	cleanup
		
		Lib	D3,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	#null,d3
		move.w	#null,d4
		lea	Bval(pc),a3
		lea	xval(pc),a4
		lea	yval(pc),a5
		
		AllocD3Buf	#1
		
		TestZero	d0,Error
	
loop
	
		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
		tst.w	d0
		bne	Error
		
		move.w	#0,d4
		add.w	#16,d3
		cmp.w	#$4000,d3
		ble 	loop
				
	
		move.w	#bradius,d5			;m
		move.w	#$00a0,d6			;n
		move.w	#$0680,d7			;l

		move.w	#null,d3
		move.w	#null,d4
		
		lea	yval(pc),a2	
		lea	vval(pc),a3
		lea	xval(pc),a4
		lea	zval(pc),a5
	
loop1
	
		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)			;z

		mulsini	d6,d4			;y*sin(s)
		move.w	d0,(a2)			y

		move.w	(a4),d2
		add.w	d7,d2
		move.w	d2,(a4)			;l+mcost+ncosscost
		mulcosi	d2,(a3)
		move.w	d0,d2
	
		mulsini	(a2),(a3)		;ysinv
		add.w	d2,d0
		move.w	d0,-(sp)		;xval

		mulcosi	(a2),(a3)		;ycosv
		move.w	d0,-(sp)

		move.w	(a4),d2
		
		mulsini	d2,(a3)			;xsinv
		sub.w	(sp)+,d0

		move.w	d0,d1			;y
		move.w	(a5),d2			;z
		move.w	(sp)+,d0
		
		Lib	D3,D3ColorPlot

		add.w	#192,d4
		cmp.w	#$4000,d4
		ble 	loop1		
		
		Lib	D3,VanillaKey
		tst.w	d0
		bne	Error
		move.w	#0,d4
		add.w	#$0002,(a3)
		add.w	#32,d3
		cmp.w	#$4000,d3
		ble 	loop1

;		add.w	#$0800,(a3)
		move.w	#0,d3
		move.w	(a3),d0
		cmp.w	#$4000,d0
		ble	loop1
				
		ColorWindow	#1
		
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	
		


		end	
