Try this , see if it can help:
Rem * Title :
Rem * Author : Scorpyo
Rem * Date : oct 2003
rem by Scorpyo
hide mouse
sync on
set global collision off
sync rate 0
set camera range 1,10000
x#=0.0,y#=0.0,z#=0.0
gosub Spheres
gosub Resetcam
rem *****MAIN LOOP******
do
gosub Framerate
gosub camera_controls
gosub update_camera
a#=wrapvalue(a#+0.2)
yrotate object 1,a#
gosub spherepos
rem Update screen
sync
rem End loop
loop
rem ***** PLAYERCONTROL *****
Framerate:
set cursor 0,0
print "Fps=",screen fps()
return
Spheres:
make object sphere 1,200
for n=2 to 5
make object sphere n,80
next n
return
camera_controls:
if inkey$()="<" then camrot2=wrapvalue(camrot2)+2
if inkey$()="z" then camdist=camdist+2
if inkey$()="x" then camdist=camdist-2
if inkey$()="b" then camrot=camrot+2
if inkey$()="n" then camrot=camrot-2
if inkey$()="c" then camhgt=camhgt+2
if inkey$()="v" then camhgt=camhgt-2
if inkey$()="m" then camlen=camlen+2
if inkey$()="," then camrot = 180
if inkey$()="." then gosub Resetcam
return
update_camera:
position camera x#,y#+camhgt,z#-600
rem Point camera at object
point camera x#,y#+camlen,z#
return
rem camera reset
Resetcam:
camdist=-400
camhgt=200
camrot=0
camlen=100
return
spherepos:
position object 1,0,0,0
sphere2z#=z#+sin(a#) * -300
sphere2x#=x#+cos(a#) * 300
position object 2,sphere2x#,120.0,sphere2z#
sphere3z#=z#+sin(a#+90) * -300
sphere3x#=x#+cos(a#+90) * 300
position object 3,sphere3x#,0.0,sphere3z#
sphere4z#=z#+sin(a#+120) * -200
sphere4x#=x#+cos(a#+120) * 200
position object 4,sphere4x#,0.0,sphere4z#
sphere5z#=z#+sin(a#+170) * -250
sphere5x#=x#+cos(a#+170) * 250
position object 5,sphere5x#,70.0,sphere5z#
return