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 >
Text File  |  1994-01-07  |  62KB  |  2,145 lines

  1.   ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  2.   ;
  3.   ;     --------------------------------------------------------------
  4.   ;     This is an AAF source file created with ADVENTURE! for Windows
  5.   ;     --------------------------------------------------------------
  6.   ;                     
  7.   ;         ADVENTURE! is a ShareWare program, and you can obtain it
  8.   ;         on CompuServe FSFORUM library 5, in MC-link or via INTERNET.
  9.   ;
  10.   ;         If you want, you can contact the author: 
  11.   ;
  12.   ;                   CORRADO CONFORTI
  13.   ;
  14.   ;                   CIS: 100273,3574
  15.   ;                   INTERNET: mc4126@mclink.it 
  16.   ;
  17.   ;
  18.   ;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
  19. ;ONCRASH gpwscaduto
  20. ;ONSTALL gpwsstalla
  21. SETVAR(X,22)
  22. Y:=random/X
  23. O:=remainder
  24. SETVAR(F,0)
  25. SETVAR(G,0)
  26. SETVAR(I,0)
  27. SETVAR(L,0)
  28. EQU norrot 754
  29. EQU magvar 756
  30. ;
  31. OPTIONS:
  32.         SETVAR(V,0)
  33.         SETVAR(T,1)
  34.         GOTO INTRO
  35. ;
  36. INTRO:
  37. ;   
  38. ;   --- Set Clouds and Winds.
  39. ;   
  40.     SETVAR(magno,0)
  41.     SETVAR(Y,-256)
  42.     SETVAR(Z,0)
  43.     w0vel:=w0vel&Y|Z
  44.     SETVAR(w0turb,0)
  45.     SETVAR(w0depth,0)
  46.     SETVAR(w0dir,0)
  47.     SETVAR(Z,0)
  48.     w3vel:=w3vel&Y|Z
  49.     SETVAR(Z,0)
  50.     w3turb:=w3turb&Y|Z
  51.     SETVAR(w3dir,0)
  52.     SETVAR(w3top,0)
  53.     SETVAR(w3bot,0)
  54.     SETVAR(Z,0)
  55.     w6vel:=w6vel&Y|Z
  56.     SETVAR(Z,0)
  57.     w6turb:=w6turb&Y|Z
  58.     SETVAR(w6dir,0)
  59.     SETVAR(w6top,0)
  60.     SETVAR(w6bot,0)
  61.     SETVAR(Z,0)
  62.     w9vel:=w9vel&Y|Z
  63.     SETVAR(Z,0)
  64.     w9turb:=w9turb&Y|Z
  65.     SETVAR(w9dir,0)
  66.     SETVAR(w9top,0)
  67.     SETVAR(w9bot,0)
  68.     SETVAR(cloud1top,0)
  69.     SETVAR(cloud1bot,0)
  70.     SETVAR(cloud1cover,0)
  71.     SETVAR(cloud1dev,0)
  72.     SETVAR(cloud2top,0)
  73.     SETVAR(cloud2bot,0)
  74.     SETVAR(cloud2cover,0)
  75.     SETVAR(cloud2dev,0)
  76.     SETVAR(cloud3top,0)
  77.     SETVAR(cloud3bot,0)
  78.     SETVAR(cloud3cover,0)
  79.     SETVAR(cloud3dir,0)
  80.     SETVAR(cloud3spd,0)
  81.     SETVAR(Z,0)
  82.         PLAY"DINDON.VOC"
  83.         WAIT(2)
  84.         PRINT"Captain, welcome aboard. This plane is I-FSIM. In a few moments..."
  85.         WAIT(4)
  86.         PRINT"..we'll start the flight from Izmir Adnan Menderes to  Istanbul ATATURK"
  87.         WAIT(4)
  88.         PRINT"via Chios."
  89.         WAIT(5)
  90.         print"The flight plan was designed by Corrado Conforti using Adventure! for Windows."
  91.         WAIT(4)
  92.         PRINT"Tune in Izmir Adnan Menderes Clearance Delivery on 122.45 when ready to begin,"
  93.         WAIT(4)
  94.         PRINT"or press X to see some instructions."
  95.         WAIT(4)
  96.         PRINT""
  97. ;
  98. FENDERC:
  99.     IF COM(122.45) THEN
  100. FENDERCA:
  101.         PLAY"HASH.VOC"
  102.             PRINT"I-FSIM this is Izmir Adnan Menderes Clearance."
  103.             WAIT(4)
  104.             PRINT"Izmir Adnan Menderes Control clears you to Istanbul ATATURK as in your flight plan."
  105.             WAIT(4)
  106.             PRINT"Climb to FL 150, Squawk 1701."
  107.             WAIT(4)
  108.             PRINT"Departure frequency 118.55."
  109.             WAIT(6)
  110.             PRINT"Weather report on Flight Service on 122.20."
  111.             WAIT(4)
  112.             PRINT"Contact Izmir Adnan Menderes Ground on 121.95 to request startup clearance."
  113.             WAIT(4)
  114.             PRINT""
  115.         GOSUB CLEARVARS
  116.         GOTO FENDER1
  117.     ENDIF
  118.     IF KEY("R") THEN
  119.         GOTO INTRO
  120.     ENDIF
  121.     IF KEY("X") THEN
  122.         PRINT"<C> Call the station tuned, to report."
  123.         WAIT(4)
  124.         PRINT"<R> in 10 secs will repeat the last message."
  125.         WAIT(4)
  126.         PRINT"<J> when tuned to FSS gives flt plan summary & weather."
  127.         WAIT(4)
  128.         PRINT"<X> when tuned to FSS will toggle request to go VFR/IFR."
  129.         WAIT(4)
  130.         PRINT"<\> will request a complete radar check."
  131.         WAIT(4)
  132.         PRINT"Tune in Izmir Adnan Menderes Clearance Delivery on 122.45 when ready to begin."
  133.         WAIT(4)
  134.         PRINT""
  135.     ENDIF
  136.     GOTO FENDERC
  137. ;
  138. ;
  139. FENDER1:
  140.     GOSUB COUNTER
  141.     GOSUB FSS
  142.     IF KEY("R") THEN
  143.         GOTO FENDERCA
  144.     ENDIF
  145.     IF COM(121.95) THEN
  146. FENDER1A:
  147.             PLAY"HASH.VOC"
  148.             PRINT"I-FSIM, Izmir Adnan Menderes Ground. Reading you five."
  149.             WAIT(4)
  150.             print"You are cleared to StartUp."
  151.             WAIT(4)
  152.             PLAY"DINDON.VOC"
  153.             print"Captain: Press <9> when ready to startup."
  154.             WAIT(4)
  155. STRUPENG:
  156.             IF KEY("9") THEN
  157.                  SETVAR(magno,4)
  158.                  goto FNSTRUPENG
  159.             ENDIF
  160.             goto STRUPENG
  161. FNSTRUPENG:
  162.             PLAY"HASH.VOC"
  163.             PRINT"I-FSIM, Izmir Adnan Menderes Ground,"
  164.             WAIT(4)
  165.             PRINT"Cleared to taxi to holding position, runway in use  34 and hold."
  166.             WAIT(4)
  167.             PRINT"Contact Tower on frequency 122.85."
  168.             WAIT(4)
  169.             PRINT"Report pressing <C> when ready. Over."
  170.             WAIT(4)
  171.             PRINT""
  172.            SETVAR(A,0)
  173. FENDER1B:
  174.         IF VARTEST(A,10,9999) THEN
  175.             GOTO FENDER2
  176.         ENDIF
  177.         GOSUB FSS
  178.         WAIT(1)
  179.         ADDVAR(A,1)
  180.         GOTO FENDER1B
  181.     ENDIF
  182.     IF VARTEST(A,10,9999) THEN
  183.             PLAY"HASH.VOC"
  184.             PRINT"Contact Izmir Adnan Menderes Ground on 121.95."
  185.             WAIT(4)
  186.             PRINT""
  187.             SETVAR(A,0)
  188.     ENDIF
  189.     GOTO FENDER1
  190. ;
  191. FENDER2:
  192. LINEUP:
  193.     IF GROUNDSPEED(0,0) THEN
  194.      IF KEY("C") THEN
  195.         IF COM(122.85) THEN
  196.                     SETVAR(L,1)
  197.                     PLAY"HASH.VOC"
  198.                     PRINT"I-FSIM Izmir Adnan Menderes Tower."
  199.                     WAIT(4)
  200.                     PRINT"Cleared to Line up and hold."
  201.                     WAIT(4)
  202.                     PRINT""
  203.                     GOTO FINLIUP
  204.         ENDIF
  205.      ENDIF 
  206.     ENDIF
  207.     GOTO LINEUP
  208. ;
  209. FINLIUP:
  210.      IF HEADING(325,355) THEN
  211.          GOTO TOTAKEOF
  212.      ENDIF
  213.      GOTO FINLIUP
  214. TOTAKEOF:
  215.     IF GROUNDSPEED(0,0) THEN
  216.         IF COM(122.85) THEN
  217.             SETVAR(L,1)
  218.             IF XPNDR(1701) THEN
  219. FENDER2A:
  220.                     PLAY"HASH.VOC"
  221.                     PRINT"I-FSIM Izmir Adnan Menderes Tower."
  222.                     WAIT(4)
  223.                     PRINT"Cleared for take off runway 34"
  224.                     WAIT(4)
  225.                     PRINT""
  226.                     GOTO FENDER2B
  227.             ENDIF
  228.             PLAY"DINDON.VOC"
  229.             PRINT"Set Xponder to 1701 for radar contact."
  230.             WAIT(4)
  231.             WAIT(8)
  232.             GOTO FINLIUP
  233.         ENDIF
  234.         PLAY"DINDON.VOC"
  235.         PRINT"Tune in Izmir Adnan Menderes Tower on 122.85."
  236.         WAIT(4)
  237.         PRINT""
  238.         WAIT(5)
  239.         GOTO FENDER2
  240.     ENDIF
  241.     IF ALTAGL(100,9999) THEN
  242.             PLAY"HASH.VOC"
  243.             PRINT"I-FSIM Izmir Adnan Menderes Tower."
  244.             WAIT(4)
  245.             PRINT"You have departed before receiving take off clearance!"
  246.             WAIT(4)
  247.             PRINT"The adventure ends here."
  248.             WAIT(4)
  249.             PRINT""
  250. FENDER2C:
  251. DAMO:
  252.             SETVAR(magno,5)
  253.             GOTO DAMO
  254.     ENDIF
  255.     GOTO FINLIUP
  256. ;
  257. FENDER2B:
  258.     IF KEY("R") THEN
  259.         GOTO FENDER2A
  260.     ENDIF
  261.     GOSUB COUNTER
  262.     IF VARTEST(A,30,30) THEN
  263.           PLAY"HASH.VOC"
  264.           PRINT"I-FSIM Izmir Adnan Menderes Tower."
  265.           WAIT(2)
  266.           PRINT"Speed up your take off"
  267.           WAIT(4)
  268.           SETVAR(A,0)
  269.     ENDIF
  270.     IF VARTEST(B,50,50) THEN
  271.           PLAY"HASH.VOC"
  272.           PRINT"I-FSIM Izmir Adnan Menderes Tower."
  273.           WAIT(2)
  274.           PRINT"Take off immediately or clear the runway"
  275.           WAIT(4)
  276.           GOSUB CLEARVARS
  277.     ENDIF
  278.     IF ALTAGL(100,9999) THEN
  279.         IF HEADING(325,340) THEN
  280.             GOTO FENDER3
  281.         ENDIF
  282.         IF HEADING(340,355) THEN
  283.             GOTO FENDER3
  284.         ENDIF
  285.             PLAY"HASH.VOC"
  286.             PRINT"I-FSIM Izmir Adnan Menderes Tower."
  287.             WAIT(4)
  288.             PRINT"You have NOT departed on the cleared runway!"
  289.             WAIT(4)
  290.             PRINT"This adventure ends here."
  291.             WAIT(4)
  292.             PRINT""
  293.             GOTO FENDER2C
  294.     ENDIF
  295.     GOTO FENDER2B
  296. ;
  297. FENDER3:
  298.     IF KEY("R") THEN
  299.         GOTO FENDER2A
  300.     ENDIF
  301.     GOSUB FSS
  302.     GOSUB RADARCHK
  303.     IF ALTAGL(500,31999) THEN
  304. FENDER3A:
  305.         IF RADIAL(13457,21781,0,0) THEN
  306.         ENDIF
  307.         W:=RESULT
  308.         GOSUB CORRECTHDGCHK
  309.         PLAY"HASH.VOC"
  310.         PRINT"I-FSIM Izmir Adnan Menderes Tower."
  311.         WAIT(4)
  312.         PRINTVAR(W,"Climb to FL 30, heading ")
  313.         WAIT(4)
  314.         PRINT"Contact Departure on 118.55.  Good day."
  315.         WAIT(4)
  316.         PRINT""
  317.         GOSUB CLEARVARS
  318.         M:=W
  319.         SETVAR(N,3000)
  320.         GOTO FENDER4
  321.     ENDIF
  322.     GOTO FENDER3
  323. ;
  324. FENDER4:
  325.     IF KEY("R") THEN
  326.         GOTO FENDER3A
  327.     ENDIF
  328.     GOSUB FPAPCHK
  329.     GOSUB TRAFFICCHK
  330.     GOSUB RADARCHK
  331.     GOSUB FSS
  332.     GOSUB COUNTER
  333.     IF COM(118.55) THEN
  334.         SETVAR(L,2)
  335.         W:=M
  336.         GOSUB CHKHDGDIRECT
  337.         IF VARTEST(H,-6,6) THEN
  338.             IF ALTITUDE(1800,31999) THEN
  339. FENDER4A:
  340.                 PLAY"HASH.VOC"
  341.                 PRINT"I-FSIM Departure."
  342.                 WAIT(4)
  343.                 PRINT"Under radar contact.  Climb and maintain 15000."
  344.                 WAIT(4)
  345.                 IF GEARDOWN() THEN
  346.                     IF VARMASK(retractable,255) THEN
  347.                             PLAY"HASH.VOC"
  348.                             PRINT"I-FSIM,Izmir Adnan Menderes Tower: you have gear still down."
  349.                             WAIT(4)
  350.                     ENDIF
  351.                 ENDIF
  352.                 PLAY"HASH.VOC"
  353.                 PRINT"Contact Center on 133.20.  Good Bye."
  354.                 WAIT(4)
  355.                 SETVAR(N,15000)
  356.                 GOSUB CLEARVARS
  357.                 GOTO FENDER5
  358.             ENDIF
  359.             IF CYLINDER(13491,22131,0,9) THEN
  360.                 IF VARTEST(C,15,31999) THEN
  361.                     PLAY"HASH.VOC"
  362.                     PRINT"I-FSIM Departure."
  363.                     WAIT(4)
  364.                     PRINT"Please expedite climb to 3000 now!"
  365.                     WAIT(4)
  366.                     SETVAR(C,0)
  367.                 ENDIF
  368.             ENDIF
  369.             GOTO FENDER4
  370.         ENDIF
  371.         IF VARTEST(B,10,31999) THEN
  372.             IF RADIAL(13457,21781,0,0) THEN
  373.             ENDIF
  374.             W:=RESULT
  375.             GOSUB CORRECTHDGCHK
  376.             PLAY"HASH.VOC"
  377.             PRINT"I-FSIM Departure."
  378.             WAIT(4)
  379.             PRINTVAR(W,"Establish a heading of ")
  380.             WAIT(4)
  381.             M:=W
  382.             SETVAR(B,0)
  383.         ENDIF
  384.         GOTO FENDER4
  385.     ENDIF
  386.     IF VARTEST(A,10,31999) THEN
  387.         PLAY"HASH.VOC"
  388.         PRINT"I-FSIM Tower."
  389.         WAIT(4)
  390.         PRINT"Tune on Departure on 118.55."
  391.         WAIT(4)
  392.         SETVAR(A,0)
  393.     ENDIF
  394.     GOTO FENDER4
  395. ;
  396. ; --------- Go to Chios
  397. FENDER5:
  398.     IF KEY("R") THEN
  399.         GOTO FENDER4A
  400.     ENDIF
  401.     GOSUB FPAPCHK
  402.     GOSUB TRAFFICCHK
  403.     GOSUB RADARCHK
  404.     GOSUB FSS
  405.     GOSUB ALTCHK
  406.     GOSUB SPDCHK
  407.     GOSUB TODCHK
  408.     GOSUB COUNTER
  409.     IF COM(133.20)
  410.         SETVAR(L,3)
  411.         IF RADIAL(13457,21781,0,0) THEN
  412.         ENDIF
  413.         W:=RESULT
  414.         GOSUB CORRECTHDGCHK
  415.         IF VARTEST(H,-6,6) THEN
  416. FENDER5A:
  417.             PLAY"HASH.VOC"
  418.             PRINT"I-FSIM Center."
  419.             WAIT(4)
  420.             PRINT"Cleared to Chios. Maintain current heading."
  421.             WAIT(4)
  422.             GOSUB CLEARVARS
  423.             GOTO FENDER6
  424.         ENDIF
  425.         IF VARTEST(C,10,31999) THEN
  426.             PLAY"HASH.VOC"
  427.             PRINT"I-FSIM Center."
  428.             WAIT(4)
  429.             PRINTVAR(W,"Establish a heading to Chios of ")
  430.             WAIT(4)
  431.             PRINT"VOR frequency is 110.80"
  432.             WAIT(4)
  433.             M:=W
  434.             SETVAR(C,0)
  435.         ENDIF
  436.         GOTO FENDER5
  437.     ENDIF
  438.     IF VARTEST(A,5,31999) THEN
  439.         PLAY"HASH.VOC"
  440.         PRINT"I-FSIM Departure."
  441.         WAIT(4)
  442.         PRINT"Contact Center on 133.20. Good day."
  443.         WAIT(4)
  444.         SETVAR(A,0)
  445.     ENDIF
  446.     GOTO FENDER5
  447.  
  448. ;---------- Waiting  Lesvos VOR
  449.  
  450. FENDER6:
  451.     IF KEY("R") THEN
  452.         GOTO FENDER5A
  453.     ENDIF
  454.     GOSUB FPAPCHK
  455.     GOSUB TRAFFICCHK
  456.     GOSUB RADARCHK
  457.     GOSUB FSS
  458.     GOSUB COMCHANGE
  459.     GOSUB COMCHK
  460.     GOSUB ALTCHK
  461.     GOSUB SPDCHK
  462.     GOSUB TODCHK
  463.     GOSUB COUNTER
  464.      IF CYLINDER(13457,21781,0,8) THEN
  465. FENDER6A:
  466.            PLAY"HASH.VOC"
  467.            PRINT"I-FSIM Center."
  468.            WAIT(4)
  469.            PRINT"You're cleared to Lesvos VOR."
  470.            WAIT(4)
  471.             PRINT"VOR frequency is 114.20"
  472.             WAIT(4)
  473.                 IF RADIAL(13821,21816,0,0) THEN
  474.                 ENDIF
  475.                 W:=RESULT
  476.                 GOSUB CORRECTHDGCHK
  477.                 M:=W
  478.                 GOSUB CLEARVARS
  479.             GOTO FENDER7
  480.      ENDIF
  481.      IF RADIAL(13457,21781,0,0) THEN
  482.      ENDIF
  483.      W:=RESULT
  484.      IF VARTEST(H,-10,10) THEN
  485.            GOTO FENDER6
  486.      ENDIF
  487. ;
  488. FENDER6E:
  489.      IF VARTEST(B,20,31999) THEN
  490.         IF RADIAL(13457,21781,0,0) THEN
  491.         ENDIF
  492.         W:=RESULT
  493.         GOSUB CORRECTHDGCHK
  494. ;
  495. FENDER6E1:
  496.         PLAY"HASH.VOC"
  497.         PRINT"I-FSIM This is Center."
  498.         WAIT(4)
  499.         PRINTVAR(W,"Establish a heading of ")
  500.         WAIT(4)
  501.         WAIT(5)
  502.         IF KEY("R") THEN
  503.         GOTO FENDER6E1
  504.         ENDIF
  505.         M:=W
  506.         SETVAR(B,0)
  507.      ENDIF
  508.      GOTO FENDER6
  509.  
  510. ;---------- Waiting  Tekirdag VOR
  511.  
  512. FENDER7:
  513.     IF KEY("R") THEN
  514.         GOTO FENDER6A
  515.     ENDIF
  516.     GOSUB FPAPCHK
  517.     GOSUB TRAFFICCHK
  518.     GOSUB RADARCHK
  519.     GOSUB FSS
  520.     GOSUB COMCHANGE
  521.     GOSUB COMCHK
  522.     GOSUB ALTCHK
  523.     GOSUB SPDCHK
  524.     GOSUB TODCHK
  525.     GOSUB COUNTER
  526.      IF CYLINDER(13821,21816,0,8) THEN
  527. FENDER7A:
  528.            PLAY"HASH.VOC"
  529.            PRINT"I-FSIM Center."
  530.            WAIT(4)
  531.            PRINT"You're cleared to Tekirdag VOR."
  532.            WAIT(4)
  533.             PRINT"VOR frequency is 116.30"
  534.             WAIT(4)
  535.                 IF RADIAL(14648,21975,0,0) THEN
  536.                 ENDIF
  537.                 W:=RESULT
  538.                 GOSUB CORRECTHDGCHK
  539.                 M:=W
  540.                 GOSUB CLEARVARS
  541.             GOTO FENDER8
  542.      ENDIF
  543.      IF RADIAL(13821,21816,0,0) THEN
  544.      ENDIF
  545.      W:=RESULT
  546.      IF VARTEST(H,-10,10) THEN
  547.            GOTO FENDER7
  548.      ENDIF
  549. ;
  550. FENDER7E:
  551.      IF VARTEST(B,20,31999) THEN
  552.         IF RADIAL(13821,21816,0,0) THEN
  553.         ENDIF
  554.         W:=RESULT
  555.         GOSUB CORRECTHDGCHK
  556. ;
  557. FENDER7E1:
  558.         PLAY"HASH.VOC"
  559.         PRINT"I-FSIM This is Center."
  560.         WAIT(4)
  561.         PRINTVAR(W,"Establish a heading of ")
  562.         WAIT(4)
  563.         WAIT(5)
  564.         IF KEY("R") THEN
  565.         GOTO FENDER7E1
  566.         ENDIF
  567.         M:=W
  568.         SETVAR(B,0)
  569.      ENDIF
  570.      GOTO FENDER7
  571.  
  572.  
  573. ; -------------(DESCENDING) to Istanbul ATATURK
  574.  
  575. FENDER8:
  576.     IF KEY("R") THEN
  577.         GOTO FENDER7A
  578.     ENDIF
  579.     GOSUB FPAPCHK
  580.     GOSUB TRAFFICCHK
  581.     GOSUB RADARCHK
  582.     GOSUB FSS
  583.     GOSUB COMCHANGE
  584.     GOSUB COMCHK
  585.     GOSUB ALTCHK
  586.     GOSUB SPDCHK
  587.     GOSUB TODCHK
  588.     GOSUB COUNTER
  589.     IF RADIAL(14776,22415,0,0) THEN
  590.     ENDIF
  591.     W:=RESULT
  592.     GOSUB CORRECTHDGCHK
  593.     IF COM(133.20) THEN
  594.         IF CYLINDER(14648,21975,0,8) THEN
  595. FENDER8A:
  596.             PLAY"HASH.VOC"
  597.             PRINT"I-FSIM Center."
  598.             WAIT(4)
  599.             PRINT"You're cleared direct to Istanbul ATATURK."
  600.             WAIT(4)
  601.             IF RADIAL(14776,22415,0,0) THEN
  602.             ENDIF
  603.             W:=RESULT
  604.             GOSUB CORRECTHDGCHK
  605.             PRINTVAR(W,"New heading should be close to ")
  606.             WAIT(4)
  607.             PRINT"Maintain current cleared altitude of 8500."
  608.             WAIT(4)
  609.             PRINT"Reduce speed and contact Approach on 118.20."
  610.             WAIT(4)
  611.             M:=W
  612.             SETVAR(N,8500)
  613.             GOSUB CLEARVARS
  614.             GOTO FENDERFN0
  615.         ENDIF
  616.         IF RADIAL(14648,21975,0,0) THEN
  617.         ENDIF
  618.         W:=RESULT
  619.         GOSUB CORRECTHDGCHK
  620.         IF VARTEST(H,-6,6) THEN
  621.             IF ALTITUDE(8300,8700) THEN
  622.                 SETVAR(R,1)
  623.                 GOTO FENDER8
  624.             ENDIF
  625.             IF VARTEST(R,1,1) THEN
  626.                 IF VARTEST(A,10,31999) THEN
  627.                     PLAY"HASH.VOC"
  628.                     PRINT"I-FSIM Center."
  629.                     WAIT(4)
  630.                     PRINT"Please maintain cleared altitude of 8500."
  631.                     WAIT(4)
  632.                     SETVAR(A,0)
  633.                 ENDIF
  634.                 GOTO FENDER8
  635.             ENDIF
  636.             IF CYLINDER(14648,21975,0,15.822) THEN
  637.                 IF VARTEST(A,10,31999) THEN
  638.                     PLAY"HASH.VOC"
  639.                     PRINT"I-FSIM Center."
  640.                     WAIT(4)
  641.                     PRINT"Expedite your descent to 8500."
  642.                     WAIT(4)
  643.                     SETVAR(A,0)
  644.                 ENDIF
  645.             ENDIF
  646.             GOTO FENDER8
  647.         ENDIF
  648.         IF VARTEST(B,10,31999) THEN
  649.             PLAY"HASH.VOC"
  650.             PRINT"I-FSIM Center."
  651.             WAIT(4)
  652.             PRINT"Establish and maintain a direct heading to Tekirdag VOR."
  653.             WAIT(4)
  654.             PRINTVAR(W,"You're heading should be close to ")
  655.             wAIT(4)
  656.         pRINT"Frequency for Tekirdag VOR VOR is 116.30"
  657.         WAIT(4)
  658.             M:=W
  659.             SETVAR(B,0)
  660.         ENDIF
  661.         GOTO FENDER8
  662.     ENDIF
  663.     IF VARTEST(C,10,31999)
  664.         PLAY"DINDON.VOC"
  665.         PRINT"Captain:  remain on frequency 133.20."
  666.         WAIT(4)
  667.         SETVAR(C,0)
  668.     ENDIF
  669.     GOTO FENDER8
  670. ;
  671. ;----- APPROACHING DESTINATION AIRPORT
  672. gosub RADARCHK
  673. gosub COMCHANGE
  674. gosub COMCHK
  675. gosub ALTCHK
  676. gosub SPDCHK
  677. gosub TODCHK
  678. ;
  679. FENDERFN0:
  680.   setvar(f,0)
  681.   setvar(b,10)
  682.   setvar(c,180)
  683.   setvar(l,400)
  684. LANDRUNWAY:
  685.   if com(118.20)
  686.     PLAY"HASH.VOC"
  687.     print "I-FSIM, this is  Istanbul ATATURK Approach."
  688.     wait(4)
  689.     Print "Cleared to make straight-in approach. Runway in use 18."
  690.     wait(4)
  691.     goto CHOOSERUNWAY
  692.   endif
  693.   goto LANDRUNWAY
  694. CHOOSERUNWAY:
  695.   if radial(14776,22415,0,0)
  696.     goto PPoint1
  697.   endif
  698.   if radial(14776,22415,0,0)
  699.     goto PPoint2
  700.   endif
  701.   if radial(14776,22415,0,0)
  702.     goto PPoint3
  703.   endif
  704.   if radial(14776,22415,0,0)
  705.     goto PPoint4
  706.   endif
  707.   if radial(14776,22415,0,0)
  708.     goto PPoint4
  709.   endif
  710.   if radial(14776,22415,0,0)
  711.     goto PPoint5
  712.   endif
  713.   if radial(14776,22415,0,0)
  714.     goto PPoint6
  715.   endif
  716.  
  717.   goto CHOOSERUNWAY
  718. PPoint1:
  719.   if cylinder( 14776 , 22415 ,0,2)
  720.     PLAY"HASH.VOC"
  721.     print "I-FSIM turn to heading 220 until field in sight."
  722.     wait(5)
  723.     print "Contact Istanbul ATATURK tower on 120.95"
  724.     goto ULTIMO
  725.   endif
  726.   gosub error
  727.   if radial( 14776 , 22415 ,0,0)
  728.   endif
  729.   d:= result
  730.   e:= d - r
  731.   if vartest(e,-10,10)
  732.     goto PPoint1
  733.   endif
  734.   a:= d / b * b
  735.   gosub heading
  736.   goto PPoint1
  737.  
  738. PPoint2:
  739.   if cylinder( 14776 , 22415 ,0,2)
  740.     goto PPoint1
  741.   endif
  742.   gosub error
  743.   if radial( 14776 , 22415 ,0,0)
  744.   endif
  745.   d:= result
  746.   e:= d - r
  747.   if vartest(e,-10,10)
  748.     goto PPoint2
  749.   endif
  750.   a:= d / b * b
  751.   gosub heading
  752.   goto PPoint2
  753.  
  754. PPoint3:
  755.   if cylinder( 14776 , 22415 ,0,3)
  756.     goto PPoint2
  757.   endif
  758.   gosub error
  759.   if radial( 14776 , 22415 ,0,0)
  760.   endif
  761.   d:= result
  762.   e:= d - r
  763.   if vartest(e,-10,10)
  764.     goto PPoint3
  765.   endif
  766.   a:= d / b * b
  767.   gosub heading
  768.   goto PPoint3
  769.  
  770. PPoint4:
  771.   if cylinder( 14776 , 22415 ,0,3)
  772.     goto PPoint5
  773.   endif
  774.   gosub error
  775.   if radial( 14776 , 22415 ,0,0)
  776.   endif
  777.   d:= result
  778.   e:= d - r
  779.   if vartest(e,-10,10)
  780.     goto PPoint4
  781.   endif
  782.   a:= d / b * b
  783.   gosub heading
  784.   goto PPoint4
  785.  
  786. PPoint5:
  787.   if cylinder( 14776 , 22415 ,0,2)
  788.     goto PPoint6
  789.   endif
  790.   gosub error
  791.   if radial( 14776 , 22415 ,0,0)
  792.   endif
  793.   d:= result
  794.   e:= d - r
  795.   if vartest(e,-10,10)
  796.     goto PPoint5
  797.   endif
  798.   a:= d / b * b
  799.   gosub heading
  800.   goto PPoint5
  801.  
  802. PPoint6:
  803.   if cylinder( 14776 , 22415 ,0,2)
  804.     PLAY"HASH.VOC"
  805.     print "I-FSIM turn to heading 130 until field in sight."
  806.     wait(5)
  807.     print "Contact Istanbul ATATURK tower on 120.95"
  808.     goto ULTIMO
  809.   endif
  810.   gosub error
  811.   if radial( 14776 , 22415 ,0,0)
  812.   endif
  813.   d:= result
  814.   e:= d - r
  815.   if vartest(e,-10,10)
  816.     goto PPoint6
  817.   endif
  818.   a:= d / b * b
  819.   gosub heading
  820.   goto PPoint6
  821.  
  822. ULTIMO:
  823.   if com(120.95)
  824.         IF CYLINDER(14776,22415,0,8) THEN
  825.             PLAY"HASH.VOC"
  826.             print "I-FSIM,Istanbul ATATURK Tower. Cleared to final, report on base - Over"
  827.             goto ULTIMO2
  828.         ENDIF
  829.   endif
  830.   goto ULTIMO
  831. ULTIMO2:
  832.   IF CYLINDER(14776,22415,0,4) THEN
  833.      PLAY"HASH.VOC"
  834.      print "I-FSIM,Istanbul ATATURK Tower. Cleared to land runway 18"
  835.      goto FERMATO
  836.   ENDIF
  837.   GOTO ULTIMO2
  838.  
  839. FERMATO:
  840. FENDERFN3:
  841.     GOSUB COUNTER
  842.     IF VARMASK(ground,1) THEN
  843.         GOTO FENDERFN4
  844.     ENDIF
  845.     IF COM(120.95) THEN
  846.         IF CYLINDER(14776,22415,0,5) THEN
  847. FENDERFN3A:
  848.             IF GEARUP() THEN
  849.                 PLAY"HASH.VOC"
  850.                 PRINT"I-FSIM Istanbul ATATURK Tower."
  851.                 WAIT(4)
  852.                 PRINT"Please check landing gear status."
  853.                 WAIT(4)
  854.             ENDIF
  855.             IF JETENGINE() THEN
  856.                 IF GROUNDSPEED(200,999) THEN
  857.                     PLAY"HASH.VOC"
  858.                     PRINT"I-FSIM Istanbul ATATURK Tower."
  859.                     WAIT(4)
  860.                     PRINT"Final approach: reduce speed"
  861.                     WAIT(4)
  862.                 ENDIF
  863.             ENDIF
  864.             IF PROPENGINE() THEN
  865.                 IF GROUNDSPEED(150,999) THEN
  866.                     PLAY"HASH.VOC"
  867.                     PRINT"I-FSIM Istanbul ATATURK Tower.
  868.                     WAIT(4)
  869.                     PRINT"Final approach: reduce speed."
  870.                     WAIT(4)
  871.                 ENDIF
  872.             ENDIF
  873.         ENDIF
  874.         WAIT(10)
  875.         GOTO FENDERFN3
  876.     ENDIF
  877.     IF VARTEST(C,10,31999)
  878.             PLAY"DINDON.VOC"
  879.             PRINT"Please keep radio on Tower frequency 120.95."
  880.             WAIT(4)
  881.             SETVAR(C,0)
  882.     ENDIF
  883.     GOTO FENDERFN3
  884. ;
  885. ;Touchdown!
  886. FENDERFN4:
  887.     GOSUB COUNTER
  888.     IF COM(120.95) THEN
  889.         IF VARTEST(A,10,31999) THEN
  890. FENDERFN4A:
  891.             PLAY"HASH.VOC"
  892.                 PRINT"I-FSIM Istanbul ATATURK Tower."
  893.                 WAIT(4)
  894.                 SETVAR(Q,255)
  895.                 Q:=MINUTE & Q
  896.                 PRINTVAR(Q, "On the ground at ")
  897.                 wait(4)
  898.                 PRINT"Turn at the first convenient intersection and hold."
  899.                 WAIT(4)
  900.                 PRINT"Contact Istanbul ATATURK Ground on 122.20.  Good bye."
  901.                 WAIT(4)
  902.             GOSUB CLEARVARS
  903.             GOTO FENDERFN5
  904.         ENDIF
  905.         GOTO FENDERFN4
  906.     ENDIF
  907.     IF VARTEST(C,10,31999)
  908.             PLAY"DINDON.VOC"
  909.             PRINT"Please keep radio on Tower frequency 120.95."
  910.             WAIT(4)
  911.            SETVAR(C,0)
  912.     ENDIF
  913.     GOTO FENDERFN4
  914. ;
  915. ;Turned off runway and holding
  916. FENDERFN5:
  917.     IF KEY("R") THEN
  918.         GOTO FENDERFN4A
  919.     ENDIF
  920.     GOSUB COUNTER
  921.     IF COM(122.20) THEN
  922.         IF GROUNDSPEED(0,0) THEN
  923.                 PLAY"HASH.VOC"
  924.                 PRINT"I-FSIM Istanbul ATATURK Ground."
  925.                 WAIT(4)
  926.                 PRINT"Welcome to Istanbul ATATURK."
  927.                 WAIT(4)
  928.                 PRINT"You're cleared for taxi to parking area.  Switching off.  Over"
  929.                 WAIT(4)
  930.                 PLAY"DINDON.VOC"
  931.                 PRINT"-=* THE END *=-"
  932.                 WAIT(4)
  933.                 PRINT"This flight was designed with ADVENTURE! for Windows"
  934.                 WAIT(4)
  935.                 PRINT"(SHW)1993 Corrado Conforti - CIS:100273,3574   INTERNET:mc4125@mclink.it"
  936.             EOF
  937.         ENDIF
  938.         GOTO FENDERFN5
  939.     ENDIF
  940.     IF VARTEST(C,20,31999)
  941.             PLAY"HASH.VOC"
  942.             PRINT"I-FSIM Istanbul ATATURK Tower."
  943.             WAIT(4)
  944.             PRINT"Please contact Istanbul ATATURK Ground on 122.20."
  945.             WAIT(4)
  946.             SETVAR(C,0)
  947.     ENDIF
  948.     GOTO FENDERFN5
  949. ;
  950.  
  951. heading:
  952.   if vartest(remainder,5,9)
  953.     a:= a + b
  954.   endif
  955.   a:= a - c
  956.   if vartest(a,-360,0)
  957.     a:= a + c + c
  958.   endif
  959.   m:= l - a
  960.   if vartest(m,0,0)
  961.     return
  962.   endif
  963.   if com(118.20)
  964.     if heading(0,0)
  965.     endif
  966.     s:= a - result
  967.     if vartest(s,-360,0)
  968.       s:= s + c + c
  969.     endif
  970.     if vartest(s,0,180)
  971.     PLAY"HASH.VOC"
  972.       printvar(a,"I-FSIM turn right heading ")
  973.     endif
  974.     if vartest(s,180,360)
  975.     PLAY"HASH.VOC"
  976.       printvar(a,"I-FSIM turn left heading ")
  977.     endif
  978.   endif
  979.   l:= a
  980.   wait(15)
  981.   return
  982.  
  983. error:
  984.   if course(0,0)
  985.   endif
  986.   r:= result - c
  987.   if vartest(r,-360,0)
  988.     r:= r + c + c
  989.   endif
  990.   if cylinder(14776,22415,32,33)
  991.     if altitude(10500,32767)
  992.       if vartest(f,0,0)
  993.         if com(;)
  994.           PLAY"HASH.VOC"
  995.           print "I-FSIM descend and maintain 10000"
  996.           wait(5)
  997.         endif
  998.         setvar(f,1)
  999.       endif
  1000.     endif
  1001.   endif
  1002.   if cylinder(14776,22415,15,16)
  1003.     if altitude(5500,32767)
  1004.       if vartest(f,0,1)
  1005.         if com(;)
  1006.           PLAY"HASH.VOC"
  1007.           print "I-FSIM descend and maintain 5000"
  1008.           wait(5)
  1009.         endif
  1010.         setvar(f,2)
  1011.       endif
  1012.     endif
  1013.   endif
  1014.   return
  1015.  
  1016. EOF
  1017. ; ------------------------------
  1018. ; COM Frequency check subroutine
  1019. ; ------------------------------
  1020. ;
  1021. COMCHK:
  1022.                 IF VARTEST(L,2,2) THEN
  1023.                     IF COM(118.55) THEN
  1024.                         IF VARTEST(E,1,1) THEN
  1025.                             PLAY"HASH.VOC"
  1026.                             PRINT"I-FSIM, this is Departure Control, Good Day!"
  1027.                             WAIT(4)
  1028. COMCHK1:
  1029.                             PRINT"Radar Contact. Cleared to 5000 feet."
  1030.                             WAIT(4)
  1031.                             WAIT(6)
  1032.                             SETVAR(E,2)
  1033.                             IF KEY("R") THEN
  1034.                                 GOTO COMCHK1
  1035.                             ENDIF
  1036.                             RETURN
  1037.                         ENDIF
  1038.                         RETURN
  1039.                     ENDIF
  1040. COMCHK2:
  1041.                     PLAY"HASH.VOC"
  1042.                     PRINT"I-FSIM,"
  1043.                     WAIT(4)
  1044.                     PRINT"Contact Departure at 118.55 !"
  1045.                     WAIT(4)
  1046.                     WAIT(6)
  1047.                     IF KEY("R") THEN
  1048.                         GOTO COMCHK2
  1049.                     ENDIF
  1050.                     GOTO COMCHK
  1051.                 ENDIF
  1052. ;
  1053.                 IF VARTEST(L,3,3) THEN
  1054.                     IF COM(133.20) THEN
  1055.                         IF VARTEST(E,2,2) THEN
  1056.                     PLAY"HASH.VOC"
  1057.                             PRINT"I-FSIM, this is Center, Good Day!"
  1058.                             WAIT(4)
  1059.                             SETVAR(E,3)
  1060.                             RETURN
  1061.                         ENDIF
  1062.                         RETURN
  1063.                     ENDIF
  1064. COMCHK3:
  1065.                     PLAY"HASH.VOC"
  1066.                     PRINT"I-FSIM,"
  1067.                     WAIT(4)
  1068.                     PRINT"Contact Center at 133.20 !"
  1069.                     WAIT(4)
  1070.                     WAIT(6)
  1071.                     IF KEY("R") THEN
  1072.                         GOTO COMCHK3
  1073.                     ENDIF
  1074.                     GOTO COMCHK
  1075.                 ENDIF
  1076. ;
  1077.                 IF VARTEST(L,4,4) THEN
  1078.                     PLAY"HASH.VOC"
  1079.                     IF COM(118.20) THEN
  1080.                         IF VARTEST(E,3,3) THEN
  1081.                             PRINT"I-FSIM, this is Approach Control, Good Day!"
  1082.                             WAIT(4)
  1083.                             SETVAR(E,4)
  1084.                             RETURN
  1085.                         ENDIF
  1086.                         RETURN
  1087.                     ENDIF
  1088. COMCHK4:
  1089.                     PLAY"HASH.VOC"
  1090.                     PRINT"I-FSIM,"
  1091.                     WAIT(4)
  1092.                     PRINT"Contact Istanbul ATATURK Approach at 118.20 !"
  1093.                     WAIT(4)
  1094.                     WAIT(6)
  1095.                     IF KEY("R") THEN
  1096.                         GOTO COMCHK4
  1097.                     ENDIF
  1098.                     GOTO COMCHK
  1099.                 ENDIF
  1100. ;
  1101.                 IF VARTEST(L,5,5) THEN
  1102.                     PLAY"HASH.VOC"
  1103.                     IF COM(120.95) THEN
  1104.                         IF VARTEST(E,4,4) THEN
  1105.                             PRINT"I-FSIM, this is Istanbul ATATURK Tower, Good Day!"
  1106.                             WAIT(4)
  1107.                             SETVAR(E,5)
  1108.                             RETURN
  1109.                         ENDIF
  1110.                         RETURN
  1111.                     ENDIF
  1112. COMCHK5:
  1113.                     PLAY"HASH.VOC"
  1114.                     PRINT"I-FSIM,"
  1115.                     WAIT(4)
  1116.                     PRINT"Contact Istanbul ATATURK Tower on 120.95 !"
  1117.                     WAIT(4)
  1118.                     WAIT(6)
  1119.                     IF KEY("R") THEN
  1120.                         GOTO COMCHK5
  1121.                     ENDIF
  1122.                     GOTO COMCHK
  1123.                 ENDIF
  1124.                 RETURN
  1125. ;
  1126. ;Subroutine Check for switching centers
  1127. ;
  1128. COMCHANGE:
  1129.                 IF CYLINDER(13491,22131,3,15) THEN
  1130. COMCHANGE1:
  1131.                     IF VARTEST(L,1,1) THEN
  1132.                     PLAY"HASH.VOC"
  1133.                         PRINT"I-FSIM,"
  1134.                         WAIT(4)
  1135.                         PRINT"Contact Departure at 118.55. Good day!"
  1136.                         WAIT(4)
  1137.                         SETVAR(L,2)
  1138.                         WAIT(6)
  1139.                         IF KEY("R") THEN
  1140.                             GOTO COMCHANGE1
  1141.                         ENDIF
  1142.                         RETURN
  1143.                     ENDIF
  1144.                     RETURN
  1145.                 ENDIF
  1146. ;
  1147.                 IF CYLINDER(13491,22131,20,30) THEN
  1148.                     IF VARTEST(L,2,2) THEN
  1149. COMCHANGE2:
  1150.                     PLAY"HASH.VOC"
  1151.                             PRINT"I-FSIM,"
  1152.                             WAIT(4)
  1153.                             PRINT"Contact Center at 133.20. Good day!"
  1154.                             WAIT(4)
  1155.                             SETVAR(L,3)
  1156.                             WAIT(6)
  1157.                             IF KEY("R") THEN
  1158.                                 GOTO COMCHANGE2
  1159.                             ENDIF
  1160.                             RETURN
  1161.                     ENDIF
  1162.                     RETURN
  1163.                 ENDIF
  1164. ;
  1165.                 IF CYLINDER(14776,22415,14,39) THEN
  1166.                     IF VARTEST(L,3,3) THEN
  1167. COMCHANGE3:
  1168.                     PLAY"HASH.VOC"
  1169.                             PRINT"I-FSIM,"
  1170.                             WAIT(4)
  1171.                             PRINT"Contact Approach at 118.20. Good day!"
  1172.                             WAIT(4)
  1173.                             SETVAR(L,4)
  1174.                             SETVAR(Q,1)
  1175.                             WAIT(6)
  1176.                             IF KEY("R") THEN
  1177.                                 GOTO COMCHANGE3
  1178.                             ENDIF
  1179.                             RETURN
  1180.                     ENDIF
  1181.                     RETURN
  1182.                 ENDIF
  1183. ;                
  1184.                 IF CYLINDER(14776,22415,0,15) THEN
  1185.                     IF VARTEST(L,4,4) THEN
  1186. COMCHANGE4:
  1187.                     PLAY"HASH.VOC"
  1188.                             PRINT"I-FSIM,"
  1189.                             WAIT(4)
  1190.                             PRINT"Contact Istanbul ATATURK Tower on 120.95. Good day!"
  1191.                             WAIT(4)
  1192.                             SETVAR(L,5)
  1193.                             WAIT(6)
  1194.                             IF KEY("R") THEN
  1195.                                 GOTO COMCHANGE4
  1196.                             ENDIF
  1197.                             RETURN
  1198.                     ENDIF
  1199.                     RETURN
  1200.                 ENDIF
  1201.                 RETURN
  1202. ;
  1203. ;Altitude Check subroutine
  1204. ;
  1205. ALTCHK:
  1206. ;"Initial Climb" Altitude check subroutine
  1207. ;
  1208.             IF VARTEST(N,5000,5000) THEN
  1209.                 IF CYLINDER(13491,22131,0,10) THEN
  1210.                     IF ALTITUDE(500,4800) THEN
  1211.                         IF VARTEST(R,0,0) THEN
  1212.                         ENDIF
  1213.                         IF VARTEST(R,1,1) THEN
  1214. ALT1:
  1215.                     PLAY"HASH.VOC"
  1216.                             PRINT"I-FSIM,"
  1217.                             WAIT(4)
  1218.                             PRINT"Please maintain 5000 feet!"
  1219.                             WAIT(4)
  1220.                             WAIT(6)
  1221.                             IF KEY("R") THEN
  1222.                                 GOTO ALT1
  1223.                             ENDIF
  1224.                         ENDIF
  1225.                     ENDIF
  1226.                     IF ALTITUDE(4800,5200) THEN
  1227.                         SETVAR(R,1)
  1228.                     ENDIF    
  1229.                     IF ALTITUDE(5201,18500) THEN
  1230. ALT2:
  1231.                     PLAY"HASH.VOC"
  1232.                         PRINT"I-FSIM,"
  1233.                         WAIT(4)
  1234.                         PRINT"Please maintain 5000 feet!"
  1235.                         WAIT(4)
  1236.                         WAIT(6)
  1237.                         IF KEY("R") THEN
  1238.                             GOTO ALT2
  1239.                         ENDIF
  1240.                     ENDIF
  1241.                 ENDIF               
  1242.                 IF CYLINDER(13491,22131,10,999) THEN 
  1243.                    IF ALTITUDE(500,4799) THEN 
  1244.                        IF VARTEST(R,0,0) THEN
  1245. ALT3:                        
  1246.                     PLAY"HASH.VOC"
  1247.                            PRINT"I-FSIM,"
  1248.                            WAIT(4)
  1249.                            PRINT"Please expedite climb to 5000 now!"
  1250.                            WAIT(4)
  1251.                            WAIT(6)
  1252.                            IF KEY("R") THEN
  1253.                                GOTO ALT3
  1254.                            ENDIF
  1255.                        ENDIF    
  1256.                        IF VARTEST(R,1,1) THEN
  1257. ALT4:
  1258.                     PLAY"HASH.VOC"
  1259.                            PRINT"I-FSIM,"
  1260.                            WAIT(4)
  1261.                            PRINT"Please maintain 5000 feet!"
  1262.                            WAIT(4)
  1263.                            WAIT(6)
  1264.                            IF KEY("R") THEN
  1265.                                GOTO ALT4
  1266.                            ENDIF
  1267.                        ENDIF
  1268.                    ENDIF        
  1269.                    IF ALTITUDE(4800,5200) THEN
  1270.                        SETVAR(R,1) 
  1271.                    ENDIF
  1272.                    IF ALTITUDE(5201,18500) THEN
  1273. ALT5:
  1274.                     PLAY"HASH.VOC"
  1275.                            PRINT"I-FSIM,"
  1276.                            WAIT(4)
  1277.                            PRINT"Please maintain 5000 feet!"
  1278.                            WAIT(4)
  1279.                            WAIT(6)
  1280.                            IF KEY("R") THEN
  1281.                                GOTO ALT5
  1282.                            ENDIF
  1283.                    ENDIF
  1284.                 ENDIF
  1285.             ENDIF
  1286. ;
  1287. ;"Cruise" Altitude check routine
  1288. ;
  1289.             IF VARTEST(N,8500,8500)THEN
  1290.                 IF CYLINDER(13491,22131,0,100) THEN
  1291.                     IF ALTITUDE(500,8299) THEN
  1292.                         IF VARTEST(R,0,0) THEN
  1293.                         ENDIF
  1294.                         IF VARTEST(R,1,1) THEN
  1295. ALT6:
  1296.                     PLAY"HASH.VOC"
  1297.                             PRINT"I-FSIM,"
  1298.                             WAIT(4)
  1299.                             PRINT"Please maintain FL85 !"
  1300.                             WAIT(4)
  1301.                             WAIT(6)
  1302.                             IF KEY("R") THEN
  1303.                                 GOTO ALT6
  1304.                             ENDIF
  1305.                         ENDIF
  1306.                     ENDIF
  1307.                     IF ALTITUDE(8300,8700) THEN
  1308.                         SETVAR(R,1)
  1309.                     ENDIF    
  1310.                     IF ALTITUDE(8701,18500) THEN
  1311. ALT7:
  1312.                     PLAY"HASH.VOC"
  1313.                         PRINT"I-FSIM,"
  1314.                         WAIT(4)
  1315.                         PRINT"Please maintain FL85 !"
  1316.                         WAIT(4)
  1317.                         WAIT(6)
  1318.                         IF KEY("R") THEN
  1319.                             GOTO ALT7
  1320.                         ENDIF
  1321.                     ENDIF
  1322.                 ENDIF               
  1323.                 IF CYLINDER(13491,22131,101,9999) THEN 
  1324.                    IF ALTITUDE(500,8299) THEN 
  1325.                        IF VARTEST(R,0,0) THEN
  1326. ALT8:                        
  1327.                     PLAY"HASH.VOC"
  1328.                            PRINT"I-FSIM,"
  1329.                            WAIT(4)
  1330.                            PRINT"Please expedite climb to FL85 now!"
  1331.                            WAIT(4)
  1332.                            WAIT(6)
  1333.                            IF KEY("R") THEN
  1334.                                GOTO ALT8
  1335.                            ENDIF
  1336.                        ENDIF    
  1337.                        IF VARTEST(R,1,1) THEN
  1338. ALT9:
  1339.                     PLAY"HASH.VOC"
  1340.                            PRINT"I-FSIM,"
  1341.                            WAIT(4)
  1342.                            PRINT"Please maintain FL85 !"
  1343.                            WAIT(4)
  1344.                            WAIT(6)
  1345.                            IF KEY("R") THEN
  1346.                                GOTO ALT9
  1347.                            ENDIF
  1348.                        ENDIF
  1349.                    ENDIF        
  1350.                    IF ALTITUDE(8300,8700) THEN
  1351.                        SETVAR(R,1) 
  1352.                    ENDIF
  1353.                    IF ALTITUDE(8701,18500) THEN
  1354. ALT10:
  1355.                     PLAY"HASH.VOC"
  1356.                            PRINT"I-FSIM,"
  1357.                            WAIT(4)
  1358.                            PRINT"Please maintain FL85 !"
  1359.                            WAIT(4)
  1360.                            WAIT(6)
  1361.                            IF KEY("R") THEN
  1362.                                GOTO ALT10
  1363.                            ENDIF
  1364.                    ENDIF
  1365.                 ENDIF
  1366.             ENDIF
  1367. ;
  1368. ;"Descent" Altitude check routine
  1369. ;
  1370.             IF VARTEST(N,7000,7000) THEN
  1371.                 IF CYLINDER(14776,22415,50,9999) THEN
  1372.                     IF ALTITUDE(7201,18500) THEN
  1373.                         IF VARTEST(R,2,2) THEN
  1374.                         ENDIF
  1375.                         IF VARTEST(R,1,1) THEN
  1376. ALT11:
  1377.                     PLAY"HASH.VOC"
  1378.                             PRINT"I-FSIM,"
  1379.                             WAIT(4)
  1380.                             PRINT"Please maintain 7000 feet!"
  1381.                             WAIT(4)
  1382.                             WAIT(6)
  1383.                             IF KEY("R") THEN
  1384.                                 GOTO ALT11
  1385.                             ENDIF
  1386.                         ENDIF
  1387.                     ENDIF
  1388.                     IF ALTITUDE(6800,7200) THEN
  1389.                         SETVAR(R,1)
  1390.                     ENDIF    
  1391.                     IF ALTITUDE(500,6799) THEN
  1392. ALT12:
  1393.                     PLAY"HASH.VOC"
  1394.                         PRINT"I-FSIM,"
  1395.                         WAIT(4)
  1396.                         PRINT"Please maintain 7000 feet !"
  1397.                         WAIT(4)
  1398.                         WAIT(6)
  1399.                         IF KEY("R") THEN
  1400.                             GOTO ALT12
  1401.                         ENDIF
  1402.                     ENDIF
  1403.                 ENDIF               
  1404.                 IF CYLINDER(14776,22415,0,50) THEN 
  1405.                     IF ALTITUDE(7201,18500) THEN 
  1406.                         IF VARTEST(R,2,2) THEN
  1407. ALT13:                        
  1408.                     PLAY"HASH.VOC"
  1409.                             PRINT"I-FSIM,"
  1410.                             WAIT(4)
  1411.                             PRINT"Please expedite descent to 7000 feet now!"
  1412.                             WAIT(4)
  1413.                             WAIT(6)
  1414.                             IF KEY("R") THEN
  1415.                                 GOTO ALT13
  1416.                             ENDIF
  1417.                         ENDIF    
  1418.                         IF VARTEST(R,1,1) THEN
  1419. ALT14:
  1420.                     PLAY"HASH.VOC"
  1421.                             PRINT"I-FSIM,"
  1422.                             WAIT(4)
  1423.                             PRINT"Please maintain 7000 feet!"
  1424.                             WAIT(4)
  1425.                             WAIT(6)
  1426.                             IF KEY("R") THEN
  1427.                                 GOTO ALT14
  1428.                             ENDIF
  1429.                         ENDIF
  1430.                     ENDIF
  1431.                     IF ALTITUDE(6800,7000) THEN
  1432.                         SETVAR(R,1) 
  1433.                     ENDIF
  1434.                     IF ALTITUDE(500,6799) THEN
  1435. ALT15:              
  1436.                     PLAY"HASH.VOC"
  1437.                         PRINT"I-FSIM,"
  1438.                         WAIT(4)
  1439.                         PRINT"Please maintain 7000 feet!"
  1440.                         WAIT(4)
  1441.                         WAIT(6)
  1442.                         IF KEY("R") THEN
  1443.                             GOTO ALT15
  1444.                         ENDIF
  1445.                     ENDIF
  1446.                 ENDIF
  1447.             ENDIF
  1448. ;
  1449. ;"Localizer interception" Altitude Check
  1450. ;
  1451.             IF VARTEST(N,2500,2500) THEN
  1452.                 IF CYLINDER(14776,22415,20,9999) THEN
  1453.                     IF ALTITUDE(2701,18500) THEN
  1454.                         IF VARTEST(R,2,2) THEN
  1455.                         ENDIF
  1456.                         IF VARTEST(R,1,1) THEN
  1457. ALT16:
  1458.                     PLAY"HASH.VOC"
  1459.                             PRINT"I-FSIM,"
  1460.                             WAIT(4)
  1461.                             PRINT"Please maintain 2500 feet!"
  1462.                             WAIT(4)
  1463.                             WAIT(6)
  1464.                             IF KEY("R") THEN
  1465.                                 GOTO ALT16
  1466.                             ENDIF
  1467.                         ENDIF
  1468.                     ENDIF
  1469.                     IF ALTITUDE(2300,2700) THEN
  1470.                         SETVAR(R,1)
  1471.                     ENDIF    
  1472.                     IF ALTITUDE(500,2299) THEN
  1473. ALT17:
  1474.                     PLAY"HASH.VOC"
  1475.                         PRINT"I-FSIM,"
  1476.                         WAIT(4)
  1477.                         PRINT"Please maintain 2500 feet !"
  1478.                         WAIT(4)
  1479.                         WAIT(6)
  1480.                         IF KEY("R") THEN
  1481.                             GOTO ALT17
  1482.                         ENDIF
  1483.                     ENDIF
  1484.                 ENDIF               
  1485.                 IF CYLINDER(14776,22415,0,20) THEN 
  1486.                     IF ALTITUDE(2701,18500) THEN 
  1487.                         IF VARTEST(R,2,2) THEN
  1488. ALT18:                        
  1489.                     PLAY"HASH.VOC"
  1490.                             PRINT"I-FSIM,"
  1491.                             WAIT(4)
  1492.                             PRINT"Please expedite descent to 2500 feet now!"
  1493.                             WAIT(4)
  1494.                             WAIT(6)
  1495.                             IF KEY("R") THEN
  1496.                                 GOTO ALT18
  1497.                             ENDIF
  1498.                         ENDIF    
  1499.                         IF VARTEST(R,1,1) THEN
  1500. ALT19:
  1501.                     PLAY"HASH.VOC"
  1502.                             PRINT"I-FSIM,"
  1503.                             WAIT(4)
  1504.                             PRINT"Please maintain 2500 feet!"
  1505.                             WAIT(4)
  1506.                             WAIT(6)
  1507.                             IF KEY("R") THEN
  1508.                                 GOTO ALT19 
  1509.                             ENDIF
  1510.                         ENDIF
  1511.                     ENDIF
  1512.                     IF ALTITUDE(2300,2700) THEN
  1513.                         SETVAR(R,1) 
  1514.                     ENDIF
  1515.                     IF ALTITUDE(500,2299) THEN
  1516. ALT20:              
  1517.                     PLAY"HASH.VOC"
  1518.                         PRINT"I-FSIM,"
  1519.                         WAIT(4)
  1520.                         PRINT"Please maintain 2500 feet!"
  1521.                         WAIT(4)
  1522.                         WAIT(6)
  1523.                         IF KEY("R") THEN
  1524.                             GOTO ALT20
  1525.                         ENDIF
  1526.                     ENDIF
  1527.                 ENDIF
  1528.             ENDIF
  1529.             RETURN
  1530. ;
  1531. ;
  1532. ; Subroutine for checking Climb and Descend instructions
  1533. TODCHK:
  1534. ;
  1535. ;Check for "Climb" command
  1536. ;
  1537.                     IF CYLINDER(13491,22131,15,25) THEN
  1538.                         IF VARTEST(R,1,1) THEN
  1539.                             IF VARTEST(V,1,1) THEN
  1540. CLMB:
  1541.                     PLAY"HASH.VOC"
  1542.                                 PRINT"I-FSIM,"
  1543.                                 WAIT(4)
  1544.                                 PRINT"Cleared to climb and maintain FL85"
  1545.                                 WAIT(4)
  1546.                                 WAIT(6)
  1547.                                 IF KEY("R") THEN
  1548.                                     GOTO CLMB
  1549.                                 ENDIF
  1550.                                 SETVAR(N,8500)
  1551.                                 SETVAR(R,0)
  1552.                                 SETVAR(V,2)
  1553.                             ENDIF
  1554.                         ENDIF
  1555.                     ENDIF
  1556. ;
  1557. ;Check for first "Descend" command
  1558. ;
  1559.                 IF CYLINDER(14776,22415,80,100) THEN
  1560.                         IF VARTEST(V,2,2) THEN
  1561. TOD1:
  1562.                     PLAY"HASH.VOC"
  1563.                             PRINT"I-FSIM,"
  1564.                             WAIT(4)
  1565.                             PRINT"Descend to and maintain 7000 feet"
  1566.                             WAIT(4)
  1567.                             WAIT(6)
  1568.                             IF KEY("R") THEN
  1569.                                 GOTO TOD1
  1570.                             ENDIF
  1571.                             SETVAR(N,7000)
  1572.                             SETVAR(R,2)
  1573.                             SETVAR(V,3)
  1574.                         ENDIF
  1575.                 ENDIF
  1576. ;
  1577. ;Check for second "Descend" command
  1578. ;
  1579.                 IF CYLINDER(14776,22415,0,30) THEN
  1580. TOD2:               
  1581.                     PLAY"HASH.VOC"
  1582.                         IF VARTEST(V,3,3) THEN
  1583.                         PRINT"I-FSIM,"
  1584.                         WAIT(4)
  1585.                         PRINT"Descend to and maintain 2500 feet"
  1586.                         WAIT(4)
  1587.                         WAIT(6)
  1588.                         IF KEY("R") THEN
  1589.                            GOTO TOD2
  1590.                         ENDIF
  1591.                         SETVAR(N,2500)
  1592.                         SETVAR(R,2)
  1593.                         SETVAR(V,4)
  1594.                     ENDIF
  1595.                 ENDIF           
  1596.                 RETURN
  1597. ;
  1598. ;
  1599. ;Subroutine for checking airspeed violations
  1600. ;
  1601. ;Check Final Approach speed
  1602. ;
  1603. SPDCHK:         
  1604.                 IF CYLINDER(14776,22415,0,15) THEN
  1605.                     IF ALTITUDE(500,10000) THEN
  1606.                         IF AIRSPEED(180,999) THEN
  1607.                             IF VARTEST(B,20,999) THEN
  1608. SPDCHK1:
  1609.                     PLAY"HASH.VOC"
  1610.                                 PRINT"I-FSIM,"
  1611.                                 WAIT(4)
  1612.                                 PRINT"Please reduce speed to 180 knots IAS"
  1613.                                 WAIT(4)
  1614.                                 IF KEY("R") THEN
  1615.                                     GOTO SPDCHK1
  1616.                                 ENDIF
  1617.                             ENDIF
  1618.                         ENDIF
  1619.                     ENDIF            
  1620.                 ENDIF        
  1621. ;                
  1622. ;Check Intermediate Approach speed
  1623. ;
  1624.                 IF CYLINDER(14776,22415,15,30) THEN
  1625.                     IF ALTITUDE(500,10000) THEN
  1626.                         IF AIRSPEED(220,999) THEN
  1627.                             IF VARTEST(B,20,999) THEN
  1628. SPDCHK2:
  1629.                     PLAY"HASH.VOC"
  1630.                                 PRINT"I-FSIM,"
  1631.                                 WAIT(4)
  1632.                                 PRINT"Please reduce speed to 220 knots IAS"
  1633.                                 WAIT(4)
  1634.                                 IF KEY("R") THEN
  1635.                                     GOTO SPDCHK2
  1636.                                 ENDIF
  1637.                             ENDIF
  1638.                         ENDIF
  1639.                     ENDIF            
  1640.                 ENDIF        
  1641. ;
  1642. ;General <10000ft Airspeed check
  1643. ;
  1644.                 IF CYLINDER(14776,22415,30,999) THEN
  1645.                     IF ALTITUDE(500,10000) THEN
  1646.                         IF AIRSPEED(281,999) THEN
  1647.                             IF VARTEST(B,20,999) THEN
  1648. SPDCHK3:
  1649.                     PLAY"HASH.VOC"
  1650.                                 PRINT"I-FSIM,"
  1651.                                 WAIT(4)
  1652.                                 PRINT"Please reduce speed to 250 IAS"
  1653.                                 WAIT(4)
  1654.                                 IF KEY("R") THEN
  1655.                                     GOTO SPDCHK3
  1656.                                 ENDIF
  1657.                            ENDIF
  1658.                         ENDIF
  1659.                     ENDIF
  1660.                 ENDIF
  1661.                 RETURN
  1662. ;
  1663. ;
  1664. COUNTER:
  1665.     ADDVAR(A,1)
  1666.     ADDVAR(B,1)
  1667.     ADDVAR(C,1)
  1668.     WAIT(1)
  1669.     RETURN
  1670. ;
  1671. CLEARVARS:
  1672.     SETVAR(A,0)
  1673.     SETVAR(B,0)
  1674.     SETVAR(C,0)
  1675.     RETURN
  1676. ;
  1677. FPAPCHK:
  1678. ;Parameters: M = Desired Heading
  1679. ;            N = Desired Altitude
  1680.     IF KEY("W") THEN
  1681.         SETVAR(P,1)
  1682.         SETVAR(heading_lock,1)
  1683.         SETVAR(altit_lock,1)
  1684.             PLAY"DINDON.VOC"
  1685.             PRINT" Auto Pilot is now *ON*"
  1686.             WAIT(4)
  1687.             PRINT""
  1688.     ENDIF
  1689.     IF KEY("E") THEN
  1690. FPAPOFF:
  1691.         SETVAR(P,0)
  1692.         SETVAR(autop_master,0)
  1693.         SETVAR(heading_lock,0)
  1694.         SETVAR(altit_lock,0)
  1695.             PLAY"DINDON.VOC"
  1696.             PRINT" Auto Pilot is now *OFF*"
  1697.             WAIT(4)
  1698.             PRINT""
  1699.     ENDIF
  1700.     IF VARTEST(P,1,1) THEN
  1701. ;       Add MagVar and NorRot to Heading
  1702.         SETVAR(X,180)
  1703.         SETVAR(Z,32767)
  1704.         SETVAR(W,0)
  1705.         Y:=norrot+magvar
  1706.         IF VARTEST(Y,-32765,-1) THEN
  1707.             SETVAR(W,360)
  1708.         ENDIF
  1709.         Y:=norrot+magvar*X/Z-W+M
  1710.         IF VARTEST(Y,361,999) THEN
  1711.             Y:=Y-X-X
  1712.         ENDIF
  1713.         IF VARTEST(Y,-999,-1) THEN
  1714.             Y:=Y+X+X
  1715.         ENDIF
  1716. ;       Convert Heading to a WORD
  1717.         SETVAR(Z,65534)
  1718.         SETVAR(X,360)
  1719.         IF VARTEST(Y,0,180) THEN
  1720.             head_lock_var:=Y*Z/X
  1721.         ENDIF
  1722.         IF VARTEST(Y,181,360) THEN
  1723.             head_lock_var:=Y*Z/X-Z
  1724.         ENDIF
  1725. ;       Convert Altitude in feet to meters
  1726.         SETVAR(Y,305)
  1727.         SETVAR(Z,1000)
  1728.         X:=N*Y/Z
  1729.         altit_lock_var:=X
  1730.         SETVAR(autop_master,1)
  1731.     ENDIF
  1732.     RETURN
  1733. ;
  1734. FSS:
  1735.     IF COM() THEN
  1736.         IF KEY("J") THEN
  1737.                     PLAY"HASH.VOC"
  1738.                 PRINT"I-FSIM Flight Service."
  1739.                 WAIT(4)
  1740.                 PRINT"You're routed LTBJ, LGHI, LSV, EKI*, LTBA at FL85."
  1741.                 WAIT(4)
  1742.                 PRINT"Latest weather report showed winds from 0 at 0 above 5000."
  1743.                 WAIT(4)
  1744.                 GOSUB WXCOND
  1745.                 WAIT(4)
  1746.                 PRINT""
  1747.             SETVAR(C,0)
  1748.             GOTO FSSDONE
  1749.         ENDIF
  1750.         IF VARTEST(L,0,1) THEN
  1751.             GOTO FSSDONE
  1752.         ENDIF
  1753.         IF KEY("X") THEN
  1754.                     PLAY"HASH.VOC"
  1755.                 PRINT"I-FSIM Flight Service."
  1756.                 WAIT(4)
  1757.                 PRINT"Radar service terminated.  Squawk 1200."
  1758.                 WAIT(4)
  1759.                 PRINT"Frequency change approved."
  1760.                 WAIT(4)
  1761.                 PRINT"Fly VFR while deviated."
  1762.                 WAIT(4)
  1763.                 PRINT"Contact us again when ready to resume flight as filed."
  1764.                 WAIT(4)
  1765.                 PRINT""
  1766.             SETVAR(S,1)
  1767.             SETVAR(E,0)
  1768.             GOTO FSSVFR
  1769.         ENDIF
  1770.         SETVAR(C,0)
  1771.     ENDIF
  1772.     GOTO FSSDONE
  1773. FSSVFR:
  1774.     IF COM() THEN
  1775.         IF KEY("X") THEN
  1776.                     PLAY"HASH.VOC"
  1777.                 PRINT"I-FSIM this is Flight Service."
  1778.                 WAIT(4)
  1779.                 PRINT"Radar service reinstated.  Squawk 6423."
  1780.                 WAIT(4)
  1781.                 PRINT"Cleared as filed."
  1782.                 WAIT(4)
  1783.                 GOSUB FSSWHOT
  1784.                 WAIT(4)
  1785.                 PRINT""
  1786.             SETVAR(S,0)
  1787.             SETVAR(C,0)
  1788.             GOTO FSSDONE
  1789.         ENDIF
  1790.         GOSUB COUNTER
  1791.         IF VARTEST(E,180,9999)
  1792.                     PLAY"HASH.VOC"
  1793.                 PRINT"I-FSIM Flight Service."
  1794.                 WAIT(4)
  1795.                 PRINT"Contact us again when ready to resume flight as filed."
  1796.                 WAIT(4)
  1797.                 PRINT""
  1798.             SETVAR(E,0)
  1799.         ENDIF
  1800.     ENDIF
  1801.     GOSUB FPAPCHK
  1802.     GOTO FSSVFR
  1803. FSSDONE:
  1804.     RETURN
  1805. ;
  1806. FSSWHOV:
  1807.     RETURN
  1808. ;
  1809. FSSWHOT:
  1810.         IF VARTEST(L,0,0) THEN
  1811.                     PLAY"HASH.VOC"
  1812.             PRINT"Contact Ground on 121.95."
  1813.         ENDIF
  1814.         IF VARTEST(L,1,1) THEN
  1815.                     PLAY"HASH.VOC"
  1816.             PRINT"Contact Tower on 122.85."
  1817.         ENDIF
  1818.         IF VARTEST(L,2,2) THEN
  1819.                     PLAY"HASH.VOC"
  1820.             PRINT"Contact Departure on 118.55, expect vectors back to plan."
  1821.         ENDIF
  1822.         IF VARTEST(L,3,3) THEN
  1823.                     PLAY"HASH.VOC"
  1824.             PRINT"Contact Center on 133.20, expect vectors back to plan."
  1825.         ENDIF
  1826.         IF VARTEST(L,4,4) THEN
  1827.                     PLAY"HASH.VOC"
  1828.             PRINT"Contact Approach on 118.20, navigate back into the pattern."
  1829.         ENDIF
  1830.     RETURN
  1831. ;
  1832. WXUPDATE:
  1833.     ADDVAR(K,1)
  1834.     IF VARTEST(K,0,40) THEN
  1835.         GOTO WXEND
  1836.     ENDIF
  1837.     SETVAR(K,0)
  1838.     SETVAR(X,101)
  1839.     Y:=random/X
  1840.     X:=remainder
  1841.     IF VARTEST(X,0,999) THEN
  1842.         GOTO WXEND
  1843.     ENDIF
  1844.     SETVAR(X,101)
  1845.     Y:=random/X
  1846.     X:=remainder
  1847.     IF VARTEST(X,0,0) THEN
  1848.         SETVAR(Y,1)
  1849.         J:=J-Y
  1850.         IF VARTEST(J,-999,-1) THEN
  1851.             SETVAR(J,0)
  1852.         ENDIF
  1853.         IF VARTEST(J,9,999) THEN
  1854.             SETVAR(J,8)
  1855.         ENDIF
  1856.         X:=J
  1857.         IF VARTEST(X,-999,-1) THEN
  1858.             SETVAR(X,0)
  1859.         ENDIF
  1860.         IF VARTEST(X,9,999) THEN
  1861.             SETVAR(X,8)
  1862.         ENDIF
  1863.         cloud1cover:=X
  1864.     ENDIF
  1865.     SETVAR(X,154)
  1866.     cloud1top:=cloud1top-X-X
  1867.     Y:=cloud1bot+X
  1868.     IF VARTEST(Y,-9999,162) THEN
  1869.         SETVAR(Y,162)
  1870.     ENDIF
  1871.     cloud1bot:=Y
  1872. WXEND:
  1873.     RETURN
  1874. ;
  1875. WXCOND:
  1876.     SETVAR(X,328)
  1877.     SETVAR(Z,100)
  1878.     Y:=cloud1bot/Z*X
  1879.     IF VARTEST(cloud1cover,0,0) THEN
  1880.         PRINT"Visibility 10 with clear skies."
  1881.     ENDIF
  1882.     IF VARTEST(cloud1cover,1,4) THEN
  1883.         PRINTVAR(Y,"Currently scattered clouds with a measured ceiling of ")
  1884.     ENDIF
  1885.     IF VARTEST(cloud1cover,5,7) THEN
  1886.         PRINTVAR(Y,"Currently broken clouds with a measured ceiling of ")
  1887.     ENDIF
  1888.     IF VARTEST(cloud1cover,8,8) THEN
  1889.         PRINTVAR(Y,"Currently overcast with a measured ceiling of ")
  1890.     ENDIF
  1891.     RETURN
  1892. ;
  1893. CORRECTHDGCHK:
  1894. ;
  1895. ;Parameters: W = Opposite Desired Heading
  1896. ;Variables : U = Current Heading
  1897. ;            X,Y,Z = temporary
  1898. ;Outputs   : W = Required Heading
  1899. ;            H = Absolute value of Heading error in degrees
  1900. ;
  1901. ;   Compute good heading from radial
  1902.     SETVAR(X,180)
  1903.     W:=W+X
  1904. CHKHDGDIRECT:
  1905.     SETVAR(X,360)
  1906. ;   Compute current heading w/wind
  1907.     IF COURSE(0,0) THEN
  1908.     ENDIF
  1909.     Y:=RESULT
  1910. ;   Compute current heading w/o wind
  1911.     IF HEADING(0,0) THEN
  1912.     ENDIF
  1913.     U:=RESULT
  1914. ;   Compute wind correction component
  1915.     Y:=Y-U
  1916.     IF VARTEST(Y,-999,-90) THEN
  1917.         Y:=Y+X
  1918.     ENDIF
  1919.     IF VARTEST(Y,90,999) THEN
  1920.         Y:=Y-X
  1921.     ENDIF
  1922. ;Following line has been added by me (SHV) to correct the wind correction problem
  1923.     SETVAR(Y,0)
  1924.     W:=W-Y
  1925.     IF VARTEST(W,-999,0) THEN
  1926.         W:=W+X
  1927.     ENDIF
  1928.     IF VARTEST(W,361,999) THEN
  1929.         W:=W-X
  1930.     ENDIF
  1931. ;   Compute heading error regardless of Curr/Req Hdg values
  1932.     H:=U-W
  1933.     SETVAR(Y,-1)
  1934.     IF VARTEST(H,-999,-1) THEN
  1935.         H:=H*Y
  1936.     ENDIF
  1937. ;   Compute heading error depending if Curr or Req heading is greater
  1938.     IF VARTEST(H,181,999) THEN
  1939.         SETVAR(X,1)
  1940.         Z:=W+X
  1941.         SETVAR(X,360)
  1942.         IF VARTEST(U,Z,999) THEN
  1943.             H:=U-W-X
  1944.             GOTO CHKHDGCONT
  1945.         ENDIF
  1946.         H:=U-W+X
  1947.     ENDIF
  1948. CHKHDGCONT:
  1949.     RETURN
  1950. ;
  1951. RADARCHK:
  1952.     IF XPNDR(1701) THEN
  1953.         GOTO RADARCHKA
  1954.     ENDIF
  1955.         PLAY"HASH.VOC"
  1956.         PRINT"I-FSIM Center."
  1957.         WAIT(2)
  1958.         PRINT"We have lost you off the radar."
  1959.         WAIT(2)
  1960.         PRINT"Please squawk 1701 unless told otherwise."
  1961.         WAIT(4)
  1962.         PRINT""
  1963.     WAIT(10)
  1964.     GOTO RADARCHKB
  1965. RADARCHKA:
  1966.     IF KEY("\") THEN
  1967.        GOTO RADARCHKC
  1968.     ENDIF
  1969.     IF VARTEST(RANDOM,0,300) THEN
  1970. RADARCHKC:
  1971.                     PLAY"HASH.VOC"
  1972.             PRINT"I-FSIM Center."
  1973.             WAIT(2)
  1974.             PRINT"Radar check to follow..."
  1975.             WAIT(1)
  1976.         IF ALTITUDE(0,0) THEN
  1977.         ENDIF
  1978.         PRINTVAR(RESULT,"...Altitude MSL: ")
  1979.         WAIT(2)
  1980.         IF ALTAGL(0,0) THEN
  1981.         ENDIF
  1982.         PRINTVAR(RESULT,"...Altitude AGL: ")
  1983.         WAIT(2)
  1984.         IF HEADING(0,0) THEN
  1985.         ENDIF
  1986.         PRINTVAR(RESULT,"...Heading: ")
  1987.         WAIT(2)
  1988.         IF COURSE(0,0) THEN
  1989.         ENDIF
  1990.         PRINTVAR(RESULT,"...Course: ")
  1991.         WAIT(2)
  1992.         IF AIRSPEED(0,0) THEN
  1993.         ENDIF
  1994.         PRINTVAR(RESULT,"...Airspeed: ")
  1995.         WAIT(2)
  1996.         PRINT ""
  1997.             PRINT"Radar check complete.  Thank you and so long."
  1998.             WAIT(2)
  1999.             PRINT ""
  2000.     ENDIF
  2001. RADARCHKB:
  2002.     RETURN
  2003. TRAFFICCHK:
  2004.     IF VARTEST(RANDOM,0,3000) THEN
  2005.         IF VARTEST(O, 0, 0) THEN
  2006.                 PRINT"AZ267 Center."
  2007.                 WAIT(4)
  2008.                 PRINT"Climb to FL340, traffic eastbound at FL320."
  2009.                 WAIT(4)
  2010.         ENDIF
  2011.         IF VARTEST(O, 1, 1) THEN
  2012.                 PRINT"AZ681 Center."
  2013.                 WAIT(4)
  2014.                 PRINT"At station passage, resume normal navigation. So Long."
  2015.                 WAIT(4)
  2016.         ENDIF
  2017.         IF VARTEST(O, 2, 2) THEN
  2018.                 PRINT"I-FICV Center."
  2019.                 WAIT(4)
  2020.                 PRINT"Descend and Maintain 3000.  Contact Approach Control.  Good day."
  2021.                 WAIT(4)
  2022.         ENDIF
  2023.         IF VARTEST(O, 3, 3) THEN
  2024.                 PRINT"THY662 Center."
  2025.                 WAIT(4)
  2026.                 PRINT"You're cleared for 12000."
  2027.                 WAIT(4)
  2028.         ENDIF
  2029.         IF VARTEST(O, 4, 4) THEN
  2030.                 PRINT"31680N Center."
  2031.                 WAIT(4)
  2032.                 PRINT"Reduce speed to 210.  Descend and maintain FL180."
  2033.                 WAIT(4)
  2034.         ENDIF
  2035.         IF VARTEST(O, 5, 5) THEN
  2036.                 PRINT"AA267 Center."
  2037.                 WAIT(4)
  2038.                 PRINT"Please repeat that last request."
  2039.                 WAIT(4)
  2040.         ENDIF
  2041.         IF VARTEST(O, 6, 6) THEN
  2042.                 PRINT"EH-873 Center."
  2043.                 WAIT(4)
  2044.                 PRINT"Be advised of significant turbulence in the area."
  2045.                 WAIT(4)
  2046.         ENDIF
  2047.         IF VARTEST(O, 7, 7) THEN
  2048.                 PRINT"IH870 Center."
  2049.                 WAIT(4)
  2050.                 PRINT"Turn right on Ambra13.  Maintain cleared altitude."
  2051.                 WAIT(4)
  2052.         ENDIF
  2053.         IF VARTEST(O, 8, 8) THEN
  2054.                 PRINT"BM1921 Center."
  2055.                 WAIT(4)
  2056.                 PRINT"You're cleared on a direct visual."
  2057.                 WAIT(4)
  2058.         ENDIF
  2059.         IF VARTEST(O, 9, 9) THEN
  2060.                 PRINT"F-DIHJ Center."
  2061.                 WAIT(4)
  2062.                 PRINT"Descend and maintain 7000.  Continue to hold at the marker."
  2063.                 WAIT(4)
  2064.         ENDIF
  2065.         IF VARTEST(O, 10, 10) THEN
  2066.                 PRINT"I-SNAX Center."
  2067.                 WAIT(4)
  2068.                 PRINT"Turn heading 080.  Maintain current altitude."
  2069.                 WAIT(4)
  2070.         ENDIF
  2071.         IF VARTEST(O, 11, 11) THEN
  2072.                 PRINT"I-CNEF Center."
  2073.                 WAIT(4)
  2074.                 PRINT"Remain under 1000 to continue visual clearance."
  2075.                 WAIT(4)
  2076.         ENDIF
  2077.         IF VARTEST(O, 12, 12) THEN
  2078.                 PRINT"D-REGH Center."
  2079.                 WAIT(4)
  2080.                 PRINT"Squawk 2831.  Expect radar check."
  2081.                 WAIT(4)
  2082.         ENDIF
  2083.         IF VARTEST(O, 13, 13) THEN
  2084.                 PRINT"CH-ZRGH Center."
  2085.                 WAIT(4)
  2086.                 PRINT"Climb to 15000.  Watch for traffic westbound."
  2087.                 WAIT(4)
  2088.         ENDIF
  2089.         IF VARTEST(O, 14, 14) THEN
  2090.                 PRINT"I-DUPE Center."
  2091.                 WAIT(4)
  2092.                 PRINT"Descend to 2500 and contact approach.  So long."
  2093.                 WAIT(4)
  2094.         ENDIF
  2095.         IF VARTEST(O, 15, 15) THEN
  2096.                 PRINT"I-DEMA Center."
  2097.                 WAIT(4)
  2098.                 PRINT"Turn heading 322. Maintain 16000."
  2099.                 WAIT(4)
  2100.         ENDIF
  2101.         IF VARTEST(O, 16, 16) THEN
  2102.                 PRINT"N715MC Center."
  2103.                 WAIT(4)
  2104.                 PRINT"Expect vectors around storm cell."
  2105.                 WAIT(4)
  2106.         ENDIF
  2107.         IF VARTEST(O, 17, 17) THEN
  2108.                 PRINT"N901DC Center."
  2109.                 WAIT(4)
  2110.                 PRINT"Proceed direct to outer marker and Hold."
  2111.                 WAIT(4)
  2112.         ENDIF
  2113.         IF VARTEST(O, 18, 18) THEN
  2114.                 PRINT"D-FANA Center."
  2115.                 WAIT(4)
  2116.                 PRINT"Prepare for handoff to approach when you reach 3000."
  2117.                 WAIT(4)
  2118.         ENDIF
  2119.         IF VARTEST(O, 19, 19) THEN
  2120.                 PRINT"LZ-CAB Center."
  2121.                 WAIT(4)
  2122.                 PRINT"Expedite descent to 8000.  Report fuel status."
  2123.                 WAIT(4)
  2124.         ENDIF
  2125.         IF VARTEST(O, 20, 20) THEN
  2126.                 PRINT"C-401 Center."
  2127.                 WAIT(4)
  2128.                 PRINT"Reduce speed to 190.  Contact Approach.  Bye."
  2129.                 WAIT(4)
  2130.         ENDIF
  2131.         IF VARTEST(O, 21, 21) THEN
  2132.                 PRINT"SC-401 Center."
  2133.                 WAIT(4)
  2134.                 PRINT"Maintain current heading and altitude."
  2135.                 WAIT(4)
  2136.         ENDIF
  2137.         PRINT""
  2138.     ENDIF
  2139.     ADDVAR(O,1)
  2140.     IF VARTEST(O, 22, 999) THEN
  2141.         SETVAR(O,0)
  2142.     ENDIF
  2143.     RETURN
  2144.  
  2145.