home *** CD-ROM | disk | FTP | other *** search
/ Game Killer / Game_Killer.bin / 005.747WORLD.BAS < prev    next >
BASIC Source File  |  1992-03-24  |  41KB  |  1,130 lines

  1. 1 '*****747WORLD*****
  2. 2 ' IFR FLIGHT SIMULATOR (BOEING 747)
  3. 3 ' CREATED BY GENE SZYMANSKI - BYTE 11-82
  4. 4 ' MODIFIED BY R. HOJABOOM - 11-6-82
  5. 5 ' AND AGAIN BY H.P.REISDORF 11/23/82
  6. 6 ' AND AGAIN BY J P BERNIER 418-653 4282 JAN. 1988 SEPT. 1990  MARCH 1992
  7. 8 KEY OFF:CLEAR,,8000:DIM P$(31),M$(20),TC(2),TC$(2),F(9):COLOR 7,0,0
  8. 9 DIM VO(5),BL(5),DP(7),CP(7),N$(3),KM(3),RS$(3),GX(2),GY(2),TW(2),LB(6)
  9. 10 DIM TM(3),AIS(2),FA(2),CC(2),AL(2),LL(1),GL(1),LS(1),GS(1)
  10. 21 KM(0)=7915.704468#
  11. 22 KM(1)=23.268932#
  12. 23 KM(2)=.0525
  13. 24 KM(3)=.000213
  14. 26 XQ=16
  15. 30 ' SET UP WIND TABLE
  16. 32 DIM WA(10,1)
  17. 34 FOR I=0 TO 10:WA(I,0)=10*I*RND(1)+20*I:NEXT
  18. 38 A=0
  19. 40 FOR I=1 TO 10:WA(I,1)=25*RND(1)+A:A=A+20:NEXT
  20. 41 RS$(0)=STRING$(31,"_")
  21. 42 RS$(1)=SPACE$(7)+"/"+SPACE$(7)+CHR$(124)+SPACE$(7)+"\"+SPACE$(7)
  22. 43 RS$(2)=SPACE$(6)+"/"+SPACE$(8)+CHR$(124)+SPACE$(8)+"\"+SPACE$(6)
  23. 44 RS$(3)=SPACE$(5)+"/"+STRING$(9,".")+CHR$(124)+STRING$(9,".")+"\"+SPACE$(5)
  24. 45 ' VOR FREQ TABLE
  25. 46 DIM VF(42)
  26. 47 VF(0)=115.9:VF(1)=113.8:VF(2)=112.7
  27. 48 VF(3)=117.8:VF(4)=113.6:VF(5)=112.2
  28. 49 VF(6)=113.9:VF(7)=115.5:VF(8)=116.4
  29. 50 VF(9)=112.6:VF(10)=116.9:VF(11)=117
  30. 51 VF(12)=112.3:VF(13)=117.9:VF(14)=115.7
  31. 52 VF(15)=112.8:VF(16)=113.1:VF(17)=116.8
  32. 53 VF(18)=114!:VF(19)=114.1:VF(20)=115.8
  33. 54 VF(21)=114.3:VF(22)=114.4:VF(23)=114.5
  34. 55 VF(24)=114.6:VF(25)=114.7:VF(26)=114.8
  35. 56 VF(27)=114.9:VF(28)=108!:VF(29)=111.1:VF(30)=116.7:VF(31)=110.5
  36. 57 VF(32)=110.8:VF(33)=115.3:VF(34)=110.2:VF(35)=109.7:VF(36)=113.3
  37. 58 VF(37)=109.5:VF(38)=111.9:VF(39)=110.9:VF(40)=116.3:VF(41)=108.5
  38. 59 VF(42)=109.3
  39. 62 ' ILS CONSTANTS FOR AIRPORTS
  40. 63 DIM VG(42,1)
  41. 64 VG(0,0)=238:VG(0,1)=40
  42. 65 VG(1,0)=260:VG(1,1)=75
  43. 66 VG(2,0)=230:VG(2,1)=40
  44. 67 VG(3,0)=260:VG(3,1)=90
  45. 68 VG(4,0)=260:VG(4,1)=70
  46. 70 VG(6,0)=145:VG(6,1)=320
  47. 71 VG(7,0)=299:VG(7,1)=164
  48. 72 VG(8,0)=166:VG(8,1)=42
  49. 73 VG(9,0)=162:VG(9,1)=328
  50. 79 VG(15,0)=341:VG(15,1)=75
  51. 80 VG(16,0)=255:VG(16,1)=80
  52. 81 VG(17,0)=345:VG(17,1)=160
  53. 82 VG(20,0)=80:VG(20,1)=280:VG(22,0)=250:VG(22,1)=90
  54. 83 VG(25,0)=300:VG(25,1)=60:VG(27,0)=350:VG(27,1)=210
  55. 85 VG(28,0)=120:VG(28,1)=300:VG(29,0)=240:VG(29,1)=60
  56. 86 VG(30,0)=100:VG(30,1)=270:VG(31,0)=300:VG(31,1)=130
  57. 87 VG(32,0)=120:VG(32,1)=280:VG(33,0)=320:VG(33,1)=150
  58. 88 VG(34,0)=85:VG(34,1)=270:VG(35,0)=280:VG(35,1)=90
  59. 89 VG(36,0)=310:VG(36,1)=120:VG(37,0)=335:VG(37,1)=150
  60. 90 VG(38,0)=95:VG(38,1)=270:VG(39,0)=90:VG(39,1)=260
  61. 91 VG(40,0)=350:VG(40,1)=180:VG(41,0)=100:VG(41,1)=300
  62. 92 VG(42,0)=80:VG(42,1)=300
  63. 100 ' VOR STATION AND AIRPORT COORDINATE TABLE
  64. 101 DIM VP(42,1):DIM RCO(42,1) 'RCO( ,0) LAT RCO( ,1) LONG AIRPORT
  65. 102 VP(0,0)=40.633:VP(0,1)=73.7733        'JF KENNEDY
  66. 103 VP(1,0)=39.8517:VP(1,1)=75.245:RCO(1,0)=39.86:RCO(1,1)=75.37        'PHILADELPHIA
  67. 104 VP(2,0)=42.3583:VP(2,1)=70.9933       'BOSTON
  68. 105 VP(3,0)=32.73333:VP(3,1)=117.1333     'SAN DIEGO
  69. 106 VP(4,0)=33.9333:VP(4,1)=118.43167#    'LOS ANGELES
  70. 107 VP(5,0)=46.41201:VP(5,1)=84.315       'SAULT STE MARIE
  71. 108 VP(6,0)=41.85:VP(6,1)=87.75           'CHICAGO
  72. 109 VP(7,0)=40.917:VP(7,1)=77.99301       'PHILIPSBURG
  73. 110 VP(8,0)=42.9283:VP(8,1)=78.64667      'BUFFALO
  74. 111 VP(9,0)=39.3:VP(9,1)=94.56671         'KANSAS CITY
  75. 112 VP(10,0)=46.80167:VP(10,1)=92.20333   'DULUTH
  76. 113 VP(11,0)=44.555:VP(11,1)=88.195       'GREEN BAY
  77. 114 VP(12,0)=44.385:VP(12,1)=74.20668     'SARNAC
  78. 115 VP(13,0)=38.19667:VP(13,1)=102.687    'LAMAR
  79. 116 VP(14,0)=42.41:VP(14,1)=83.01         'DETROIT
  80. 117 VP(15,0)=36.08:VP(15,1)=115.15833#    'LAS VEGAS
  81. 118 VP(16,0)=39.968:VP(16,1)=74.77:RCO(16,0)=39.92:RCO(16,1)=74.9        'PRACTICE NEAR PHILADELPHIA
  82. 119 VP(17,0)=47.435:VP(17,1)=122.30833#   'SEATTLE
  83. 120 VP(18,0)=46.7617:VP(18,1)=100.49833#  'BISMARK
  84. 121 VP(19,0)=47.45:VP(19,1)=111.41667#   'GREAT FALLS
  85. 122 VP(20,0)=37.62:VP(20,1)=122.37333#    'SAN FRANCISCO
  86. 123 VP(21,0)=40.85:VP(21,1)=111.98333#    'SALT LAKE CITY
  87. 124 VP(22,0)=49.0783:VP(22,1)=123.14833#  'VANCOUVER
  88. 125 VP(23,0)=34.985:VP(23,1)=78.875       'FAYETTEVILLE
  89. 126 VP(24,0)=31.5:VP(24,1)=81.47667       'BRUNSWICH
  90. 127 VP(25,0)=27.90833:VP(25,1)=81.685     'ST-PETERSBURG
  91. 128 VP(26,0)=33.67:VP(26,1)=86.9          'BIRMINGHAM
  92. 129 VP(27,0)=30.03:VP(27,1)=90.171667#    'NEW ORLEANS
  93. 130 VP(28,0)=61.25:VP(28,1)=149.82:RCO(28,0)=61.20433:RCO(28,1)=149.6436     'ANCHORAGE
  94. 131 VP(29,0)=39.9:VP(29,1)=-116.408:RCO(29,0)=39.8452:RCO(29,1)=-116.3017    'BEJING
  95. 132 VP(30,0)=-34.6:VP(30,1)=58.47:RCO(30,0)=-34.6402:RCO(30,1)=58.36332      'BUENOS AIRES
  96. 133 VP(31,0)=30!:VP(31,1)=-31.27:RCO(31,0)=30.02751:RCO(31,1)=-31.164        'CAIRO
  97. 134 VP(32,0)=21.315:VP(32,1)=-157.86:RCO(32,0)=21.24524:RCO(32,1)=-157.9258  'HONOLULU
  98. 135 VP(33,0)=-12.06:VP(33,1)=76.19:RCO(33,0)=-12.00351:RCO(33,1)=-157.9258   'LIMA
  99. 136 VP(34,0)=19.43:VP(34,1)=99.13:RCO(34,0)=19.45374:RCO(34,1)=99.03709      'MEXICO CITY
  100. 137 VP(35,0)=55.75:VP(35,1)=-37.62:RCO(35,0)=55.78455:RCO(35,1)=-37.475      'MOSCOW
  101. 138 VP(36,0)=28.5:VP(36,1)=-77.23001:RCO(36,0)=28.5666:RCO(36,1)=-77.1608    'NEW DELHI
  102. 139 VP(37,0)=48.75:VP(37,1)=-2.25:RCO(37,0)=48.84027:RCO(37,1)=-2.2099       'PARIS
  103. 140 VP(38,0)=1.34:VP(38,1)=-103.9:RCO(38,0)=1.319794:RCO(38,1)=-103.987      'SINGAPORE
  104. 141 VP(39,0)=-33.57:VP(39,1)=-151.14:RCO(39,0)=-33.58136:RCO(39,1)=-151.2495 'SYDNEY
  105. 142 VP(40,0)=-18.82:VP(40,1)=-47.52:RCO(40,0)=-18.73121:RCO(40,1)=-47.4867   'TANANARIVE
  106. 143 VP(41,0)=35.7:VP(41,1)=-139.75:RCO(41,0)=35.71925:RCO(41,1)=-139.8622    'TOKYO
  107. 144 VP(42,0)=45.5:VP(42,1)=73.6  'MONTREAL
  108. 185 GOTO 10000
  109. 190 ' BEGIN CRUISE MODULE INIT FLIGHT VARIABLES
  110. 191 RS=1:RN=RND(1):IF RN<.5 THEN RS=-1 ' WIND DIRECTION FOR ILS
  111. 192 RW=(10*RN)+5
  112. 193 RW=RS*RW:TRUE=-1:FALSE=0 ' DRIFT PER SECOND FOR ILS
  113. 195 FOR I=0 TO 9:F(I)=0:NEXT
  114. 198 FL=1:FA=10:BR=10:TH=3!:Y1=16:X1=2:KK=0:CC=CINT(CC)
  115. 200 RA=0:AIS(1)=AIS:FA(1)=10:CC(1)=CC:AL(1)=AL:RP=40
  116. 203 VO(1)=0:VO$="OUT ":VO(2)=8:VO(3)=0:VO(4)=999.9
  117. 204 GX(0)=0:GY(0)=0
  118. 205 XO=36481!:YO=0
  119. 220 TD=TIMER:TL=TD:' TL=TIME OF DAY IN SECONDS
  120. 221 TW(1)=TD
  121. 222 GOSUB 335 'DISPLAY PANEL
  122. 224 GOSUB 600 'DISPLAY INSTRUMENT READINGS
  123. 300 K$=INKEY$:IF K$="" GOTO 304
  124. 302 GOSUB 800 'KEY INPUT ROUTINE
  125. 304 GOTO 1000 ' UPDATE ROUTINE
  126. 305 GOTO 224 'DO IT ALL AGAIN
  127. 335 'DISPLAY PANEL
  128. 380 LOCATE 9,30:PRINT SPACE$(7);"RUDDER";SPACE$(11)
  129. 384 LOCATE 10,32:PRINT CHR$(218);STRING$(15,196);CHR$(191);
  130. 386 FOR X=32 TO 48 STEP 16
  131. 387 FOR Y=11 TO 23
  132. 388 LOCATE Y,X:PRINT CHR$(179);
  133. 389 NEXT Y
  134. 390 NEXT X
  135. 391 LOCATE 23,32:PRINT CHR$(192);STRING$(15,196);CHR$(217);
  136. 392 LOCATE 11,39:PRINT "VOR":LOCATE 12,44:PRINT "MHZ"
  137. 393 LOCATE 15,38:PRINT "RANGE"
  138. 394 LOCATE 17,35:PRINT ".....:....."
  139. 395 LOCATE 20,38:PRINT "RADIAL"
  140. 396 LOCATE 21,39:PRINT "DME":LOCATE 22,44:PRINT "NM";
  141. 397 FOR Y=2 TO 8:LOCATE Y,12:PRINT CHR$(196):NEXT
  142. 398 FOR Y=2 TO 4:LOCATE Y,21:PRINT CHR$(196):NEXT
  143. 400 LOCATE 10,8:PRINT CHR$(218);STRING$(15,196);CHR$(191)
  144. 402 FOR X=8 TO 24 STEP 16
  145. 404 FOR Y=11 TO 17
  146. 406 LOCATE Y,X:PRINT CHR$(179);
  147. 408 NEXT Y
  148. 410 NEXT X
  149. 412 LOCATE 18,8:PRINT CHR$(192);STRING$(15,196);CHR$(217);
  150. 414 LOCATE 14,27:PRINT "ILS"
  151. 418 GX(1)=0:GY(1)=0
  152. 420 GOSUB 2100
  153. 422 LOCATE 9,21:COLOR 0,7:PRINT "     "
  154. 424 LOCATE 8,19:COLOR 7,0:PRINT "RADAR ALT"
  155. 499 RETURN
  156. 500 '
  157. 501 F(1)=0:F(2)=0:F(8)=0:F(5)=0:XO=36481!:YO=0:MK=0:KK=0:AAA=0
  158. 505 LOCATE 20,52:PRINT "ROGERS MISSED APPROACH":KK=KK+1:IF KK<100 THEN GOTO 505
  159. 510 KK=0:LOCATE 20,52:PRINT SPACE$(22):GOSUB 2118
  160. 520 COLOR 0,7:LOCATE 9,21:PRINT SPACE$(5):COLOR 7,0
  161. 530 FOR I=0 TO 4:LOCATE 19+I,1:PRINT SPACE$(31):NEXT
  162. 550 GOTO 305
  163. 600 ' DISPLAY INST. READ
  164. 601 COLOR 0,7:IF F(8)=1 THEN GOTO 615 ' RUDDER
  165. 602 LOCATE 8,32:PRINT SPACE$(17)
  166. 603 LOCATE 8,RP:PRINT CHR$(24)
  167. 605 LOCATE 2,1:F$="######":PRINT USING F$;FIX(FU)
  168. 610 LOCATE 2,8:F$="##":PRINT USING F$;FIX(FP)
  169. 615 LOCATE 2,39:F$="###":PRINT USING F$;CC
  170. 620 LOCATE 5,39:F$="####":PRINT USING F$;AIS
  171. 625 LOCATE 5,46:F$="########":PRINT USING F$;RC
  172. 630 LOCATE 5,55:F$="##,###":PRINT USING F$;INT(AL)
  173. 636 IF F(2)=1 THEN LOCATE 9,21:F$="#####":PRINT USING F$;INT(AL)
  174. 638 COLOR 7,0:LOCATE 1,67:PRINT TIME$
  175. 640 ' DISP. THRUST
  176. 650 COLOR 0,7:FOR I=2 TO 8
  177. 651 LOCATE I,11:PRINT " "
  178. 652 NEXT
  179. 655 LOCATE TR+1,11:PRINT ">";
  180. 660 ' DISP PITCH
  181. 665 FOR I=2 TO 4:LOCATE I,20:PRINT " ":NEXT
  182. 670 LOCATE FL+1,20:PRINT ">"
  183. 674 F$="+###"
  184. 675 LOCATE 6,20:PRINT USING F$;FA:COLOR 7,0
  185. 676 IF F(4)=1 THEN LOCATE 5,29:PRINT "     ":GOTO 708
  186. 679 IF F(7)=0 AND STALL=O THEN LOCATE 5,29:PRINT "     " ELSE  LOCATE 5,29:COLOR 0,7:PRINT "     ":COLOR 7,0 :SOUND 200,.5:RETURN
  187. 680 ' DISP FLAPS
  188. 690 COLOR 0,7:LOCATE 9,55:IF BR=10 THEN PRINT "  UP "
  189. 695 IF BR=12 THEN PRINT " DWN "
  190. 696 COLOR 7,0
  191. 700 ' WHEELS
  192. 705 LOCATE 9,65:COLOR 0,7:IF WH THEN PRINT " DWN " ELSE PRINT "  UP "
  193. 706 COLOR 7,0
  194. 708 ' BRAKES
  195. 709 COLOR 0,7:LOCATE 9,74:IF BK=13 THEN PRINT " REL " ELSE PRINT " SET "
  196. 710 COLOR 7,0:IF F(4)=1 THEN RETURN
  197. 712 ' LAT/LONG
  198. 713 COLOR 0,7:LOCATE 5,68:F$="####":PRINT USING F$;DP(4)
  199. 714 LOCATE 5,73:F$="###.#":PRINT USING F$;DP(5)
  200. 715 LOCATE 6,68:F$="####":PRINT USING F$;DP(6)
  201. 716 LOCATE 6,73:F$="###.#":PRINT USING F$;DP(7):COLOR 7,0
  202. 717 LOCATE 5,79:IF L1=0 THEN PRINT " " ELSE LOCATE 5,79:IF L1>0 THEN PRINT "N" ELSE IF L1<0 THEN PRINT "S"
  203. 718 LOCATE 6,79:IF GG2=0 THEN PRINT " " ELSE LOCATE 6,79:IF GG2>0 THEN PRINT "W" ELSE IF GG2<0 THEN PRINT "E"
  204. 719 LOCATE 22,52:PRINT "WIND:   ";CINT(WV);" KNOTS      "
  205. 720 LOCATE 23,57:PRINT "AT ";CINT(WD);" DEGREES       "
  206. 723 IF F(2)=1 THEN RETURN
  207. 724 ' DISP VOR
  208. 725 COLOR 0,7:LOCATE 12,38:F$="###.#":PRINT USING F$;VO(1)
  209. 726 LOCATE 14,39:PRINT VO$
  210. 727 LOCATE 19,39:F$="###":PRINT USING F$;VO(3)
  211. 728 LOCATE 22,38:F$="###.#":PRINT USING F$;VO(4)
  212. 729 LOCATE 18,34:PRINT SPACE$(13)
  213. 730 IF VO$="OUT " GOTO 732
  214. 731 LOCATE 18,VO(2)+1:PRINT CHR$(193)
  215. 732 COLOR 7,0:RETURN
  216. 800 ' KEY INPUT
  217. 805 IF K$="F" OR K$="S" THEN GOTO 900
  218. 810 IF K$="," OR K$="." THEN GOTO 908
  219. 811 IF K$="/" THEN RA=0:RETURN
  220. 825 IF K$="U" OR K$="D" THEN GOTO 914
  221. 830 IF K$="W" THEN GOTO 928
  222. 835 IF K$="V" THEN GOTO 931
  223. 836 IF K$="R" THEN GOTO 935
  224. 837 IF K$="L" THEN GOTO 940
  225. 838 IF K$="A" THEN GOTO 944
  226. 839 IF K$="Q" THEN GOTO 946
  227. 840 IF K$="M" THEN GOTO 950
  228. 841 IF K$="\" THEN GOTO 953
  229. 842 IF K$="C" THEN GOTO 2500
  230. 843 IF K$="B" THEN GOTO 860
  231. 855 RETURN
  232. 860 IF F(4)<>1 THEN RETURN
  233. 865 IF BK=11 THEN BK=13:RETURN
  234. 870 IF BK=13 THEN BK=11:RETURN
  235. 900 ' THRUST
  236. 902 IF K$="F" THEN TR=TR-1 ELSE TR=TR+1
  237. 904 IF TR<1 THEN TR=1
  238. 906 IF TR>6 THEN TR=6
  239. 907 RETURN
  240. 908 ' RUDDER
  241. 909 IF K$="," GOTO 912 ELSE RA=RA+1
  242. 910 IF RA>4 THEN RA=4
  243. 911 RETURN
  244. 912 RA=RA-1:IF RA<-4 THEN RA=-4
  245. 913 RETURN
  246. 914  ' ELEVATOR
  247. 915 J=5:IF BR=12 THEN J=1
  248. 916 IF K$="U" THEN FA=FA+J ELSE FA=FA-J
  249. 918 IF FA>15 THEN FA=15
  250. 920 IF FA<-15 THEN FA=-15
  251. 922 IF FA>0 THEN FL=1:RETURN
  252. 924 IF FA=0 THEN FL=2:RETURN
  253. 926 FL=3:RETURN
  254. 928 ' WHEELS
  255. 929 IF WH THEN WH=FALSE:RETURN
  256. 930 IF NOT WH THEN WH=TRUE:RETURN
  257. 931 ' VOR FREQ
  258. 932 LOCATE 13,52:COLOR 0,7
  259. 933 LINE INPUT;"VOR FREQ ";VX$:VO(1)=VAL(VX$)
  260. 934 COLOR 7,0:LOCATE 13,52:PRINT SPC(26):RETURN
  261. 935 ' SET VOR RADIAL
  262. 936 LOCATE 13,52:COLOR 0,7
  263. 937 LINE INPUT;"VOR RADIAL ";VX$:VO(3)=VAL(VX$)
  264. 938 COLOR 7,0:LOCATE 13,52:PRINT SPC(26):RETURN
  265. 940 IF STALL=1 THEN RETURN     ' FLAPS
  266. 941 IF BR=10 THEN BR=12:RETURN
  267. 942 IF BR=12 THEN BR=10:RETURN
  268. 944 ' AUTO KEY
  269. 945 F(3)=1:RETURN
  270. 946 ' REV THRUST
  271. 947 IF F(7)=1 THEN TR=7:RETURN
  272. 950 ' MISSED APPROACH
  273. 951 IF F(2)=1 THEN F(5)=1:RETURN
  274. 953 ' FLARE
  275. 954 IF F(2)=0 THEN FA=0:FL=2:RETURN
  276. 955 FA=1:FL=1
  277. 960 RETURN
  278. 1000 ' UPDATE
  279. 1001 TD=TIMER:TJ=TD-TL:IF TJ<0 THEN TJ=86400!+TJ
  280. 1002 TL=TD
  281. 1005 IF F(8)=1 THEN GOTO 1011
  282. 1010 GOSUB 1100
  283. 1011 GOSUB 1130:GOSUB 1160
  284. 1013 GOSUB 1145
  285. 1014 IF TR=7 THEN GOSUB 1800 ELSE GOSUB 1124
  286. 1016 GOSUB 1106
  287. 1018 GOSUB 1114
  288. 1019 GOSUB 1400 'OMEGA
  289. 1020 IF F(2)=1 GOTO 1600 ' ILS
  290. 1021 GOSUB 1500 'VOR
  291. 1030 IF AL<=0 THEN AF=1:GOTO 3000
  292. 1031 IF F(2)=0 GOTO 1099
  293. 1032 IF AL>0 GOTO 1068
  294. 1033 IF F(7)=1 GOTO 1090
  295. 1034 F(7)=1
  296. 1036 TY=YN
  297. 1038 TX=XN-1250
  298. 1042 IF FA>1 THEN AF=2:GOTO 3000
  299. 1044 IF FA<0 THEN AF=3:GOTO 3000
  300. 1046 IF F(6)=0 GOTO 1062
  301. 1048 IF AX>100 THEN AF=4:GOTO 3000
  302. 1050 IF AX>80 THEN AF=5:GOTO 3000
  303. 1052 IF WH=FALSE THEN AF=6:GOTO 3000
  304. 1054 IF TX>0 THEN AF=7:GOTO 3000
  305. 1056 IF TX<-10500 THEN AF=7:GOTO 3000
  306. 1058 IF ABS(TY)>100 THEN AF=7:GOTO 3000
  307. 1060 GOTO 1099
  308. 1062 AF=8:GOTO 3000
  309. 1068 IF F(5)=1 GOTO 1082
  310. 1070 IF FA>0 GOTO 1076
  311. 1072 IF FA<0 THEN F(6)=0
  312. 1074 GOTO 1099
  313. 1076 IF F(6)=0 THEN AX=AL:F(6)=1
  314. 1077 IF TR=6 GOTO 1080
  315. 1078 IF FA<2 THEN RC=-1800:GOTO 1099
  316. 1079 FA=2:FL=1:RC=-1800:GOTO 1099
  317. 1080 FA=1:FL=1:RC=-300:GOTO 1099
  318. 1082 IF AL<20 THEN AF=9:GOTO 3000
  319. 1086 GOTO 501
  320. 1090 IF XN<-9250 OR ABS(YN)>100 GOTO 1094
  321. 1091 IF AIS>0 GOTO 1099
  322. 1092 AF=0:GOTO 3000
  323. 1094 AF=9:GOTO 3000
  324. 1099 GOTO 305
  325. 1100 ' FUEL
  326. 1101 FU=FU-.47*(14-TR)*TJ:IF FU<0 THEN FU=0
  327. 1104 FP=100*(FU/200000!):RETURN
  328. 1106 IF F(7)=1 THEN RC=0:RETURN
  329. 1107 IF F(6)=1 THEN RETURN
  330. 1108 RC=AIS*SIN(ABS(FA/KR))*1.6878*60:IF AL>10000 AND FA>0 THEN RC=RC*(8000/AL)
  331. 1109  IF AL>44000! AND FA>0 THEN RC=RC*(45007!-AL)/1000
  332. 1110 IF FA<0 THEN RC=-1*RC
  333. 1112 RETURN
  334. 1114  'ALTITUDE
  335. 1115 IF F(7)=1 THEN RETURN
  336. 1116 AL=(AL+TJ*RC/60)
  337. 1118 IF AL<0 THEN AL=0:RETURN
  338. 1120 IF AL>=45000! THEN AL=45000!:FA=0:FL=0
  339. 1122 RETURN
  340. 1124 ' AIRSPEED
  341. 1125 AIS=700-80*TR
  342. 1126   '  AIS=AIS-2*FA
  343. 1127 IF BR=10 THEN AIS=AIS-2*FA:RETURN
  344. 1128 AIS=AIS/3+20:IF TR=6 AND F(2)=1 THEN AIS=102:AIS=AIS-2*FA:RETURN
  345. 1129 AIS=AIS-2*FA:RETURN
  346. 1130 IF F(5)=1 GOTO 1132
  347. 1131 IF F(2)=1 GOTO 1142
  348. 1132 IF RA=0 THEN RT=0:RETURN
  349. 1133 IF RA<0 THEN J=-1 ELSE J=1
  350. 1134 RA=ABS(RA):IF RA=1 THEN RT=1:GOTO 1137
  351. 1135 IF RA=2 THEN RT=3:GOTO 1137
  352. 1136 IF RA=3 THEN RT=6 ELSE RT=12
  353. 1137 RT=J*RT:RA=J*RA
  354. 1138 CC=CC+RT
  355. 1139 IF CC=>360 THEN CC=CC-360:RETURN
  356. 1140 IF CC<0 THEN CC=360+CC
  357. 1141 RETURN
  358. 1142 IF RA=0 THEN RETURN
  359. 1143 IF RA<0 THEN CC=CC-1 ELSE CC=CC+1
  360. 1144 RA=0:GOTO 1139
  361. 1145 ' RUDDER POSIT
  362. 1146 RP=40+RA+RA:RETURN
  363. 1160  'STALL IN CRUISE
  364. 1161 IF F(2)=1 THEN RETURN
  365. 1162 IF AIS<100  THEN  GOTO 1163 ELSE  STALL=0:RETURN
  366. 1163 STALL=1:GOSUB 679:FA=-3:FL=3:RETURN
  367. 1200 ' COMPUTE DISTANCE
  368. 1202 VL=ABS(LB-LC):BL(5)=-1:IF LB=>LC THEN BL(5)=1
  369. 1203 IF GC<5 THEN GC=360+GC
  370. 1204 IF GB<5 THEN GB=360+GB
  371. 1205 VG=ABS(GB-GC):BL(4)=1:IF GB=>GC THEN BL(4)=-1
  372. 1206 LA=LC:GOSUB 2400
  373. 1208 M1=MP
  374. 1210 LA=LB:GOSUB 2400
  375. 1212 M2=MP:DM=ABS(M2-M1)
  376. 1214 IF DM=0 GOTO 1220
  377. 1216 QO=VG/(DM/60):IF QO>114.59 GOTO 1220
  378. 1218 CA=KR*ATN(QO):DR=VL*(1/COS(CA/KR)):GOTO 1222
  379. 1220 CA=90:DR=VG*COS(LC/KR)
  380. 1222 DR=DR*60:IF BL(5)=-1 GOTO 1226
  381. 1224 IF BL(4)=1 THEN CR=CA ELSE CR=360-CA
  382. 1225 RETURN
  383. 1226 IF BL(4)=1 THEN CR=180-CA ELSE CR=180+CA
  384. 1228 RETURN
  385. 1250 ' WIND VECTOR
  386. 1252 I=FIX(AL/4000):IF I=>10 THEN I=10
  387. 1254 WD=WA(I,0):WV=WA(I,1)
  388. 1256 RETURN
  389. 1260 ' WIND SOLUTION
  390. 1262 A=CC:L=AJ:GOSUB 1300
  391. 1264 MX=LX:MY=LY
  392. 1266 GOSUB 1250
  393. 1268 A=WD+180:IF A=>360 THEN A=A-360
  394. 1270 L=WV:GOSUB 1300
  395. 1272 MX=MX+LX:MY=MY+LY:GOSUB 1350
  396. 1274 TK=MA:GS=VZ
  397. 1276 RETURN
  398. 1300 ' VECTOR TO RECTANGULAR
  399. 1302 IF A<=90 THEN Q=1:B=90-A:GOTO 1310
  400. 1304 IF A<=180 THEN Q=2:B=A-90:GOTO 1310
  401. 1306 IF A<=270 THEN Q=3:B=270-A:GOTO 1310
  402. 1308 Q=4:B=A-270
  403. 1310 LX=L*COS(B/KR):LY=L*SIN(B/KR)
  404. 1312 IF Q=1 THEN RETURN
  405. 1314 IF Q=2 THEN LY=-1*LY:RETURN
  406. 1316 IF Q=3 THEN LX=-1*LX:LY=-1*LY:RETURN
  407. 1318 LX=-1*LX
  408. 1320 RETURN
  409. 1350 ' POLAR VECTOR
  410. 1352 VZ=SQR(MX^2+MY^2)
  411. 1354 IF MX<=0 GOTO 1358
  412. 1356 IF MY<=0 THEN Q=2 ELSE Q=1
  413. 1357 GOTO 1360
  414. 1358 IF MY<=0 THEN Q=3 ELSE Q=4
  415. 1360 IF MX=0 THEN MA=90:GOTO 1366
  416. 1362 MQ=ABS(MY/MX)
  417. 1364 MA=KR*ATN(MQ)
  418. 1366 IF Q=1 THEN MA=90-MA:RETURN
  419. 1368 IF Q=2 THEN MA=90+MA:RETURN
  420. 1370 IF Q=3 THEN MA=270-MA:RETURN
  421. 1372 MA=270+MA
  422. 1374 RETURN
  423. 1400 ' OMEGA POSIT DISPLAY
  424. 1402 AIS(2)=AIS:FA(2)=FA:CC(2)=CC:AL(2)=AL
  425. 1404 AIS=AIS(1):FA=FA(1):CC=CC(1):AL=AL(1)
  426. 1406 IF AIS(2)<>AIS OR FA(2)<>FA GOTO 1440
  427. 1408 IF CC(2)<>CC OR AL(2)<>AL GOTO 1440
  428. 1409 IF TW(1)>TD THEN TW(1)=TD
  429. 1410 F(0)=1:IF TD<TW(1)+60 GOTO 1442
  430. 1412 AJ=AIS*COS(ABS(FA)/KR)
  431. 1414 GOSUB 1260
  432. 1416 DN=GS*(TD-TW(1))/3600
  433. 1418 CN=TK:L1=LL(1):G1=GL(1):GOSUB 2610
  434. 1420 GOSUB 2000
  435. 1422 F(0)=0:TW(1)=TD:LL(1)=L2:GL(1)=G2
  436. 1424 LS(1)=L2:GS(1)=G2
  437. 1426 FOR J=4 TO 7:DP(J)=CP(J):NEXT
  438. 1428 AIS(1)=AIS(2):FA(1)=FA(2):CC(1)=CC(2):AL(1)=AL(2)
  439. 1430 AIS=AIS(2):FA=FA(2):CC=CC(2):AL=AL(2)
  440. 1432 RETURN
  441. 1440 TW(1)=TD:F(0)=0
  442. 1442 AJ=AIS*COS(ABS(FA)/KR)
  443. 1444 GOSUB 1260
  444. 1446 DN=GS*TJ/3600
  445. 1448 CN=TK:L1=LS(1):G1=GS(1):GOSUB 2610
  446. 1450 GOSUB 2000
  447. 1452 LS(1)=L2:GS(1)=G2
  448. 1454 IF F(0)=1 GOTO 1458
  449. 1456 LL(1)=L2:GL(1)=G2
  450. 1458 GOTO 1426
  451. 1500 ' VOR
  452. 1502 IF VO(1)=0 GOTO 1540
  453. 1504 FOR J=0 TO 42:IF VO(1)=VF(J) GOTO 1506
  454. 1505 NEXT:GOTO 1540
  455. 1506 LC=VP(J,0):GC=VP(J,1)
  456. 1508 AR=VG(J,0):LL=VG(J,1)
  457. 1509 LB=L2:GB=G2
  458. 1510 LO=360-LL
  459. 1512 GOSUB 1200
  460. 1514 IF DR>300 GOTO 1540
  461. 1516 IF CR=>360 THEN CR=CR-360
  462. 1517 GOTO 1578
  463. 1518 VO$="FROM"
  464. 1519 VO(5)=CR-VO(3):IF VO(5)<=180 GOTO 1522
  465. 1520 VO(5)=VO(5)-360:GOTO 1524
  466. 1522 IF VO(5)<-180 THEN VO(5)=VO(5)+360
  467. 1524 IF ABS(VO(5))>90 THEN I1=VO(3):GOTO 1536
  468. 1526 IF VO$="FROM" THEN I=-1 ELSE I=1
  469. 1527 IF I=1 THEN VO(3)=I1
  470. 1528 VO(2)=40+I*INT(VO(5)):VO(4)=DR
  471. 1530 IF VO(2)<35 THEN VO(2)=34
  472. 1532 IF VO(2)>45 THEN VO(2)=45
  473. 1534 GOTO 1560
  474. 1536 VO$=" TO ":VO(3)=VO(3)+180:IF VO(3)=>360 THEN VO(3)=VO(3)-360
  475. 1538 GOTO 1519
  476. 1540 VO$="OUT ":VO(4)=999.9:F(3)=0:RETURN
  477. 1546 IF DR>12 OR DR<10 THEN MK=0:GOTO 1518
  478. 1548 IF AL>4000 THEN MK=0:GOTO 1518
  479. 1550 IF F(1)=1 THEN J=9 ELSE J=2.5
  480. 1552 IF CR>AR+J OR CR<AR-J THEN MK=0:GOTO 1518
  481. 1554 F(1)=1:MK=1:GOTO 1518
  482. 1560 IF MK=0 THEN COLOR 7,0
  483. 1561 IF MK=1 THEN COLOR 0,7:SOUND 400,.5
  484. 1562 LOCATE 2,30:PRINT "  ":COLOR 7,0
  485. 1566 IF MK=0 THEN F(1)=0:RETURN
  486. 1570 IF CC>LL+1 OR CC<LL-1 THEN RETURN
  487. 1572 IF RA<>0 THEN RETURN
  488. 1574 F(1)=0:F(2)=1
  489. 1576 GOTO 1540
  490. 1578 IF F(3)=1 THEN VO(3)=CR:F(3)=0
  491. 1580 GOTO 1546
  492. 1600 ' ILS
  493. 1602 MK=1
  494. 1603 DW=RW*TJ:IF F(7)=1 THEN DW=0  'DW DRIFT IN FEET
  495. 1604 IF F(7)=1 THEN CC=LL:RA=0
  496. 1606 CJ=CC
  497. 1608 IF CJ>180 THEN CJ=360-CJ:CJ=-1*CJ
  498. 1610 HA=LO+CJ
  499. 1612 DC=360-HA:TS=1:IF HA<180 THEN DC=HA:TS=-1
  500. 1614 IF DC<0 THEN DC=-1*DC:TS=-1*TS
  501. 1616 TL$="W":IF TS=1 THEN TL$="E"
  502. 1618 DD=1.6878*AIS*TJ
  503. 1620 DY=DD*SIN(DC/KR):DX=DD*COS(DC/KR)
  504. 1622 XN=XO-DX:IF TL$="E" THEN DY=-1*DY
  505. 1624 YN=YO+DY+DW
  506. 1626 LM=KR*ATN(AL/XN)
  507. 1628 BE=KR*ATN(ABS(YN)/ABS(XN)):IF BE>2.5 THEN MK=0
  508. 1630 J=(LM-TH)/.25:IF XN<5000 THEN J=(LM-TH)/.5
  509. 1631 J=FIX(J)
  510. 1632 IF J>3 THEN J=3
  511. 1633 IF J<-3 THEN J=-3
  512. 1634 IF XN=>10000 THEN BE=BE/.1
  513. 1635 IF XN<10000 AND XN=>5000 THEN BE=BE/.25
  514. 1636 IF XN<5000 THEN BE=BE/.45
  515. 1637 BE=FIX(BE)
  516. 1638 IF BE>7 THEN BE=7
  517. 1639 IF YN>0 THEN BE=-1*BE
  518. 1640 IF MK=0 GOTO 1648
  519. 1642 IF XN>34960! AND XN<38000! THEN SND=400:IF AAA=1 THEN GOTO 1648 ELSE 1830
  520. 1644 IF XN>2534 AND XN<5574 THEN SND=1300:GOTO 1648
  521. 1646 MK=0
  522. 1648 GX(1)=BE:GY(1)=J
  523. 1650 GOSUB 2100
  524. 1654 IF MK=0 THEN COLOR 7,0,0
  525. 1655 IF MK=1 THEN COLOR 0,7,0:SOUND SND,.5
  526. 1656 LOCATE 2,30:PRINT "  "
  527. 1658 COLOR 7,0:LOCATE 21,52:PRINT SPACE$(13)
  528. 1662 XO=XN:YO=YN
  529. 1664 IF F(8)=1 GOTO 1676
  530. 1666 IF XN>12000 GOTO 1676
  531. 1668 F(8)=1
  532. 1670 FOR I=0 TO 3
  533. 1672 LOCATE 19+I,1:PRINT RS$(I)
  534. 1674 NEXT I
  535. 1676 IF F(8)=0 GOTO 1699
  536. 1678 LOCATE 23,XQ:PRINT " "
  537. 1680 YU=FIX(YN/10):XC=16+YU
  538. 1682 IF XC<1 THEN XC=1
  539. 1684 IF XC>31 THEN XC=31
  540. 1686 LOCATE 23,XC:PRINT CHR$(234)
  541. 1688 XQ=XC
  542. 1699 GOTO 1031
  543. 1800 ' REV THRUST
  544. 1802 IF F(4)=1 GOTO 1806
  545. 1804 VO=AIS*1.6878:F(4)=1
  546. 1806 V=VO-(3.23636)*TJ:IF BK=11 THEN V=V-2
  547. 1808 IF V<=0 THEN V=0
  548. 1810 VO=V
  549. 1812 AIS=V/(1.6878)
  550. 1814 RETURN
  551. 1830 COLOR 0,7:FOR K=1 TO 150:LOCATE 21,52:PRINT "CLEAR TO LAND":NEXT K:AAA=1:GOTO 1644
  552. 2000 ' COMPUTE POSITION
  553. 2004 IF CN=0 THEN CA=0:LB(5)=1:LB(6)=1:GOTO 2014
  554. 2006 IF CN>0 AND CN<=90 THEN CA=CN:LB(5)=1:LB(6)=1:GOTO 2014
  555. 2008 IF CN>90 AND CN<=180 THEN CA=180-CN:LB(5)=-1:LB(6)=1:GOTO 2014
  556. 2010 IF CN>180 AND CN<=270 THEN CA=CN-180:LB(5)=-1:LB(6)=-1:GOTO 2014
  557. 2012 CA=360-CN:LB(5)=1:LB(6)=-1
  558. 2014 IF CA>89.5 GOTO 2034
  559. 2016 DL=DN*COS(CA/KR):DL=DL/60:LB(3)=LB(5)
  560. 2018 IF LB(3)=1 THEN L2=L1+DL:GOTO 2024
  561. 2020 L2=L1-DL
  562. 2024 LA=L1:GOSUB 2400
  563. 2026 M1=MP
  564. 2028 LA=L2:GOSUB 2400
  565. 2030 M2=MP
  566. 2032 DM=ABS(M1-M2):DG=DM*TAN(CA/KR):GOTO 2036
  567. 2034 L2=L1:DG=DN/COS(L1/KR)
  568. 2036 DG=DG/60:LB(4)=LB(6)
  569. 2038 IF LB(4)=-1 GOTO 2046
  570. 2040 G2=G1-DG:GOSUB 2600
  571. 2044 GOTO 2047
  572. 2046 G2=G1+DG:GOSUB 2600
  573. 2047 IF L2>=(89+59.9/60) THEN L1=90-.7/60:GOSUB 2445:CC=180+CC:GOSUB 2440
  574. 2048 IF L2<=-1*(89+59.9/60) THEN L1=-1*(90-.7/60):GOSUB 2446:CC=180+CC:GOSUB 2440
  575. 2050 CP(4)=FIX(L2):CP(5)=(L2-CP(4))*60
  576. 2051 IF G2>180 AND G2<360 THEN GG2=G2-360 ELSE GG2=G2
  577. 2052 CP(6)=FIX(GG2):CP(7)=(GG2-CP(6))*60
  578. 2054 RETURN
  579. 2100 IF F(2)=0 THEN RETURN ' PLOT GLIDESLOPE
  580. 2101 IF XN<=1250 THEN GOTO 2118
  581. 2102 X0=16+GX(0):X1=16+GX(1):Y0=14+GY(0):Y1=14+GY(1)
  582. 2103 COLOR 7,0,0
  583. 2104 FOR Y=11 TO 17:LOCATE Y,X0:PRINT " ":NEXT
  584. 2106 LOCATE Y0,9:PRINT STRING$(15,32)
  585. 2108 FOR Y=11 TO 17:LOCATE Y,X1:PRINT CHR$(197):NEXT
  586. 2110 LOCATE Y1,9:PRINT STRING$(15,197)
  587. 2112 LOCATE Y1,X1:PRINT CHR$(219)
  588. 2114 LOCATE 14,16:PRINT CHR$(234)
  589. 2116 GX(0)=GX(1):GY(0)=GY(1):GOTO 2140
  590. 2118 LOCATE Y1,9:PRINT STRING$(15,32)
  591. 2120 FOR Y=11 TO 17:LOCATE Y,X1:PRINT CHR$(32):NEXT
  592. 2130 LOCATE 14,16:PRINT CHR$(32)
  593. 2140 RETURN
  594. 2400 ' COMP MERIDIONAL PARTS
  595. 2416 IF LA>(89+59/60) OR LA<-1*(89+59/60) THEN LA=89+59/60
  596. 2418 S1=SIN(LA/KR)
  597. 2420 S2=S1*S1:S3=S1*S2
  598. 2422 TM(0)=TAN((45+LA/2)/KR)
  599. 2424 TM(0)=KM(0)*LOG(TM(0))/LOG(10)
  600. 2426 TM(1)=KM(1)*S1
  601. 2428 TM(2)=KM(2)*S3
  602. 2430 TM(3)=KM(3)*S2*S3
  603. 2432 MP=TM(0)-TM(1)-TM(2)-TM(3)
  604. 2436 RETURN
  605. 2440 GOSUB 1139:CC(2)=CC:CC(1)=CC:RETURN
  606. 2445 IF CC=0 THEN G2=G2+180:G1=G2:GS(1)=G2:GL(1)=G2:RETURN
  607. 2446 IF CC=180 THEN G2=G2+180:G1=G2:GS(1)=G2:GL(1)=G2:RETURN
  608. 2450 LOCATE 20,52:LINE INPUT;"OVER THE POLE, C ENTER: ";POLE$
  609. 2455 LOCATE 20,52:PRINT SPACE$(29):IF POLE$<>"C" THEN GOTO 2450
  610. 2460 LOCATE 20,52:PRINT SPACE$(29):GOSUB 2500:GOTO 1000
  611. 2500 LOCATE 13,50:COLOR 0,7
  612. 2505 LINE INPUT;"ALTITUDE: ";VX$:AL=VAL(VX$):AL(1)=AL:COLOR 7,0:LOCATE 12,50:PRINT SPC(31)
  613. 2510 COLOR 0,7:LOCATE 13,50:LINE INPUT;"LATITUDE (DEC.): ";VX$:LS(1)=VAL(VX$):LL(1)=LS(1):COLOR 7,0:LOCATE 13,50:PRINT SPC(31)
  614. 2515 COLOR 0,7:LOCATE 13,50:LINE INPUT;"LONGITUDE (DEC.): ";VX$:GS(1)=VAL(VX$):GOSUB 2620:GL(1)=GS(1)
  615. 2520 COLOR 7,0:LOCATE 13,50:PRINT SPC(31):RETURN
  616. 2600 IF G2<0 THEN G2=360+G2
  617. 2605 IF G2>=360 THEN G2=G2-360
  618. 2606 RETURN
  619. 2610 IF G1<0 THEN G1=360+G1
  620. 2615 IF G1>=360 THEN G1=G1-360
  621. 2616 RETURN
  622. 2620 IF GS(1)<0 THEN GS(1)=360+GS(1)
  623. 2625 IF GS(1)>=360 THEN GS(1)=GS(1)-360
  624. 2626 RETURN
  625. 3000 GOSUB 600:COLOR 7,0:LOCATE 20,52:LINE INPUT;"ENTER: FOR REPORT";RAPPORT$ 'ABORT
  626. 3002 M$(1)="---------- A CRASH HAS OCCURRED ----------"
  627. 3004 M$(2)="YOU ACCIDENTLY STALLED THE AIRCRAFT DURING FINAL APPROACH."
  628. 3006 M$(3)="THE STALL OCCURRED AT AN ALTITUDE OF"
  629. 3008 M$(4)="THE AIRCRAFT STRUCK THE GROUND IN A NOSE UP ATTITUDE."
  630. 3010 M$(5)="THE IMPACT RUPTURED THE TAIL SECTION OF THE PLANE."
  631. 3012 M$(6)="------ LOCATION OF CRASH ------"
  632. 3013 M$(7)="------ LANDING POSITION ------"
  633. 3016 M$(8)="     PITCH ANGLE="
  634. 3018 M$(9)="     AIRSPEED="
  635. 3020 M$(10)="YOU FLARED AT TOO HIGH AN ALTITUDE DURING FINAL APPROACH."
  636. 3022 M$(11)="THE RESULTING STALL OCCURRED AT AN ALTITUDE OF"
  637. 3024 M$(12)="THE IMPACT RUPTURED THE"
  638. 3026 M$(13)="YOU FORGOT TO LOWER THE LANDING GEAR."
  639. 3028 M$(14)="YOU FAILED TO TOUCH DOWN INSIDE THE RUNWAY."
  640. 3030 M$(15)="-------- AN IMPROPER LANDING WAS MADE --------"
  641. 3032 M$(16)="NO DAMAGE OR INJURIES OCCURRED."
  642. 3033 RL=0:IF TX>0 THEN RL=1
  643. 3034 RW=0:IF ABS(TY)>100 THEN RW=1
  644. 3040 N$(2)="FEET INSIDE OF RUNWAY (TOUCH DOWN)"
  645. 3041 IF TX>0 THEN N$(2)="FEET SHORT OF RUNWAY"
  646. 3042 N$(3)="FEET LEFT OF RUNWAY CENTERLINE"
  647. 3043 IF TY>0 THEN N$(3)="FEET RIGHT OF RUNWAY CENTERLINE"
  648. 3044 RX=FIX(TX):RX=ABS(RX)
  649. 3045 RY=FIX(TY):RY=ABS(RY)
  650. 3050 IF AF=0 GOTO 3600
  651. 3055 AX=INT(AX):FA=INT(FA):AIS=INT(AIS):GOSUB 3700
  652. 3060 ON AF GOTO 3100,3150,3200,3250,3300,3350,3400,3450,3500
  653. 3100 '
  654. 3102 LOCATE 12,1:PRINT M$(1)
  655. 3104 PRINT "YOU FLEW INTO THE GROUND."
  656. 3106 PRINT "THE INSTRUMENT READINGS AT THE TIME OF CRASH ARE AS SHOWN ABOVE."
  657. 3108 GOTO 3818
  658. 3150 LOCATE 12,1
  659. 3152 PRINT M$(1)
  660. 3154 PRINT M$(2)
  661. 3156 PRINT M$(3);AX;"FEET."
  662. 3158 PRINT M$(4)
  663. 3160 PRINT M$(5)
  664. 3162 N$(1)=M$(6)
  665. 3164 GOTO 3800
  666. 3200 LOCATE 12,1
  667. 3202 PRINT M$(1)
  668. 3204 PRINT "YOU FLEW INTO THE GROUND DURING FINAL APPROACH."
  669. 3206 PRINT "AT TIME OF CRASH, THE AIRCRAFT PROFILE WAS AS FOLLOWS:"
  670. 3208 PRINT M$(8);FA;"DEGREES"
  671. 3210 PRINT M$(9);AIS
  672. 3212 N$(1)=M$(6)
  673. 3214 GOTO 3800
  674. 3250 LOCATE 12,1
  675. 3252 PRINT M$(1)
  676. 3254 PRINT M$(10)
  677. 3256 PRINT M$(11);AX;"FEET."
  678. 3258 PRINT M$(12)+"FUSELAGE."
  679. 3260 N$(1)=M$(6)
  680. 3262 GOTO 3800
  681. 3300 LOCATE 12,1
  682. 3302 IF NOT WH THEN PRINT M$(1)
  683. 3304 IF WH THEN PRINT "------ A MINOR CRASH HAS OCCURRED -----"
  684. 3306 PRINT M$(10)
  685. 3308 PRINT M$(11);AX;"FEET."
  686. 3310 IF NOT WH THEN PRINT M$(13)
  687. 3312 IF NOT WH THEN PRINT M$(12)+"FUSELAGE."
  688. 3314 IF WH THEN PRINT "THE IMPACT DAMAGED THE LANDING GEAR."
  689. 3316 IF WH THEN PRINT "ALL PASSENGERS HAVE BEEN SAFELY EVACUATED."
  690. 3318 N$(1)=M$(6)
  691. 3320 GOTO 3800
  692. 3350 LOCATE 12,1
  693. 3352 PRINT M$(1)
  694. 3354 PRINT M$(13)
  695. 3356 PRINT "THE AIRCRAFT LANDED ON ITS BELLY, CAUSING MODERATE DAMAGE."
  696. 3358 PRINT "ALL PASSENGERS HAVE BEEN SAFELY EVACUATED."
  697. 3360 N$(1)=M$(6)
  698. 3361 GOTO 3800
  699. 3400 LOCATE 12,1
  700. 3402 PRINT M$(15)
  701. 3404 PRINT M$(14)
  702. 3406 N$(1)=M$(7)
  703. 3408 GOTO 3800
  704. 3450 LOCATE 12,1
  705. 3452 PRINT M$(15)
  706. 3454 PRINT "YOU FAILED TO EXECUTE A FLARE PRIOR TO TOUCHING DOWN."
  707. 3456 PRINT "THIS IS A VIOLATION OF COMPANY PROCEDURES."
  708. 3458 PRINT M$(16)
  709. 3460 N$(1)=M$(7)
  710. 3462 GOTO 3800
  711. 3500 LOCATE 12,1
  712. 3502 PRINT M$(15)
  713. 3504 PRINT "YOU ROLLED OFF THE RUNWAY AFTER TOUCHING DOWN."
  714. 3506 PRINT M$(16)
  715. 3514 IF XN<-9250 THEN PRINT "YOU ROLLED PAST FAR END OF RUNWAY"
  716. 3516 IF ABS(YN)>100 THEN PRINT "YOU ROLLED THRU RUNWAY SIDE BORDER"
  717. 3518 PRINT:N$(1)=M$(7):GOTO 3800
  718. 3600 GOSUB 3700:LOCATE 12,1
  719. 3602 PRINT "----- YOU HAVE SUCCESSFULLY COMPLETED THE FLIGHT -----"
  720. 3604 PRINT "ALL PROCEDURES WERE PROPERLY FOLLOWED."
  721. 3606 N$(1)=M$(7)
  722. 3610 PRINT "CONGRATULATIONS ON A SUCCESSFUL FLIGHT."
  723. 3612 GOTO 3800
  724. 3700 ' CLEAR TO DISPLAY REPORT
  725. 3702 FOR I=10 TO 23
  726. 3703 LOCATE I,1:PRINT SPACE$(80)
  727. 3706 NEXT I
  728. 3708 RETURN
  729. 3800 ' LANDING STATS
  730. 3802 PRINT
  731. 3804 PRINT SPC(26);N$(1)
  732. 3808 IF RL=0 THEN PRINT RX;N$(2)
  733. 3809 IF RL=1 THEN COLOR 0,7,0:PRINT RX;N$(2):COLOR 7,0,0
  734. 3812 IF RW=0 THEN PRINT RY;N$(3)
  735. 3813 IF RW=1 THEN COLOR 7,0,0:PRINT RY;N$(3)
  736. 3814 IF AF=0 THEN PRINT ABS(FIX(XN-1250));"FEET FROM END OF RUNWAY, PLANE AT STOP."
  737. 3816 PRINT "--- SIZE OF RUNWAY IS 10500 FEET BY 200 FEET ---"
  738. 3818 COLOR 7,0,0:GOTO 12300
  739. 10000 ' BEGIN TAKEOFF MODULE HERE
  740. 10020 CLS:GOTO 11600
  741. 10022 FALSE=0:TRUE=NOT FALSE
  742. 10025 KR=57.295779#:DIM XM(13),WM(13)
  743. 10030 DATA 37,35,32,30,27,25,22,20,17,15,12,10,7,5
  744. 10040 DATA 7,11,16,21,26,31,36,41,46,51,56,61,66,71
  745. 10045 FOR I=0 TO 13:READ XM(I):NEXT
  746. 10050 FOR I=0 TO 13:READ WM(I):NEXT
  747. 10060 DIM XE(13),WE(13)
  748. 10065 K1=29:K2=23
  749. 10070 FOR I=0 TO 13
  750. 10075 XE(I)=K1:WE(I)=K2
  751. 10080 K1=K1-2:K2=K2+4
  752. 10085 NEXT
  753. 10090 IO=40
  754. 10115 DIM XL(14),XR(14)
  755. 10120 J=31:K=49
  756. 10125 FOR I=0 TO 14
  757. 10130 XL(I)=J:XR(I)=K
  758. 10135 J=J-2:K=K+2
  759. 10140 NEXT
  760. 10145 DATA FUEL,LBS,%,VHF,MHZ,THRUST,MAX,IDLE,REV
  761. 10150 DATA PITCH," +"," -",DEG,FLAPS,  UP , DWN ,WHEELS,UP,MID,DOWN
  762. 10155 DATA COMPASS,AIRSPEED,KTS," VERT",SPEED,FPM
  763. 10160 DATA ALTITUDE,FEET,CLOCK,BRAKE, SET , REL
  764. 10170 FOR I=O TO 31:READ P$(I):NEXT
  765. 10185 FOR I=0 TO 9:F(I)=0:NEXT
  766. 10190 ' INIT. VARIABLES FOR TAKEOFF MODE
  767. 10195 FU=200000!:FP=99:AIS=0:RC=0:AL=0
  768. 10200 MZ=121.5:TR=6:FL=2:FA=0:WH=TRUE:IX=40:BR=11:BK=11:NY=10:OHH=10:EDGE=0
  769. 10205 AB=0
  770. 10215 CLS:LOCATE 1,24:PRINT "UNITED 312     CLEARED AS FILED"
  771. 10217 PRINT:PRINT
  772. 10218 PRINT "              SURFACE WINDS VARIABLE, GUSTING TO 15.":PRINT
  773. 10219 PRINT "              MINIMUM CEILING CONDITIONS ARE IN EFFECT.":PRINT
  774. 10230 PRINT
  775. 10235 PRINT
  776. 10240 PRINT
  777. 10245 PRINT "      AFTER TAKEOFF, MAINTAIN HEADING ";CC;" TO 3000, THEN PROCEED AS FILED"
  778. 10248 LOCATE 20,24:PRINT "STANDBY FOR TAKEOFF CLEARANCE";
  779. 10255 TQ=4000:GOSUB 11535
  780. 10260 CLS
  781. 10265 LOCATE 10,17:PRINT "UNITED 312":PRINT:PRINT
  782. 10270 PRINT "          YOU ARE CLEARED FOR TAKEOFF "
  783. 10271 GOTO 12200
  784. 10275 TQ=2000:GOSUB 11535
  785. 10280 CLS
  786. 10290 TD=TIMER:TL=TD
  787. 10295 GOSUB 10330 ' DISPLAY CONTROL PANEL
  788. 10300 GOSUB 10410 ' DISPLAY HORIZON LINE
  789. 10305 GOSUB 10480 ' DISPLAY RUNWAY
  790. 10310 GOSUB 10615 ' DISPLAY INSTTUMENT READINGS
  791. 10315 K$=INKEY$:IF K$="" GOTO 10325
  792. 10320 GOSUB 10790 ' KEY PULL ROUTINE
  793. 10325 GOTO 10945 ' SITUATION UPDATE
  794. 10330 ' DISPLAY PANEL (HEADERS ONLY)
  795. 10335 LOCATE 1,3:PRINT P$(0);SPACE$(4);P$(5);SPACE$(3);P$(9);SPACE$(12);P$(20)
  796. 10340 LOCATE 8,55:PRINT P$(13);SPACE$(4);P$(16);SPACE$(4);P$(29)
  797. 10352 IF F(9)=1 THEN RETURN
  798. 10355 LOCATE 2,13:PRINT P$(6);SPACE$(6);P$(10);
  799. 10360 LOCATE 2,68:PRINT P$(28)
  800. 10365 LOCATE 3,1:PRINT P$(1);SPACE$(4);P$(2);SPACE$(37);P$(23)
  801. 10370 LOCATE 4,22:PRINT P$(11);SPACE$(13);P$(21);SPACE$(2);P$(24);SPACE$(2);P$(26)
  802. 10371 LOCATE 1,28:PRINT "MARKER":LOCATE 2,29:PRINT ">  <"
  803. 10372 LOCATE 4,29:PRINT "STALL":LOCATE 5,28:PRINT ">     <"
  804. 10375 LOCATE 5,1:PRINT P$(3)
  805. 10380 LOCATE 6,39:PRINT P$(22);SPACE$(6);P$(25);SPACE$(5);P$(27)
  806. 10385 LOCATE 7,1:PRINT P$(4);SPACE$(10);P$(7);SPACE$(3);P$(12);
  807. 10390 LOCATE 8,13:PRINT P$(8)
  808. 10391 LOCATE 4,68:PRINT "VLF OMEGA";:LOCATE 5,64:PRINT "LAT";
  809. 10392 LOCATE 6,63:PRINT "LONG";
  810. 10393 LOCATE 7,32:PRINT ". . . . : . . . ."
  811. 10395 FOR Y=2 TO 8:LOCATE Y,12:PRINT CHR$(196):NEXT
  812. 10400 FOR Y=2 TO 4:LOCATE Y,21:PRINT CHR$(196):NEXT
  813. 10401 COLOR 0,7:LOCATE 6,1:F$="###.#":PRINT USING F$;MZ:COLOR 7,0
  814. 10405 RETURN
  815. 10410 ' DISPLAY HORIZONTAL LINE
  816. 10415 IF F(9)=0 THEN GOTO 10430
  817. 10416 IF OHH=22 THEN RETURN ELSE GOTO 10440
  818. 10430 LOCATE 10,1:PRINT STRING$(80,CHR$(196))
  819. 10435 RETURN
  820. 10440 IF EDGE=1 GOTO 10450 ELSE MK$=STRING$(WE(J),CHR$(0)):LOCATE NY,NX:PRINT MK$:EDGE=1
  821. 10446 REM IF NY<23 THEN NY=NY+1:J=J+1:LOCATE NY,1:PRINT SPACE$(80)
  822. 10450 LOCATE OHH,1:PRINT SPACE$(80);
  823. 10455 LOCATE OHH+1,1:PRINT STRING$(80,CHR$(196))
  824. 10460 OHH=OHH+1
  825. 10475 RETURN
  826. 10480 ' DISPLAY RUNWAY
  827. 10485 IF F(4)=1 GOTO 10525
  828. 10490 S=10:X=29
  829. 10495 FOR Y=11 TO 22
  830. 10500 LOCATE Y,X:PRINT "/";SPACE$(S);CHR$(124);SPACE$(S);"\";
  831. 10505 X=X-2:S=S+2
  832. 10510 NEXT
  833. 10515 S$=SPACE$(13)
  834. 10520 RETURN
  835. 10525 ' RUNWAY GRAPHICS
  836. 10530 IF N>3 GOTO 10600
  837. 10535 LOCATE OY,OX:PRINT SPACE$(FIX(WM/2));CHR$(124);SPACE$(FIX(WM/2))
  838. 10540 LOCATE NY,NX:PRINT MK$;
  839. 10545 OY=NY:OX=NX
  840. 10550 WM=FW
  841. 10555 RETURN
  842. 10560 ' WHEN SHIP IN FINAL ZONE
  843. 10565 LOCATE OY,OX:PRINT SPACE$(FIX(WM/2));CHR$(124);SPACE$(FIX(WM/2)):IF F(9)=1 THEN RETURN
  844. 10570 FOR I=11 TO NY-1
  845. 10575 LOCATE I,XE(J):PRINT SPACE$(WE(J))
  846. 10580 NEXT I
  847. 10585 IF N>4 THEN RETURN
  848. 10590 LOCATE NY,NX:PRINT MK$;
  849. 10595 RETURN
  850. 10600 IF F(2)=1 GOTO 10560 ELSE F(2)=1
  851. 10605 FOR I=11 TO 13:LOCATE I,59:PRINT SPACE$(21):NEXT
  852. 10610 GOTO 10560
  853. 10615 ' DISPLAY INSTRUMENT READINGS
  854. 10620 COLOR 0,7:LOCATE 2,1:F$="######":PRINT USING F$;FIX(FU)
  855. 10625 LOCATE 2,8:F$="##":PRINT USING F$;FIX(FP)
  856. 10626 IF CC=>360 THEN CCC=CC-1 ELSE CCC=CC
  857. 10627 IF CC<0 THEN CCC=360+CC ELSE CCC=CC
  858. 10630 LOCATE 2,39:F$="###":PRINT USING F$;CCC
  859. 10635 LOCATE 5,39:F$="####":PRINT USING F$;AIS
  860. 10640 LOCATE 5,46:F$="########":PRINT USING F$;INT(RC)
  861. 10645 LOCATE 5,55:F$="##,###":PRINT USING F$;INT(AL):IF F(4)=1 THEN GOTO 10652
  862. 10646 LOCATE 5,68:F$="####":PRINT USING F$;DP(4)
  863. 10647 LOCATE 5,73:F$="###.#":PRINT USING F$;DP(5)
  864. 10648 LOCATE 6,68:F$="####":PRINT USING F$;DP(6)
  865. 10649 LOCATE 6,73:F$="###.#":PRINT USING F$;DP(7):COLOR 7,0
  866. 10650 LOCATE 5,79:IF L1=0 THEN PRINT " " ELSE LOCATE 5,79:IF L1>0 THEN PRINT "N" ELSE IF L1<0 THEN PRINT "S"
  867. 10651 LOCATE 6,79:IF G2=0 THEN PRINT " " ELSE LOCATE 6,79:IF G2>0 THEN PRINT "W" ELSE IF G2<0 THEN PRINT "E"
  868. 10652 COLOR 7,0:LOCATE 1,67:PRINT TIME$
  869. 10655 ' DISPLAY THRUST
  870. 10660 COLOR 0,7:FOR I=2 TO 8
  871. 10665 LOCATE I,11:PRINT " "
  872. 10670 NEXT
  873. 10675 LOCATE TR+1,11:PRINT ">";
  874. 10680 ' DISPLAY PITCH
  875. 10685 FOR I=2 TO 4:LOCATE I,20:PRINT " ":NEXT
  876. 10690 LOCATE FL+1,20:PRINT ">"
  877. 10695 F$="+###"
  878. 10700 LOCATE 6,20:PRINT USING F$;FA:COLOR 7,0
  879. 10705 ' DISPLAY FLAPS
  880. 10710 IF F(2)=1 GOTO 10760
  881. 10715 COLOR 0,7:LOCATE 9,55: IF BR=11 THEN PRINT "  UP "
  882. 10717 IF BR=13 THEN PRINT " DWN "
  883. 10720 COLOR 7,0
  884. 10725 ' WHEELS
  885. 10730 LOCATE 9,64:COLOR 0,7:IF WH THEN PRINT " DWN " ELSE PRINT "  UP "
  886. 10732 COLOR 7,0
  887. 10740 ' BRAKES
  888. 10745 COLOR 0,7:LOCATE 9,74:IF BK=13 THEN PRINT " REL " ELSE PRINT " SET "
  889. 10750 COLOR 7,0
  890. 10760 ' DISPLAY RUNWAY ALIGN INDEX
  891. 10765 IF F(9)=1 THEN RETURN
  892. 10770 LOCATE 23,IO:PRINT " ";
  893. 10775 LOCATE 23,IX:PRINT CHR$(24);
  894. 10780 IO=IX
  895. 10785 RETURN
  896. 10790 ' KEY POLL ROUTINE
  897. 10795 IF K$="F" THEN GOTO 10830
  898. 10800 IF K$="," OR K$="." THEN GOTO 10845
  899. 10805 IF K$="B" THEN GOTO 10865
  900. 10810 IF K$="U" OR K$="D" THEN GOTO 10880
  901. 10815 IF K$="L" THEN GOTO 10925
  902. 10817 IF K$="W" THEN GOTO 10941
  903. 10818 IF K$="S" THEN GOTO 10826
  904. 10825 RETURN
  905. 10826 ' THRUST KEY DECREASE
  906. 10827 IF F(7)=1 AND BR=11 THEN TR=4
  907. 10829 RETURN
  908. 10830 ' THRUST KEY INCREASE
  909. 10831 IF F(7)=1 THEN RETURN
  910. 10835 IF F(0)=0 THEN RETURN
  911. 10840 F(1)=1:TR=1:RETURN
  912. 10845 ' RUDDER KEYS
  913. 10846 IF F(7)=1 THEN RETURN
  914. 10850 IF AIS<=50 THEN RETURN
  915. 10855 IF K$="," THEN CC=CC-1 ELSE CC=CC+1
  916. 10860 RETURN
  917. 10865 ' BRAKES
  918. 10870 IF F(0)=1 THEN RETURN
  919. 10875 F(0)=1:BK=13:RETURN
  920. 10880 ' PITCH
  921. 10881 IF F(7)=1 THEN RETURN
  922. 10885 IF AIS<=50 THEN RETURN
  923. 10890 FD=-10:IF K$="U" THEN FD=10
  924. 10895 FA=FA+FD
  925. 10900 IF FA>20 THEN FA=20
  926. 10905 IF FA<-20 THEN FA=-20
  927. 10910 IF FA>0 THEN FL=1:RETURN
  928. 10915 IF FA=0 THEN FL=2:RETURN
  929. 10920 FL=3:RETURN
  930. 10925 ' FLAPS
  931. 10926 IF F(7)=1 AND WH=FALSE THEN BR=11:RETURN
  932. 10930 IF F(3)=1 THEN RETURN
  933. 10935 IF F(3)=0 THEN F(3)=1:BR=13:RETURN
  934. 10940 RETURN
  935. 10941 ' WHEELS
  936. 10942 IF F(7)=1 THEN WH=FALSE
  937. 10944 RETURN
  938. 10945 ' SITUATION UPDATE
  939. 10950 TD=TIMER:TJ=TD-TL:IF TJ<0 THEN TJ=86400!+TJ
  940. 10951 TL=TD
  941. 10952 IF FA>10 GOTO 11385
  942. 10955 IF F(9)=1 GOTO 12000
  943. 10960 IF F(0)=1 GOTO 10970
  944. 10965 GOSUB 11130:GOTO 10310
  945. 10970 IF F(4)=1 GOTO 10990
  946. 10975 F(4)=1
  947. 10980 XX=0:YY=0
  948. 10985 TX=TD:V0=0:N=1:OY=23:OX=5:WM=71
  949. 10990 A=4.02
  950. 11000 GOSUB 11190
  951. 11010 IF YY>10500 OR ABS(XX)>100 GOTO 11390
  952. 11015 IF FA<=0 GOTO 11085
  953. 11020 IF AIS<150 GOTO 11385
  954. 11030 IF F(3)=0 GOTO 11085
  955. 11040 GOSUB 11130
  956. 11045 GOSUB 11150
  957. 11070 GOSUB 11170
  958. 11071 IF AL>0 THEN F(9)=1
  959. 11080 LOCATE 23,IO:PRINT " "
  960. 11085 GOSUB 11130
  961. 11090 GOSUB 10410
  962. 11105 GOSUB 11300
  963. 11110 GOTO 10305
  964. 11130 ' UPDATE FUEL
  965. 11131 IF TR=6 THEN FU=FU-1.3*TJ
  966. 11132 IF TR=4 THEN FU=FU-2.6*TJ
  967. 11135 IF TR=1 THEN FU=FU-4*TJ
  968. 11140 FP=100*(FU/200000!)
  969. 11145 RETURN
  970. 11150 ' RATE OF CLIMB
  971. 11155 RC=AIS*SIN(ABS(FA/KR))*1.6878*60
  972. 11156 IF RC>=6331 THEN RC=6331
  973. 11160 IF FA<0 THEN RC=-1*RC
  974. 11165 RETURN
  975. 11170 ' ALTITUDE
  976. 11175 AL=AL+TJ*RC/60
  977. 11180 IF AL<=0 THEN AL=0
  978. 11181 IF AL>=1900 THEN AL=1900
  979. 11185 RETURN
  980. 11190 ' MOTION EQUATIONS
  981. 11195 T=TJ
  982. 11200 V=V0+A*T
  983. 11205 VB=(V+V0)/2:V0=V
  984. 11210 S=VB*T
  985. 11215 IF TD<(TX+18) GOTO 11235
  986. 11220 TX=TD
  987. 11225 WB=RS*RND(1)  'RUNWAY DRIFT BETWEEN -1 TO +1 DEGREE
  988. 11226 REM LOCATE 14,1: PRINT SEED
  989. 11227 REM LOCATE 15,1:PRINT RS
  990. 11228 REM LOCATE 16,1:PRINT WB
  991. 11230 CC=CC+WB
  992. 11235 DA=(CC-RUNWAY)/KR
  993. 11240 DY=S*COS(ABS(DA))
  994. 11245 DX=S*SIN(ABS(DA))
  995. 11250 IF DA<0 THEN DX=-1*DX
  996. 11255 YY=YY+DY
  997. 11256 LOCATE 9,30:PRINT "RUNWAY USED:";CINT(YY);"FEET"
  998. 11260 XX=XX+DX
  999. 11265 AIS=V/1.6878
  1000. 11270 IF AIS>20 THEN AIS=AIS+WS
  1001. 11271 COLOR 0,7:LOCATE 5,39:F$="####":PRINT USING F$;AIS:COLOR 7,0
  1002. 11275 IX=40+FIX(XX*7/20):IF IX>79 THEN IX=79
  1003. 11280 IF IX<0 THEN IX=0
  1004. 11285 ZP=FIX(YY-2500*(N-1))
  1005. 11290 IF ZP>2500 THEN N=N+1:GOTO 11285
  1006. 11295 RETURN
  1007. 11300 ' VARIABLES FOR RUNWAY GRAPHICS
  1008. 11305 MP=FIX(11+(12*ZP)/2500)
  1009. 11310 IF N>3 GOTO 11350
  1010. 11315 NY=MP
  1011. 11320 J=NY-10
  1012. 11325 NX=XM(J)
  1013. 11330 FW=WM(J)
  1014. 11335 S$=SPACE$(J):SSS$=SPACE$(FIX(J/2))
  1015. 11340 MK$="_"+S$+"_"+S$+"_"+SSS$+CHR$(124)+SSS$+"_"+S$+"_"+S$+"_"
  1016. 11345 RETURN
  1017. 11350 ' IN ZONE 4 MARKER IS RUNWAY EDGE
  1018. 11355 NY=MP
  1019. 11360 J=NY-10
  1020. 11365 NX=XE(J)
  1021. 11370 IF N>4 THEN RETURN
  1022. 11375 MK$=STRING$(WE(J),CHR$(220)):IF EDGE=1 THEN MK$=STRING$(WE(J),CHR$(0))
  1023. 11380 RETURN
  1024. 11385 GOSUB 10615:AB=1:GOTO 11415
  1025. 11390 AB=2:IF YY<10500 GOTO 11415
  1026. 11395 FOR I=10 TO 22
  1027. 11400 LOCATE I,1:PRINT SPACE$(80);
  1028. 11405 NEXT I
  1029. 11410 GOTO 11415
  1030. 11415 ' ABORT
  1031. 11420 FOR I=10 TO 23
  1032. 11425 LOCATE I,1:COLOR 7,0,0:PRINT SPACE$(80)
  1033. 11430 NEXT I
  1034. 11435 LOCATE 12,29:PRINT "***TAKEOFF FAILED***":PRINT:PRINT
  1035. 11440 ON AB GOSUB 11455,11480
  1036. 11450 GOTO 12300
  1037. 11455 PRINT "YOU PULLED BACK ON THE STICK AT TOO SLOW A SPEED, OR YOU"
  1038. 11460 PRINT "PULLED BACK THE STICK TOO FAR WHEN AT PROPER SPEED."
  1039. 11465 PRINT "AS A RESULT THE TAIL OF THE FUSELAGE SCRAPPED THE RUNWAY"
  1040. 11470 PRINT "AND THE AIRCRAFT SPUN OUT OF CONTROL."
  1041. 11475 RETURN
  1042. 11480 IF YY>10500 GOTO 11505
  1043. 11485 PRINT "YOU FAILED TO STAY WITHIN THE RUNWAY BOUNDRIES."
  1044. 11490 PRINT "AS A RESULT YOU VEERED OFF THE RUNWAY AND COLLIDED WITH"
  1045. 11495 PRINT "THE CONTROL TOWER!!"
  1046. 11500 RETURN
  1047. 11505 PRINT "YOU RAN OUT OF RUNWAY.  AS A RESULT YOU ROLLED INTO THE"
  1048. 11510 PRINT "MARSHLANDS LOCATED";FIX(YY)-10500;"FEET PAST THE END."
  1049. 11515 IF F(3)=1 THEN RETURN
  1050. 11520 PRINT:PRINT "  YOU FORGOT TO LOWER THE FLAPS."
  1051. 11525 PRINT "AS A RESULT THE AIRCRAFT COULD NOT DEVELOP SUFFICIENT LIFT."
  1052. 11530 RETURN
  1053. 11535 ' TIME DELAY PAD
  1054. 11540 FOR I=1 TO TQ
  1055. 11545 NEXT I
  1056. 11550 RETURN
  1057. 11600 LOCATE 2,25:PRINT "CAPS LOCK SHOULD BE ON...."
  1058. 11610 PRINT:LINE INPUT;"HIT M (without SHIFT) AND ENTER   :";ANS$:IF ANS$="M" GOTO 11620 ELSE GOTO 10000
  1059. 11620 LOCATE 7,1:PRINT "YOU SHOULD READ THE MANUAL AND ALL THE DOCUMENTATION BEFORE FLYING.."
  1060. 11630 PRINT:PRINT "With a 8088 running at 4.77 MHz 747WORLD.EXE is satisfactory."
  1061. 11640 PRINT "With a Turbo or fastest CPU the rate of turn will be too fast,"
  1062. 11650 PRINT "but the 747WORLD.BAS may give good results. Adjust speed for a "
  1063. 11660 PRINT "compromise between a fast instrument panel update and a realistic"
  1064. 11670 PRINT "rate of turn...for example 360 degrees in about 2 to 3 minutes..."
  1065. 11680 PRINT "in the first rudder position...It is possible to add a delay in"
  1066. 11690 PRINT "the uptake portion of 747WORLD.BAS and compile again...."
  1067. 11700 PRINT:PRINT:PRINT "YOUR CHOICE:   1  CONTINUE    2  EXIT"
  1068. 11710 INPUT CHOICE:IF CHOICE=1 THEN GOTO 12400 ELSE END
  1069. 12000 ' DEPARTURE ROUTINE
  1070. 12010 IF F(7)=1 GOTO 12025 ELSE F(7)=1
  1071. 12020 F(2)=0
  1072. 12025 IF WH GOTO 12040 ELSE AIS=AIS+4
  1073. 12030 IF BR<>11 GOTO 12040 ELSE AIS=AIS+4
  1074. 12031 IF TR<>4 GOTO 12040
  1075. 12032 IF AIS>=360 THEN AIS=360
  1076. 12035 IF TR=4 AND AL=1900 GOTO 12036 ELSE GOTO 12090
  1077. 12036 LOCATE 22,1:PRINT SPACE$(80):GOTO 190
  1078. 12040 IF AL<1200 GOTO 12090
  1079. 12041 LOCATE OHH,1:PRINT SPACE$(80)
  1080. 12042 GOSUB 10615:LOCATE 12,1:PRINT "       *********FLIGHT ABORTED*********"
  1081. 12044 PRINT:PRINT
  1082. 12046 PRINT "YOU FAILED TO PERFORM CRUCIAL TRIM MANEUVERS FOLLOWING LIFTOFF,"
  1083. 12048 PRINT "THE PROPER TRIM SEQUENCE, WHICH MUST BE COMPLETED BELOW 1200"
  1084. 12049 PRINT "FEET, IS AS FOLLOWS:"
  1085. 12050 PRINT "      1 - RAISE LANDING GEAR"
  1086. 12052 PRINT "      2 - RETRACT FLAPS"
  1087. 12054 PRINT "      3 - REDUCE THRUST"
  1088. 12060 GOTO 12300
  1089. 12090 IF OHH<22 THEN GOSUB 10410
  1090. 12091 GOSUB 11130
  1091. 12092 GOSUB 11150
  1092. 12094 GOSUB 11170
  1093. 12099 GOTO 10310
  1094. 12200 KEY (9) ON:ON KEY (9) GOSUB 12230
  1095. 12210 LOCATE 15,17:PRINT "PRESS F9 FOR ACKNOLEDGMENT: "
  1096. 12220 FOR SEED=10 TO 100:NEXT:GOTO 12220
  1097. 12230 KEY (9) OFF:RETURN 12240
  1098. 12240 LOCATE 15,45:PRINT "ROGERS 312"
  1099. 12260 RN=RND(-SEED)
  1100. 12270 RS=1:IF RN<.5 THEN RS=-1 'RS WIND DRIFT DIRECTION TAKEOFF
  1101. 12275 GOTO 10275
  1102. 12300 PRINT:PRINT "YOUR CHOICE: 1 FOR MENU  2 FOR EXIT"
  1103. 12310 INPUT CHOICE:IF CHOICE=1 THEN GOTO 1 ELSE END
  1104. 12400 CLS:   'MENU
  1105. 12410 LOCATE 1,25:PRINT "MENU: AIRPORTS":PRINT
  1106. 12415 PRINT "ANCHORAGE, ALSK...28  BOSTON, MA..........2  BUFFALO, NY........ 8"
  1107. 12420 PRINT "CHICAGO, IL......  6  J F KENNEDY, NY.... 0  KANSAS CITY, MO.... 9"
  1108. 12430 PRINT "LAS VEGAS, NV.....15  LOS ANGELES, CA.... 4  NEW ORLEANS, LA....27"
  1109. 12431 PRINT "PHILADELPHIA, PA.. 1  PHILIPSBURG, PA.... 7  ST-PETERSBURG,LA...25"
  1110. 12440 PRINT "SAN DIEGO, CA..... 3  SAN FRANCISCO, CA..20  SEATTLE, WA........17"
  1111. 12450 PRINT "MONTREAL,QUE......42  VANCOUVER, BC......22"
  1112. 12460 PRINT
  1113. 12470 PRINT "BEIJING,CHINA.....29  BUENOS AIRES, ARG.30  CAIRO, EGYPT.......31"
  1114. 12471 PRINT "HONOLULU, HAW.....32  LIMA, PERU........33  MEXICO CITY, MEX...34"
  1115. 12472 PRINT "MOSCOW, USSR......35  NEW DELHI, INDIA..36  PARIS, FRANCE......37"
  1116. 12473 PRINT "SINGAPORE, MAL....38  SYDNEY, AUSTRAL...39  TANANARIVE,MALAG...40"
  1117. 12474 PRINT "TOKYO, JAPAN......41"
  1118. 12495 PRINT:PRINT      "TAKEOFF AND ILS PRACTICE:DEPART FROM PHILADELPHIA"
  1119. 12496 PRINT:PRINT "   LEVEL OFF AT 1900 FEET 120 KTS AND  DIAL 113.1 MZ"
  1120. 12500 PRINT "   RADIAL TO MARKER 75 DEG. RUNWAY HEADING 80 DEG."
  1121. 12510 PRINT:PRINT "MAKE YOUR CHOICE":INPUT CHOICE
  1122. 12520 VO(1)=VF(CHOICE):LL(1)=VP(CHOICE,0):GL(1)=VP(CHOICE,1) 'LL(1)=RCO(CHOICE,0) GL(1)=RCO(CHOICE,1) FOR AIRPORT LAT LONG
  1123. 12530 LS(1)=LL(1): GS(1)=GL(1)
  1124. 12540 DP(4)=FIX(LL(1)):DP(5)=60*(LL(1)-FIX(LL(1)))
  1125. 12550 DP(6)=FIX(GL(1)):DP(7)=60*(GL(1)-FIX(GL(1)))
  1126. 12560 CC=VG(CHOICE,1):RUNWAY=CC
  1127. 12570 PRINT:LINE INPUT;"RESET CLOCK AT 7:59 ? Y/N: ";ANS$:IF ANS$="Y" THEN TIME$="7:59"
  1128. 12580 GOTO 10022
  1129. 12590 END
  1130.