Here ya go
sync on
sync rate 30
make matrix 1,100,100,100,100
position matrix 1,0,0,0
xpos=0
zpos=0
zoom=10
ResetCamera()
do
if leftkey()=1 then dec xpos
if rightkey()=1 then inc xpos
if upkey()=1 then inc zpos
if downkey()=1 then dec zpos
if inkey$()="2" and zoom>10 then dec zoom
if inkey$()="8" then inc zoom
if inkey$()="4" and angle>1 then dec angle
if inkey$()="6" and angle<4 then inc angle
text 1,1,str$(screen fps())
text 1,13,str$(xpos)
text 1,25,str$(camera position y())
text 1,37,str$(zpos)
IsometricCamera(xpos,0,zpos,zoom,angle)
sync
loop
function ResetCamera()
rotate camera 0,0,0
endfunction
function IsometricCamera(x#,y#,z#,zoom#,angle#)
rotate camera 0,0,0
position camera x#,y#,z#
if angle#=1 then yrotate camera 0
if angle#=2 then yrotate camera 90
if angle#=3 then yrotate camera 180
if angle#=4 then yrotate camera 270
if angle#<1 or angle#>4 then yrotate camera 0
yrotate camera (camera angle y()+135)
xrotate camera 315
move camera zoom#
yrotate camera wrapvalue(camera angle y()-180)
xrotate camera wrapvalue(camera angle x()+90)
endfunction

Intel Celeron 1.3 Ghrz 512MB Ram NVIDIA GeForce FX 5200 128MB