home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C!T ROM 2
/
ctrom_ii_b.zip
/
ctrom_ii_b
/
FLIGHTSI
/
VLIEGTUI
/
PL_P1040
/
FLTDIR2.TXT
< prev
next >
Wrap
Text File
|
1993-01-12
|
4KB
|
233 lines
; Fltdr2.txt by Art Rutty, 72550,2533
; A Keyboard program to control the FS4 Auto-pilot.
; Incorporating Charlie Gulick's T&AMOD and
; inspired by his Flypal program.
setvar(v,0)
keywatch:
if key("0")then
gosub altlock
endif
if key("\")then
gosub climb100
endif
if key("/")then
gosub dive100
endif
if key("a")then
gosub aglread
endif
if key("e")then
gosub headhold
endif
if key("w")then
gosub turnleft
endif
if key("r")then
gosub turnright
endif
if key("`")then
gosub adftog
endif
if key("8")then
gosub magvar
endif
if key("7")then
gosub status
endif
goto keywatch
altlock:
movevar(altit_lock_var,altmsl)
setvar(a,1)
z := z ^ a
movevar(altit_lock,z)
if varmask(altit_lock,1)
gosub lockon
goto end
endif
print "Altitude hold off!"
wait(1)
print ""
setvar(altit_lock,0)
end:
return
lockon:
if altitude(0,0)
endif
printvar(result,"Altitude hold at: ")
wait(2)
print""
return
headhold:
setvar(nav1_lock,0)
setvar(d,1)
x := x ^ d
movevar(heading_lock,x)
if heading(0,0)
endif
y := result
y := y + v
setvar(e,182)
y:= y * e
movevar(head_lock_var,y)
if varmask(heading_lock,1)then
if altagl(0,25)
print "Heading Hold ON. . . Don't FORGET to tune in Magnetic Variation!"
wait(1)
print ""
return
endif
print "Heading Lock ON. . ."
return
endif
setvar(f,0)
movevar(heading_lock,f)
print "Heading Lock OFF. . ."
wait(1)
print ""
return
climb100:
setvar(b,0)
climb1002:
addvar(b,100)
addvar(altit_lock_var,30)
printvar(b,"Climbing ")
wait(2)
if key("'")then
print "Locking on new altitude"
return
endif
goto climb1002
dive100:
setvar(c,0)
dive1002:
addvar(c,100)
addvar(altit_lock_var,-30)
printvar(c,"Decending ")
wait(2)
if key("'")then
print "Locking on new altitude"
return
endif
goto dive1002
turnleft:
setvar(j,0)
turnleft2:
addvar(j,-1)
printvar(j,"Turning left ")
wait(1)
addvar(head_lock_var,-182)
if key("x")then
print "Locking on new course"
return
endif
goto turnleft2
turnright:
setvar(k,0)
turnright2:
addvar(k,1)
printvar(k,"Turning right: ")
wait(1)
addvar(head_lock_var,182)
if key("x")then
print "Locking on new course"
return
endif
goto turnright2
status:
print "Checking Flight Director status. . . "
if varmask(altit_lock,1)
gosub altstat
endif
if varmask(heading_lock,1)
gosub headstat
endif
printvar(v,"Magnetic Variation: ")
wait(1)
print "Status check done. . ."
wait(1)
print ""
return
altstat:
setvar(g,100)
setvar(m,328)
w := altit_lock_var * m / g
printvar(w,"Altitude locked at: ")
wait(1)
return
headstat:
print "Course Lock set ON"
wait(1)
return
adftog:
setvar(h,1)
adf_flag := adf_flag ^ h
print "Now press <esc> . . ."
wait(1)
print ""
return
aglread:
if altagl(0,0)
endif
printvar(result,"AGL: ")
if key("a")then
print ""
return
endif
goto aglread
magvar:
setvar(p,1)
setvar(n,-1)
magvar2:
print "Press: 9 for positive var. . . 7 for negative var. . . 8 to stop or end"
wait(1)
if key("9")then
gosub pos
endif
if key("7")then
gosub neg
endif
if key("8")then
print ""
return
endif
printvar(v,"Magnetic Variation: ")
wait(1)
goto magvar2
pos:
v := v + p
printvar(v,"Magnetic Variation: ")
wait(1)
if key("8")then
return
endif
goto pos
neg:
v := v + n
printvar(v,"Magnetic Variation: ")
wait(1)
if key("8")then
return
endif
goto neg