home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
DP Tool Club 12
/
CD_ASCQ_12_0294.iso
/
news
/
2380
/
turk_n
/
izm_ist.aaf
< prev
next >
Wrap
Text File
|
1994-01-07
|
62KB
|
2,145 lines
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;
; --------------------------------------------------------------
; This is an AAF source file created with ADVENTURE! for Windows
; --------------------------------------------------------------
;
; ADVENTURE! is a ShareWare program, and you can obtain it
; on CompuServe FSFORUM library 5, in MC-link or via INTERNET.
;
; If you want, you can contact the author:
;
; CORRADO CONFORTI
;
; CIS: 100273,3574
; INTERNET: mc4126@mclink.it
;
;
;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
;ONCRASH gpwscaduto
;ONSTALL gpwsstalla
SETVAR(X,22)
Y:=random/X
O:=remainder
SETVAR(F,0)
SETVAR(G,0)
SETVAR(I,0)
SETVAR(L,0)
EQU norrot 754
EQU magvar 756
;
OPTIONS:
SETVAR(V,0)
SETVAR(T,1)
GOTO INTRO
;
INTRO:
;
; --- Set Clouds and Winds.
;
SETVAR(magno,0)
SETVAR(Y,-256)
SETVAR(Z,0)
w0vel:=w0vel&Y|Z
SETVAR(w0turb,0)
SETVAR(w0depth,0)
SETVAR(w0dir,0)
SETVAR(Z,0)
w3vel:=w3vel&Y|Z
SETVAR(Z,0)
w3turb:=w3turb&Y|Z
SETVAR(w3dir,0)
SETVAR(w3top,0)
SETVAR(w3bot,0)
SETVAR(Z,0)
w6vel:=w6vel&Y|Z
SETVAR(Z,0)
w6turb:=w6turb&Y|Z
SETVAR(w6dir,0)
SETVAR(w6top,0)
SETVAR(w6bot,0)
SETVAR(Z,0)
w9vel:=w9vel&Y|Z
SETVAR(Z,0)
w9turb:=w9turb&Y|Z
SETVAR(w9dir,0)
SETVAR(w9top,0)
SETVAR(w9bot,0)
SETVAR(cloud1top,0)
SETVAR(cloud1bot,0)
SETVAR(cloud1cover,0)
SETVAR(cloud1dev,0)
SETVAR(cloud2top,0)
SETVAR(cloud2bot,0)
SETVAR(cloud2cover,0)
SETVAR(cloud2dev,0)
SETVAR(cloud3top,0)
SETVAR(cloud3bot,0)
SETVAR(cloud3cover,0)
SETVAR(cloud3dir,0)
SETVAR(cloud3spd,0)
SETVAR(Z,0)
PLAY"DINDON.VOC"
WAIT(2)
PRINT"Captain, welcome aboard. This plane is I-FSIM. In a few moments..."
WAIT(4)
PRINT"..we'll start the flight from Izmir Adnan Menderes to Istanbul ATATURK"
WAIT(4)
PRINT"via Chios."
WAIT(5)
print"The flight plan was designed by Corrado Conforti using Adventure! for Windows."
WAIT(4)
PRINT"Tune in Izmir Adnan Menderes Clearance Delivery on 122.45 when ready to begin,"
WAIT(4)
PRINT"or press X to see some instructions."
WAIT(4)
PRINT""
;
FENDERC:
IF COM(122.45) THEN
FENDERCA:
PLAY"HASH.VOC"
PRINT"I-FSIM this is Izmir Adnan Menderes Clearance."
WAIT(4)
PRINT"Izmir Adnan Menderes Control clears you to Istanbul ATATURK as in your flight plan."
WAIT(4)
PRINT"Climb to FL 150, Squawk 1701."
WAIT(4)
PRINT"Departure frequency 118.55."
WAIT(6)
PRINT"Weather report on Flight Service on 122.20."
WAIT(4)
PRINT"Contact Izmir Adnan Menderes Ground on 121.95 to request startup clearance."
WAIT(4)
PRINT""
GOSUB CLEARVARS
GOTO FENDER1
ENDIF
IF KEY("R") THEN
GOTO INTRO
ENDIF
IF KEY("X") THEN
PRINT"<C> Call the station tuned, to report."
WAIT(4)
PRINT"<R> in 10 secs will repeat the last message."
WAIT(4)
PRINT"<J> when tuned to FSS gives flt plan summary & weather."
WAIT(4)
PRINT"<X> when tuned to FSS will toggle request to go VFR/IFR."
WAIT(4)
PRINT"<\> will request a complete radar check."
WAIT(4)
PRINT"Tune in Izmir Adnan Menderes Clearance Delivery on 122.45 when ready to begin."
WAIT(4)
PRINT""
ENDIF
GOTO FENDERC
;
;
FENDER1:
GOSUB COUNTER
GOSUB FSS
IF KEY("R") THEN
GOTO FENDERCA
ENDIF
IF COM(121.95) THEN
FENDER1A:
PLAY"HASH.VOC"
PRINT"I-FSIM, Izmir Adnan Menderes Ground. Reading you five."
WAIT(4)
print"You are cleared to StartUp."
WAIT(4)
PLAY"DINDON.VOC"
print"Captain: Press <9> when ready to startup."
WAIT(4)
STRUPENG:
IF KEY("9") THEN
SETVAR(magno,4)
goto FNSTRUPENG
ENDIF
goto STRUPENG
FNSTRUPENG:
PLAY"HASH.VOC"
PRINT"I-FSIM, Izmir Adnan Menderes Ground,"
WAIT(4)
PRINT"Cleared to taxi to holding position, runway in use 34 and hold."
WAIT(4)
PRINT"Contact Tower on frequency 122.85."
WAIT(4)
PRINT"Report pressing <C> when ready. Over."
WAIT(4)
PRINT""
SETVAR(A,0)
FENDER1B:
IF VARTEST(A,10,9999) THEN
GOTO FENDER2
ENDIF
GOSUB FSS
WAIT(1)
ADDVAR(A,1)
GOTO FENDER1B
ENDIF
IF VARTEST(A,10,9999) THEN
PLAY"HASH.VOC"
PRINT"Contact Izmir Adnan Menderes Ground on 121.95."
WAIT(4)
PRINT""
SETVAR(A,0)
ENDIF
GOTO FENDER1
;
FENDER2:
LINEUP:
IF GROUNDSPEED(0,0) THEN
IF KEY("C") THEN
IF COM(122.85) THEN
SETVAR(L,1)
PLAY"HASH.VOC"
PRINT"I-FSIM Izmir Adnan Menderes Tower."
WAIT(4)
PRINT"Cleared to Line up and hold."
WAIT(4)
PRINT""
GOTO FINLIUP
ENDIF
ENDIF
ENDIF
GOTO LINEUP
;
FINLIUP:
IF HEADING(325,355) THEN
GOTO TOTAKEOF
ENDIF
GOTO FINLIUP
TOTAKEOF:
IF GROUNDSPEED(0,0) THEN
IF COM(122.85) THEN
SETVAR(L,1)
IF XPNDR(1701) THEN
FENDER2A:
PLAY"HASH.VOC"
PRINT"I-FSIM Izmir Adnan Menderes Tower."
WAIT(4)
PRINT"Cleared for take off runway 34"
WAIT(4)
PRINT""
GOTO FENDER2B
ENDIF
PLAY"DINDON.VOC"
PRINT"Set Xponder to 1701 for radar contact."
WAIT(4)
WAIT(8)
GOTO FINLIUP
ENDIF
PLAY"DINDON.VOC"
PRINT"Tune in Izmir Adnan Menderes Tower on 122.85."
WAIT(4)
PRINT""
WAIT(5)
GOTO FENDER2
ENDIF
IF ALTAGL(100,9999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Izmir Adnan Menderes Tower."
WAIT(4)
PRINT"You have departed before receiving take off clearance!"
WAIT(4)
PRINT"The adventure ends here."
WAIT(4)
PRINT""
FENDER2C:
DAMO:
SETVAR(magno,5)
GOTO DAMO
ENDIF
GOTO FINLIUP
;
FENDER2B:
IF KEY("R") THEN
GOTO FENDER2A
ENDIF
GOSUB COUNTER
IF VARTEST(A,30,30) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Izmir Adnan Menderes Tower."
WAIT(2)
PRINT"Speed up your take off"
WAIT(4)
SETVAR(A,0)
ENDIF
IF VARTEST(B,50,50) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Izmir Adnan Menderes Tower."
WAIT(2)
PRINT"Take off immediately or clear the runway"
WAIT(4)
GOSUB CLEARVARS
ENDIF
IF ALTAGL(100,9999) THEN
IF HEADING(325,340) THEN
GOTO FENDER3
ENDIF
IF HEADING(340,355) THEN
GOTO FENDER3
ENDIF
PLAY"HASH.VOC"
PRINT"I-FSIM Izmir Adnan Menderes Tower."
WAIT(4)
PRINT"You have NOT departed on the cleared runway!"
WAIT(4)
PRINT"This adventure ends here."
WAIT(4)
PRINT""
GOTO FENDER2C
ENDIF
GOTO FENDER2B
;
FENDER3:
IF KEY("R") THEN
GOTO FENDER2A
ENDIF
GOSUB FSS
GOSUB RADARCHK
IF ALTAGL(500,31999) THEN
FENDER3A:
IF RADIAL(13457,21781,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
PLAY"HASH.VOC"
PRINT"I-FSIM Izmir Adnan Menderes Tower."
WAIT(4)
PRINTVAR(W,"Climb to FL 30, heading ")
WAIT(4)
PRINT"Contact Departure on 118.55. Good day."
WAIT(4)
PRINT""
GOSUB CLEARVARS
M:=W
SETVAR(N,3000)
GOTO FENDER4
ENDIF
GOTO FENDER3
;
FENDER4:
IF KEY("R") THEN
GOTO FENDER3A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB RADARCHK
GOSUB FSS
GOSUB COUNTER
IF COM(118.55) THEN
SETVAR(L,2)
W:=M
GOSUB CHKHDGDIRECT
IF VARTEST(H,-6,6) THEN
IF ALTITUDE(1800,31999) THEN
FENDER4A:
PLAY"HASH.VOC"
PRINT"I-FSIM Departure."
WAIT(4)
PRINT"Under radar contact. Climb and maintain 15000."
WAIT(4)
IF GEARDOWN() THEN
IF VARMASK(retractable,255) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM,Izmir Adnan Menderes Tower: you have gear still down."
WAIT(4)
ENDIF
ENDIF
PLAY"HASH.VOC"
PRINT"Contact Center on 133.20. Good Bye."
WAIT(4)
SETVAR(N,15000)
GOSUB CLEARVARS
GOTO FENDER5
ENDIF
IF CYLINDER(13491,22131,0,9) THEN
IF VARTEST(C,15,31999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Departure."
WAIT(4)
PRINT"Please expedite climb to 3000 now!"
WAIT(4)
SETVAR(C,0)
ENDIF
ENDIF
GOTO FENDER4
ENDIF
IF VARTEST(B,10,31999) THEN
IF RADIAL(13457,21781,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
PLAY"HASH.VOC"
PRINT"I-FSIM Departure."
WAIT(4)
PRINTVAR(W,"Establish a heading of ")
WAIT(4)
M:=W
SETVAR(B,0)
ENDIF
GOTO FENDER4
ENDIF
IF VARTEST(A,10,31999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Tower."
WAIT(4)
PRINT"Tune on Departure on 118.55."
WAIT(4)
SETVAR(A,0)
ENDIF
GOTO FENDER4
;
; --------- Go to Chios
FENDER5:
IF KEY("R") THEN
GOTO FENDER4A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB RADARCHK
GOSUB FSS
GOSUB ALTCHK
GOSUB SPDCHK
GOSUB TODCHK
GOSUB COUNTER
IF COM(133.20)
SETVAR(L,3)
IF RADIAL(13457,21781,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
IF VARTEST(H,-6,6) THEN
FENDER5A:
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(4)
PRINT"Cleared to Chios. Maintain current heading."
WAIT(4)
GOSUB CLEARVARS
GOTO FENDER6
ENDIF
IF VARTEST(C,10,31999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(4)
PRINTVAR(W,"Establish a heading to Chios of ")
WAIT(4)
PRINT"VOR frequency is 110.80"
WAIT(4)
M:=W
SETVAR(C,0)
ENDIF
GOTO FENDER5
ENDIF
IF VARTEST(A,5,31999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Departure."
WAIT(4)
PRINT"Contact Center on 133.20. Good day."
WAIT(4)
SETVAR(A,0)
ENDIF
GOTO FENDER5
;---------- Waiting Lesvos VOR
FENDER6:
IF KEY("R") THEN
GOTO FENDER5A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB RADARCHK
GOSUB FSS
GOSUB COMCHANGE
GOSUB COMCHK
GOSUB ALTCHK
GOSUB SPDCHK
GOSUB TODCHK
GOSUB COUNTER
IF CYLINDER(13457,21781,0,8) THEN
FENDER6A:
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(4)
PRINT"You're cleared to Lesvos VOR."
WAIT(4)
PRINT"VOR frequency is 114.20"
WAIT(4)
IF RADIAL(13821,21816,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
M:=W
GOSUB CLEARVARS
GOTO FENDER7
ENDIF
IF RADIAL(13457,21781,0,0) THEN
ENDIF
W:=RESULT
IF VARTEST(H,-10,10) THEN
GOTO FENDER6
ENDIF
;
FENDER6E:
IF VARTEST(B,20,31999) THEN
IF RADIAL(13457,21781,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
;
FENDER6E1:
PLAY"HASH.VOC"
PRINT"I-FSIM This is Center."
WAIT(4)
PRINTVAR(W,"Establish a heading of ")
WAIT(4)
WAIT(5)
IF KEY("R") THEN
GOTO FENDER6E1
ENDIF
M:=W
SETVAR(B,0)
ENDIF
GOTO FENDER6
;---------- Waiting Tekirdag VOR
FENDER7:
IF KEY("R") THEN
GOTO FENDER6A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB RADARCHK
GOSUB FSS
GOSUB COMCHANGE
GOSUB COMCHK
GOSUB ALTCHK
GOSUB SPDCHK
GOSUB TODCHK
GOSUB COUNTER
IF CYLINDER(13821,21816,0,8) THEN
FENDER7A:
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(4)
PRINT"You're cleared to Tekirdag VOR."
WAIT(4)
PRINT"VOR frequency is 116.30"
WAIT(4)
IF RADIAL(14648,21975,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
M:=W
GOSUB CLEARVARS
GOTO FENDER8
ENDIF
IF RADIAL(13821,21816,0,0) THEN
ENDIF
W:=RESULT
IF VARTEST(H,-10,10) THEN
GOTO FENDER7
ENDIF
;
FENDER7E:
IF VARTEST(B,20,31999) THEN
IF RADIAL(13821,21816,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
;
FENDER7E1:
PLAY"HASH.VOC"
PRINT"I-FSIM This is Center."
WAIT(4)
PRINTVAR(W,"Establish a heading of ")
WAIT(4)
WAIT(5)
IF KEY("R") THEN
GOTO FENDER7E1
ENDIF
M:=W
SETVAR(B,0)
ENDIF
GOTO FENDER7
; -------------(DESCENDING) to Istanbul ATATURK
FENDER8:
IF KEY("R") THEN
GOTO FENDER7A
ENDIF
GOSUB FPAPCHK
GOSUB TRAFFICCHK
GOSUB RADARCHK
GOSUB FSS
GOSUB COMCHANGE
GOSUB COMCHK
GOSUB ALTCHK
GOSUB SPDCHK
GOSUB TODCHK
GOSUB COUNTER
IF RADIAL(14776,22415,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
IF COM(133.20) THEN
IF CYLINDER(14648,21975,0,8) THEN
FENDER8A:
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(4)
PRINT"You're cleared direct to Istanbul ATATURK."
WAIT(4)
IF RADIAL(14776,22415,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
PRINTVAR(W,"New heading should be close to ")
WAIT(4)
PRINT"Maintain current cleared altitude of 8500."
WAIT(4)
PRINT"Reduce speed and contact Approach on 118.20."
WAIT(4)
M:=W
SETVAR(N,8500)
GOSUB CLEARVARS
GOTO FENDERFN0
ENDIF
IF RADIAL(14648,21975,0,0) THEN
ENDIF
W:=RESULT
GOSUB CORRECTHDGCHK
IF VARTEST(H,-6,6) THEN
IF ALTITUDE(8300,8700) THEN
SETVAR(R,1)
GOTO FENDER8
ENDIF
IF VARTEST(R,1,1) THEN
IF VARTEST(A,10,31999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(4)
PRINT"Please maintain cleared altitude of 8500."
WAIT(4)
SETVAR(A,0)
ENDIF
GOTO FENDER8
ENDIF
IF CYLINDER(14648,21975,0,15.822) THEN
IF VARTEST(A,10,31999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(4)
PRINT"Expedite your descent to 8500."
WAIT(4)
SETVAR(A,0)
ENDIF
ENDIF
GOTO FENDER8
ENDIF
IF VARTEST(B,10,31999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(4)
PRINT"Establish and maintain a direct heading to Tekirdag VOR."
WAIT(4)
PRINTVAR(W,"You're heading should be close to ")
wAIT(4)
pRINT"Frequency for Tekirdag VOR VOR is 116.30"
WAIT(4)
M:=W
SETVAR(B,0)
ENDIF
GOTO FENDER8
ENDIF
IF VARTEST(C,10,31999)
PLAY"DINDON.VOC"
PRINT"Captain: remain on frequency 133.20."
WAIT(4)
SETVAR(C,0)
ENDIF
GOTO FENDER8
;
;----- APPROACHING DESTINATION AIRPORT
gosub RADARCHK
gosub COMCHANGE
gosub COMCHK
gosub ALTCHK
gosub SPDCHK
gosub TODCHK
;
FENDERFN0:
setvar(f,0)
setvar(b,10)
setvar(c,180)
setvar(l,400)
LANDRUNWAY:
if com(118.20)
PLAY"HASH.VOC"
print "I-FSIM, this is Istanbul ATATURK Approach."
wait(4)
Print "Cleared to make straight-in approach. Runway in use 18."
wait(4)
goto CHOOSERUNWAY
endif
goto LANDRUNWAY
CHOOSERUNWAY:
if radial(14776,22415,0,0)
goto PPoint1
endif
if radial(14776,22415,0,0)
goto PPoint2
endif
if radial(14776,22415,0,0)
goto PPoint3
endif
if radial(14776,22415,0,0)
goto PPoint4
endif
if radial(14776,22415,0,0)
goto PPoint4
endif
if radial(14776,22415,0,0)
goto PPoint5
endif
if radial(14776,22415,0,0)
goto PPoint6
endif
goto CHOOSERUNWAY
PPoint1:
if cylinder( 14776 , 22415 ,0,2)
PLAY"HASH.VOC"
print "I-FSIM turn to heading 220 until field in sight."
wait(5)
print "Contact Istanbul ATATURK tower on 120.95"
goto ULTIMO
endif
gosub error
if radial( 14776 , 22415 ,0,0)
endif
d:= result
e:= d - r
if vartest(e,-10,10)
goto PPoint1
endif
a:= d / b * b
gosub heading
goto PPoint1
PPoint2:
if cylinder( 14776 , 22415 ,0,2)
goto PPoint1
endif
gosub error
if radial( 14776 , 22415 ,0,0)
endif
d:= result
e:= d - r
if vartest(e,-10,10)
goto PPoint2
endif
a:= d / b * b
gosub heading
goto PPoint2
PPoint3:
if cylinder( 14776 , 22415 ,0,3)
goto PPoint2
endif
gosub error
if radial( 14776 , 22415 ,0,0)
endif
d:= result
e:= d - r
if vartest(e,-10,10)
goto PPoint3
endif
a:= d / b * b
gosub heading
goto PPoint3
PPoint4:
if cylinder( 14776 , 22415 ,0,3)
goto PPoint5
endif
gosub error
if radial( 14776 , 22415 ,0,0)
endif
d:= result
e:= d - r
if vartest(e,-10,10)
goto PPoint4
endif
a:= d / b * b
gosub heading
goto PPoint4
PPoint5:
if cylinder( 14776 , 22415 ,0,2)
goto PPoint6
endif
gosub error
if radial( 14776 , 22415 ,0,0)
endif
d:= result
e:= d - r
if vartest(e,-10,10)
goto PPoint5
endif
a:= d / b * b
gosub heading
goto PPoint5
PPoint6:
if cylinder( 14776 , 22415 ,0,2)
PLAY"HASH.VOC"
print "I-FSIM turn to heading 130 until field in sight."
wait(5)
print "Contact Istanbul ATATURK tower on 120.95"
goto ULTIMO
endif
gosub error
if radial( 14776 , 22415 ,0,0)
endif
d:= result
e:= d - r
if vartest(e,-10,10)
goto PPoint6
endif
a:= d / b * b
gosub heading
goto PPoint6
ULTIMO:
if com(120.95)
IF CYLINDER(14776,22415,0,8) THEN
PLAY"HASH.VOC"
print "I-FSIM,Istanbul ATATURK Tower. Cleared to final, report on base - Over"
goto ULTIMO2
ENDIF
endif
goto ULTIMO
ULTIMO2:
IF CYLINDER(14776,22415,0,4) THEN
PLAY"HASH.VOC"
print "I-FSIM,Istanbul ATATURK Tower. Cleared to land runway 18"
goto FERMATO
ENDIF
GOTO ULTIMO2
FERMATO:
FENDERFN3:
GOSUB COUNTER
IF VARMASK(ground,1) THEN
GOTO FENDERFN4
ENDIF
IF COM(120.95) THEN
IF CYLINDER(14776,22415,0,5) THEN
FENDERFN3A:
IF GEARUP() THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Istanbul ATATURK Tower."
WAIT(4)
PRINT"Please check landing gear status."
WAIT(4)
ENDIF
IF JETENGINE() THEN
IF GROUNDSPEED(200,999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Istanbul ATATURK Tower."
WAIT(4)
PRINT"Final approach: reduce speed"
WAIT(4)
ENDIF
ENDIF
IF PROPENGINE() THEN
IF GROUNDSPEED(150,999) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Istanbul ATATURK Tower.
WAIT(4)
PRINT"Final approach: reduce speed."
WAIT(4)
ENDIF
ENDIF
ENDIF
WAIT(10)
GOTO FENDERFN3
ENDIF
IF VARTEST(C,10,31999)
PLAY"DINDON.VOC"
PRINT"Please keep radio on Tower frequency 120.95."
WAIT(4)
SETVAR(C,0)
ENDIF
GOTO FENDERFN3
;
;Touchdown!
FENDERFN4:
GOSUB COUNTER
IF COM(120.95) THEN
IF VARTEST(A,10,31999) THEN
FENDERFN4A:
PLAY"HASH.VOC"
PRINT"I-FSIM Istanbul ATATURK Tower."
WAIT(4)
SETVAR(Q,255)
Q:=MINUTE & Q
PRINTVAR(Q, "On the ground at ")
wait(4)
PRINT"Turn at the first convenient intersection and hold."
WAIT(4)
PRINT"Contact Istanbul ATATURK Ground on 122.20. Good bye."
WAIT(4)
GOSUB CLEARVARS
GOTO FENDERFN5
ENDIF
GOTO FENDERFN4
ENDIF
IF VARTEST(C,10,31999)
PLAY"DINDON.VOC"
PRINT"Please keep radio on Tower frequency 120.95."
WAIT(4)
SETVAR(C,0)
ENDIF
GOTO FENDERFN4
;
;Turned off runway and holding
FENDERFN5:
IF KEY("R") THEN
GOTO FENDERFN4A
ENDIF
GOSUB COUNTER
IF COM(122.20) THEN
IF GROUNDSPEED(0,0) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Istanbul ATATURK Ground."
WAIT(4)
PRINT"Welcome to Istanbul ATATURK."
WAIT(4)
PRINT"You're cleared for taxi to parking area. Switching off. Over"
WAIT(4)
PLAY"DINDON.VOC"
PRINT"-=* THE END *=-"
WAIT(4)
PRINT"This flight was designed with ADVENTURE! for Windows"
WAIT(4)
PRINT"(SHW)1993 Corrado Conforti - CIS:100273,3574 INTERNET:mc4125@mclink.it"
EOF
ENDIF
GOTO FENDERFN5
ENDIF
IF VARTEST(C,20,31999)
PLAY"HASH.VOC"
PRINT"I-FSIM Istanbul ATATURK Tower."
WAIT(4)
PRINT"Please contact Istanbul ATATURK Ground on 122.20."
WAIT(4)
SETVAR(C,0)
ENDIF
GOTO FENDERFN5
;
heading:
if vartest(remainder,5,9)
a:= a + b
endif
a:= a - c
if vartest(a,-360,0)
a:= a + c + c
endif
m:= l - a
if vartest(m,0,0)
return
endif
if com(118.20)
if heading(0,0)
endif
s:= a - result
if vartest(s,-360,0)
s:= s + c + c
endif
if vartest(s,0,180)
PLAY"HASH.VOC"
printvar(a,"I-FSIM turn right heading ")
endif
if vartest(s,180,360)
PLAY"HASH.VOC"
printvar(a,"I-FSIM turn left heading ")
endif
endif
l:= a
wait(15)
return
error:
if course(0,0)
endif
r:= result - c
if vartest(r,-360,0)
r:= r + c + c
endif
if cylinder(14776,22415,32,33)
if altitude(10500,32767)
if vartest(f,0,0)
if com(;)
PLAY"HASH.VOC"
print "I-FSIM descend and maintain 10000"
wait(5)
endif
setvar(f,1)
endif
endif
endif
if cylinder(14776,22415,15,16)
if altitude(5500,32767)
if vartest(f,0,1)
if com(;)
PLAY"HASH.VOC"
print "I-FSIM descend and maintain 5000"
wait(5)
endif
setvar(f,2)
endif
endif
endif
return
EOF
; ------------------------------
; COM Frequency check subroutine
; ------------------------------
;
COMCHK:
IF VARTEST(L,2,2) THEN
IF COM(118.55) THEN
IF VARTEST(E,1,1) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM, this is Departure Control, Good Day!"
WAIT(4)
COMCHK1:
PRINT"Radar Contact. Cleared to 5000 feet."
WAIT(4)
WAIT(6)
SETVAR(E,2)
IF KEY("R") THEN
GOTO COMCHK1
ENDIF
RETURN
ENDIF
RETURN
ENDIF
COMCHK2:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Contact Departure at 118.55 !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO COMCHK2
ENDIF
GOTO COMCHK
ENDIF
;
IF VARTEST(L,3,3) THEN
IF COM(133.20) THEN
IF VARTEST(E,2,2) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM, this is Center, Good Day!"
WAIT(4)
SETVAR(E,3)
RETURN
ENDIF
RETURN
ENDIF
COMCHK3:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Contact Center at 133.20 !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO COMCHK3
ENDIF
GOTO COMCHK
ENDIF
;
IF VARTEST(L,4,4) THEN
PLAY"HASH.VOC"
IF COM(118.20) THEN
IF VARTEST(E,3,3) THEN
PRINT"I-FSIM, this is Approach Control, Good Day!"
WAIT(4)
SETVAR(E,4)
RETURN
ENDIF
RETURN
ENDIF
COMCHK4:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Contact Istanbul ATATURK Approach at 118.20 !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO COMCHK4
ENDIF
GOTO COMCHK
ENDIF
;
IF VARTEST(L,5,5) THEN
PLAY"HASH.VOC"
IF COM(120.95) THEN
IF VARTEST(E,4,4) THEN
PRINT"I-FSIM, this is Istanbul ATATURK Tower, Good Day!"
WAIT(4)
SETVAR(E,5)
RETURN
ENDIF
RETURN
ENDIF
COMCHK5:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Contact Istanbul ATATURK Tower on 120.95 !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO COMCHK5
ENDIF
GOTO COMCHK
ENDIF
RETURN
;
;Subroutine Check for switching centers
;
COMCHANGE:
IF CYLINDER(13491,22131,3,15) THEN
COMCHANGE1:
IF VARTEST(L,1,1) THEN
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Contact Departure at 118.55. Good day!"
WAIT(4)
SETVAR(L,2)
WAIT(6)
IF KEY("R") THEN
GOTO COMCHANGE1
ENDIF
RETURN
ENDIF
RETURN
ENDIF
;
IF CYLINDER(13491,22131,20,30) THEN
IF VARTEST(L,2,2) THEN
COMCHANGE2:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Contact Center at 133.20. Good day!"
WAIT(4)
SETVAR(L,3)
WAIT(6)
IF KEY("R") THEN
GOTO COMCHANGE2
ENDIF
RETURN
ENDIF
RETURN
ENDIF
;
IF CYLINDER(14776,22415,14,39) THEN
IF VARTEST(L,3,3) THEN
COMCHANGE3:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Contact Approach at 118.20. Good day!"
WAIT(4)
SETVAR(L,4)
SETVAR(Q,1)
WAIT(6)
IF KEY("R") THEN
GOTO COMCHANGE3
ENDIF
RETURN
ENDIF
RETURN
ENDIF
;
IF CYLINDER(14776,22415,0,15) THEN
IF VARTEST(L,4,4) THEN
COMCHANGE4:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Contact Istanbul ATATURK Tower on 120.95. Good day!"
WAIT(4)
SETVAR(L,5)
WAIT(6)
IF KEY("R") THEN
GOTO COMCHANGE4
ENDIF
RETURN
ENDIF
RETURN
ENDIF
RETURN
;
;Altitude Check subroutine
;
ALTCHK:
;"Initial Climb" Altitude check subroutine
;
IF VARTEST(N,5000,5000) THEN
IF CYLINDER(13491,22131,0,10) THEN
IF ALTITUDE(500,4800) THEN
IF VARTEST(R,0,0) THEN
ENDIF
IF VARTEST(R,1,1) THEN
ALT1:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 5000 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT1
ENDIF
ENDIF
ENDIF
IF ALTITUDE(4800,5200) THEN
SETVAR(R,1)
ENDIF
IF ALTITUDE(5201,18500) THEN
ALT2:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 5000 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT2
ENDIF
ENDIF
ENDIF
IF CYLINDER(13491,22131,10,999) THEN
IF ALTITUDE(500,4799) THEN
IF VARTEST(R,0,0) THEN
ALT3:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please expedite climb to 5000 now!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT3
ENDIF
ENDIF
IF VARTEST(R,1,1) THEN
ALT4:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 5000 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT4
ENDIF
ENDIF
ENDIF
IF ALTITUDE(4800,5200) THEN
SETVAR(R,1)
ENDIF
IF ALTITUDE(5201,18500) THEN
ALT5:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 5000 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT5
ENDIF
ENDIF
ENDIF
ENDIF
;
;"Cruise" Altitude check routine
;
IF VARTEST(N,8500,8500)THEN
IF CYLINDER(13491,22131,0,100) THEN
IF ALTITUDE(500,8299) THEN
IF VARTEST(R,0,0) THEN
ENDIF
IF VARTEST(R,1,1) THEN
ALT6:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain FL85 !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT6
ENDIF
ENDIF
ENDIF
IF ALTITUDE(8300,8700) THEN
SETVAR(R,1)
ENDIF
IF ALTITUDE(8701,18500) THEN
ALT7:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain FL85 !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT7
ENDIF
ENDIF
ENDIF
IF CYLINDER(13491,22131,101,9999) THEN
IF ALTITUDE(500,8299) THEN
IF VARTEST(R,0,0) THEN
ALT8:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please expedite climb to FL85 now!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT8
ENDIF
ENDIF
IF VARTEST(R,1,1) THEN
ALT9:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain FL85 !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT9
ENDIF
ENDIF
ENDIF
IF ALTITUDE(8300,8700) THEN
SETVAR(R,1)
ENDIF
IF ALTITUDE(8701,18500) THEN
ALT10:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain FL85 !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT10
ENDIF
ENDIF
ENDIF
ENDIF
;
;"Descent" Altitude check routine
;
IF VARTEST(N,7000,7000) THEN
IF CYLINDER(14776,22415,50,9999) THEN
IF ALTITUDE(7201,18500) THEN
IF VARTEST(R,2,2) THEN
ENDIF
IF VARTEST(R,1,1) THEN
ALT11:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 7000 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT11
ENDIF
ENDIF
ENDIF
IF ALTITUDE(6800,7200) THEN
SETVAR(R,1)
ENDIF
IF ALTITUDE(500,6799) THEN
ALT12:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 7000 feet !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT12
ENDIF
ENDIF
ENDIF
IF CYLINDER(14776,22415,0,50) THEN
IF ALTITUDE(7201,18500) THEN
IF VARTEST(R,2,2) THEN
ALT13:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please expedite descent to 7000 feet now!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT13
ENDIF
ENDIF
IF VARTEST(R,1,1) THEN
ALT14:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 7000 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT14
ENDIF
ENDIF
ENDIF
IF ALTITUDE(6800,7000) THEN
SETVAR(R,1)
ENDIF
IF ALTITUDE(500,6799) THEN
ALT15:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 7000 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT15
ENDIF
ENDIF
ENDIF
ENDIF
;
;"Localizer interception" Altitude Check
;
IF VARTEST(N,2500,2500) THEN
IF CYLINDER(14776,22415,20,9999) THEN
IF ALTITUDE(2701,18500) THEN
IF VARTEST(R,2,2) THEN
ENDIF
IF VARTEST(R,1,1) THEN
ALT16:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 2500 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT16
ENDIF
ENDIF
ENDIF
IF ALTITUDE(2300,2700) THEN
SETVAR(R,1)
ENDIF
IF ALTITUDE(500,2299) THEN
ALT17:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 2500 feet !"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT17
ENDIF
ENDIF
ENDIF
IF CYLINDER(14776,22415,0,20) THEN
IF ALTITUDE(2701,18500) THEN
IF VARTEST(R,2,2) THEN
ALT18:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please expedite descent to 2500 feet now!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT18
ENDIF
ENDIF
IF VARTEST(R,1,1) THEN
ALT19:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 2500 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT19
ENDIF
ENDIF
ENDIF
IF ALTITUDE(2300,2700) THEN
SETVAR(R,1)
ENDIF
IF ALTITUDE(500,2299) THEN
ALT20:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please maintain 2500 feet!"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO ALT20
ENDIF
ENDIF
ENDIF
ENDIF
RETURN
;
;
; Subroutine for checking Climb and Descend instructions
TODCHK:
;
;Check for "Climb" command
;
IF CYLINDER(13491,22131,15,25) THEN
IF VARTEST(R,1,1) THEN
IF VARTEST(V,1,1) THEN
CLMB:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Cleared to climb and maintain FL85"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO CLMB
ENDIF
SETVAR(N,8500)
SETVAR(R,0)
SETVAR(V,2)
ENDIF
ENDIF
ENDIF
;
;Check for first "Descend" command
;
IF CYLINDER(14776,22415,80,100) THEN
IF VARTEST(V,2,2) THEN
TOD1:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Descend to and maintain 7000 feet"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO TOD1
ENDIF
SETVAR(N,7000)
SETVAR(R,2)
SETVAR(V,3)
ENDIF
ENDIF
;
;Check for second "Descend" command
;
IF CYLINDER(14776,22415,0,30) THEN
TOD2:
PLAY"HASH.VOC"
IF VARTEST(V,3,3) THEN
PRINT"I-FSIM,"
WAIT(4)
PRINT"Descend to and maintain 2500 feet"
WAIT(4)
WAIT(6)
IF KEY("R") THEN
GOTO TOD2
ENDIF
SETVAR(N,2500)
SETVAR(R,2)
SETVAR(V,4)
ENDIF
ENDIF
RETURN
;
;
;Subroutine for checking airspeed violations
;
;Check Final Approach speed
;
SPDCHK:
IF CYLINDER(14776,22415,0,15) THEN
IF ALTITUDE(500,10000) THEN
IF AIRSPEED(180,999) THEN
IF VARTEST(B,20,999) THEN
SPDCHK1:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please reduce speed to 180 knots IAS"
WAIT(4)
IF KEY("R") THEN
GOTO SPDCHK1
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
;
;Check Intermediate Approach speed
;
IF CYLINDER(14776,22415,15,30) THEN
IF ALTITUDE(500,10000) THEN
IF AIRSPEED(220,999) THEN
IF VARTEST(B,20,999) THEN
SPDCHK2:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please reduce speed to 220 knots IAS"
WAIT(4)
IF KEY("R") THEN
GOTO SPDCHK2
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
;
;General <10000ft Airspeed check
;
IF CYLINDER(14776,22415,30,999) THEN
IF ALTITUDE(500,10000) THEN
IF AIRSPEED(281,999) THEN
IF VARTEST(B,20,999) THEN
SPDCHK3:
PLAY"HASH.VOC"
PRINT"I-FSIM,"
WAIT(4)
PRINT"Please reduce speed to 250 IAS"
WAIT(4)
IF KEY("R") THEN
GOTO SPDCHK3
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
RETURN
;
;
COUNTER:
ADDVAR(A,1)
ADDVAR(B,1)
ADDVAR(C,1)
WAIT(1)
RETURN
;
CLEARVARS:
SETVAR(A,0)
SETVAR(B,0)
SETVAR(C,0)
RETURN
;
FPAPCHK:
;Parameters: M = Desired Heading
; N = Desired Altitude
IF KEY("W") THEN
SETVAR(P,1)
SETVAR(heading_lock,1)
SETVAR(altit_lock,1)
PLAY"DINDON.VOC"
PRINT" Auto Pilot is now *ON*"
WAIT(4)
PRINT""
ENDIF
IF KEY("E") THEN
FPAPOFF:
SETVAR(P,0)
SETVAR(autop_master,0)
SETVAR(heading_lock,0)
SETVAR(altit_lock,0)
PLAY"DINDON.VOC"
PRINT" Auto Pilot is now *OFF*"
WAIT(4)
PRINT""
ENDIF
IF VARTEST(P,1,1) THEN
; Add MagVar and NorRot to Heading
SETVAR(X,180)
SETVAR(Z,32767)
SETVAR(W,0)
Y:=norrot+magvar
IF VARTEST(Y,-32765,-1) THEN
SETVAR(W,360)
ENDIF
Y:=norrot+magvar*X/Z-W+M
IF VARTEST(Y,361,999) THEN
Y:=Y-X-X
ENDIF
IF VARTEST(Y,-999,-1) THEN
Y:=Y+X+X
ENDIF
; Convert Heading to a WORD
SETVAR(Z,65534)
SETVAR(X,360)
IF VARTEST(Y,0,180) THEN
head_lock_var:=Y*Z/X
ENDIF
IF VARTEST(Y,181,360) THEN
head_lock_var:=Y*Z/X-Z
ENDIF
; Convert Altitude in feet to meters
SETVAR(Y,305)
SETVAR(Z,1000)
X:=N*Y/Z
altit_lock_var:=X
SETVAR(autop_master,1)
ENDIF
RETURN
;
FSS:
IF COM() THEN
IF KEY("J") THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Flight Service."
WAIT(4)
PRINT"You're routed LTBJ, LGHI, LSV, EKI*, LTBA at FL85."
WAIT(4)
PRINT"Latest weather report showed winds from 0 at 0 above 5000."
WAIT(4)
GOSUB WXCOND
WAIT(4)
PRINT""
SETVAR(C,0)
GOTO FSSDONE
ENDIF
IF VARTEST(L,0,1) THEN
GOTO FSSDONE
ENDIF
IF KEY("X") THEN
PLAY"HASH.VOC"
PRINT"I-FSIM Flight Service."
WAIT(4)
PRINT"Radar service terminated. Squawk 1200."
WAIT(4)
PRINT"Frequency change approved."
WAIT(4)
PRINT"Fly VFR while deviated."
WAIT(4)
PRINT"Contact us again when ready to resume flight as filed."
WAIT(4)
PRINT""
SETVAR(S,1)
SETVAR(E,0)
GOTO FSSVFR
ENDIF
SETVAR(C,0)
ENDIF
GOTO FSSDONE
FSSVFR:
IF COM() THEN
IF KEY("X") THEN
PLAY"HASH.VOC"
PRINT"I-FSIM this is Flight Service."
WAIT(4)
PRINT"Radar service reinstated. Squawk 6423."
WAIT(4)
PRINT"Cleared as filed."
WAIT(4)
GOSUB FSSWHOT
WAIT(4)
PRINT""
SETVAR(S,0)
SETVAR(C,0)
GOTO FSSDONE
ENDIF
GOSUB COUNTER
IF VARTEST(E,180,9999)
PLAY"HASH.VOC"
PRINT"I-FSIM Flight Service."
WAIT(4)
PRINT"Contact us again when ready to resume flight as filed."
WAIT(4)
PRINT""
SETVAR(E,0)
ENDIF
ENDIF
GOSUB FPAPCHK
GOTO FSSVFR
FSSDONE:
RETURN
;
FSSWHOV:
RETURN
;
FSSWHOT:
IF VARTEST(L,0,0) THEN
PLAY"HASH.VOC"
PRINT"Contact Ground on 121.95."
ENDIF
IF VARTEST(L,1,1) THEN
PLAY"HASH.VOC"
PRINT"Contact Tower on 122.85."
ENDIF
IF VARTEST(L,2,2) THEN
PLAY"HASH.VOC"
PRINT"Contact Departure on 118.55, expect vectors back to plan."
ENDIF
IF VARTEST(L,3,3) THEN
PLAY"HASH.VOC"
PRINT"Contact Center on 133.20, expect vectors back to plan."
ENDIF
IF VARTEST(L,4,4) THEN
PLAY"HASH.VOC"
PRINT"Contact Approach on 118.20, navigate back into the pattern."
ENDIF
RETURN
;
WXUPDATE:
ADDVAR(K,1)
IF VARTEST(K,0,40) THEN
GOTO WXEND
ENDIF
SETVAR(K,0)
SETVAR(X,101)
Y:=random/X
X:=remainder
IF VARTEST(X,0,999) THEN
GOTO WXEND
ENDIF
SETVAR(X,101)
Y:=random/X
X:=remainder
IF VARTEST(X,0,0) THEN
SETVAR(Y,1)
J:=J-Y
IF VARTEST(J,-999,-1) THEN
SETVAR(J,0)
ENDIF
IF VARTEST(J,9,999) THEN
SETVAR(J,8)
ENDIF
X:=J
IF VARTEST(X,-999,-1) THEN
SETVAR(X,0)
ENDIF
IF VARTEST(X,9,999) THEN
SETVAR(X,8)
ENDIF
cloud1cover:=X
ENDIF
SETVAR(X,154)
cloud1top:=cloud1top-X-X
Y:=cloud1bot+X
IF VARTEST(Y,-9999,162) THEN
SETVAR(Y,162)
ENDIF
cloud1bot:=Y
WXEND:
RETURN
;
WXCOND:
SETVAR(X,328)
SETVAR(Z,100)
Y:=cloud1bot/Z*X
IF VARTEST(cloud1cover,0,0) THEN
PRINT"Visibility 10 with clear skies."
ENDIF
IF VARTEST(cloud1cover,1,4) THEN
PRINTVAR(Y,"Currently scattered clouds with a measured ceiling of ")
ENDIF
IF VARTEST(cloud1cover,5,7) THEN
PRINTVAR(Y,"Currently broken clouds with a measured ceiling of ")
ENDIF
IF VARTEST(cloud1cover,8,8) THEN
PRINTVAR(Y,"Currently overcast with a measured ceiling of ")
ENDIF
RETURN
;
CORRECTHDGCHK:
;
;Parameters: W = Opposite Desired Heading
;Variables : U = Current Heading
; X,Y,Z = temporary
;Outputs : W = Required Heading
; H = Absolute value of Heading error in degrees
;
; Compute good heading from radial
SETVAR(X,180)
W:=W+X
CHKHDGDIRECT:
SETVAR(X,360)
; Compute current heading w/wind
IF COURSE(0,0) THEN
ENDIF
Y:=RESULT
; Compute current heading w/o wind
IF HEADING(0,0) THEN
ENDIF
U:=RESULT
; Compute wind correction component
Y:=Y-U
IF VARTEST(Y,-999,-90) THEN
Y:=Y+X
ENDIF
IF VARTEST(Y,90,999) THEN
Y:=Y-X
ENDIF
;Following line has been added by me (SHV) to correct the wind correction problem
SETVAR(Y,0)
W:=W-Y
IF VARTEST(W,-999,0) THEN
W:=W+X
ENDIF
IF VARTEST(W,361,999) THEN
W:=W-X
ENDIF
; Compute heading error regardless of Curr/Req Hdg values
H:=U-W
SETVAR(Y,-1)
IF VARTEST(H,-999,-1) THEN
H:=H*Y
ENDIF
; Compute heading error depending if Curr or Req heading is greater
IF VARTEST(H,181,999) THEN
SETVAR(X,1)
Z:=W+X
SETVAR(X,360)
IF VARTEST(U,Z,999) THEN
H:=U-W-X
GOTO CHKHDGCONT
ENDIF
H:=U-W+X
ENDIF
CHKHDGCONT:
RETURN
;
RADARCHK:
IF XPNDR(1701) THEN
GOTO RADARCHKA
ENDIF
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(2)
PRINT"We have lost you off the radar."
WAIT(2)
PRINT"Please squawk 1701 unless told otherwise."
WAIT(4)
PRINT""
WAIT(10)
GOTO RADARCHKB
RADARCHKA:
IF KEY("\") THEN
GOTO RADARCHKC
ENDIF
IF VARTEST(RANDOM,0,300) THEN
RADARCHKC:
PLAY"HASH.VOC"
PRINT"I-FSIM Center."
WAIT(2)
PRINT"Radar check to follow..."
WAIT(1)
IF ALTITUDE(0,0) THEN
ENDIF
PRINTVAR(RESULT,"...Altitude MSL: ")
WAIT(2)
IF ALTAGL(0,0) THEN
ENDIF
PRINTVAR(RESULT,"...Altitude AGL: ")
WAIT(2)
IF HEADING(0,0) THEN
ENDIF
PRINTVAR(RESULT,"...Heading: ")
WAIT(2)
IF COURSE(0,0) THEN
ENDIF
PRINTVAR(RESULT,"...Course: ")
WAIT(2)
IF AIRSPEED(0,0) THEN
ENDIF
PRINTVAR(RESULT,"...Airspeed: ")
WAIT(2)
PRINT ""
PRINT"Radar check complete. Thank you and so long."
WAIT(2)
PRINT ""
ENDIF
RADARCHKB:
RETURN
TRAFFICCHK:
IF VARTEST(RANDOM,0,3000) THEN
IF VARTEST(O, 0, 0) THEN
PRINT"AZ267 Center."
WAIT(4)
PRINT"Climb to FL340, traffic eastbound at FL320."
WAIT(4)
ENDIF
IF VARTEST(O, 1, 1) THEN
PRINT"AZ681 Center."
WAIT(4)
PRINT"At station passage, resume normal navigation. So Long."
WAIT(4)
ENDIF
IF VARTEST(O, 2, 2) THEN
PRINT"I-FICV Center."
WAIT(4)
PRINT"Descend and Maintain 3000. Contact Approach Control. Good day."
WAIT(4)
ENDIF
IF VARTEST(O, 3, 3) THEN
PRINT"THY662 Center."
WAIT(4)
PRINT"You're cleared for 12000."
WAIT(4)
ENDIF
IF VARTEST(O, 4, 4) THEN
PRINT"31680N Center."
WAIT(4)
PRINT"Reduce speed to 210. Descend and maintain FL180."
WAIT(4)
ENDIF
IF VARTEST(O, 5, 5) THEN
PRINT"AA267 Center."
WAIT(4)
PRINT"Please repeat that last request."
WAIT(4)
ENDIF
IF VARTEST(O, 6, 6) THEN
PRINT"EH-873 Center."
WAIT(4)
PRINT"Be advised of significant turbulence in the area."
WAIT(4)
ENDIF
IF VARTEST(O, 7, 7) THEN
PRINT"IH870 Center."
WAIT(4)
PRINT"Turn right on Ambra13. Maintain cleared altitude."
WAIT(4)
ENDIF
IF VARTEST(O, 8, 8) THEN
PRINT"BM1921 Center."
WAIT(4)
PRINT"You're cleared on a direct visual."
WAIT(4)
ENDIF
IF VARTEST(O, 9, 9) THEN
PRINT"F-DIHJ Center."
WAIT(4)
PRINT"Descend and maintain 7000. Continue to hold at the marker."
WAIT(4)
ENDIF
IF VARTEST(O, 10, 10) THEN
PRINT"I-SNAX Center."
WAIT(4)
PRINT"Turn heading 080. Maintain current altitude."
WAIT(4)
ENDIF
IF VARTEST(O, 11, 11) THEN
PRINT"I-CNEF Center."
WAIT(4)
PRINT"Remain under 1000 to continue visual clearance."
WAIT(4)
ENDIF
IF VARTEST(O, 12, 12) THEN
PRINT"D-REGH Center."
WAIT(4)
PRINT"Squawk 2831. Expect radar check."
WAIT(4)
ENDIF
IF VARTEST(O, 13, 13) THEN
PRINT"CH-ZRGH Center."
WAIT(4)
PRINT"Climb to 15000. Watch for traffic westbound."
WAIT(4)
ENDIF
IF VARTEST(O, 14, 14) THEN
PRINT"I-DUPE Center."
WAIT(4)
PRINT"Descend to 2500 and contact approach. So long."
WAIT(4)
ENDIF
IF VARTEST(O, 15, 15) THEN
PRINT"I-DEMA Center."
WAIT(4)
PRINT"Turn heading 322. Maintain 16000."
WAIT(4)
ENDIF
IF VARTEST(O, 16, 16) THEN
PRINT"N715MC Center."
WAIT(4)
PRINT"Expect vectors around storm cell."
WAIT(4)
ENDIF
IF VARTEST(O, 17, 17) THEN
PRINT"N901DC Center."
WAIT(4)
PRINT"Proceed direct to outer marker and Hold."
WAIT(4)
ENDIF
IF VARTEST(O, 18, 18) THEN
PRINT"D-FANA Center."
WAIT(4)
PRINT"Prepare for handoff to approach when you reach 3000."
WAIT(4)
ENDIF
IF VARTEST(O, 19, 19) THEN
PRINT"LZ-CAB Center."
WAIT(4)
PRINT"Expedite descent to 8000. Report fuel status."
WAIT(4)
ENDIF
IF VARTEST(O, 20, 20) THEN
PRINT"C-401 Center."
WAIT(4)
PRINT"Reduce speed to 190. Contact Approach. Bye."
WAIT(4)
ENDIF
IF VARTEST(O, 21, 21) THEN
PRINT"SC-401 Center."
WAIT(4)
PRINT"Maintain current heading and altitude."
WAIT(4)
ENDIF
PRINT""
ENDIF
ADDVAR(O,1)
IF VARTEST(O, 22, 999) THEN
SETVAR(O,0)
ENDIF
RETURN