10 REM COMPU-FLIGHT FLIGHT PLAN FROM 2-85 + 6-85 COMANCHE FLYER 20 REM SEE END OF PROGRAM FOR INFO (LINES 1330-) 30 PRINT CHR$(27);CHR$(69) 40 REM 41 PRINT TAB(24) "COMUFLT AIRNAV PROGRAM" 42 PRINT 50 LINE INPUT "IS PRINTER AVAILABLE (Y/N) ? ", PR$ 60 IF PR$ = "Y" OR PR$ = "y" OR PR$ = "YES" OR PR$ = "yes" THEN 1280 70 REM 80 IF PR$= "N" OR PR$= "n" OR PR$= "NO" OR PR$= "no" THEN 100 90 REM 100 PRINT CHR$(27);CHR$(69) 110 PRINT TAB(24) "COMUFLT AIRNAV PROGRAM" 111 PRINT 120 PRINT "TO: FROM: DATE: TIME OFF:" 121 PRINT 130 INPUT "USABLE FUEL ON BOARD (GALS)? ",GT 140 INPUT "EXTRA FUEL BURN FOR TAXI, CLIMB, APPROACH (GALS)? ",GE 150 INPUT "CRUISE FUEL BURN (GPH)? ",GP 160 PRINT "(FUEL :";GT;"GALS USABLE LESS";GE;"EXTRA BURN,";GP;"GPH CRUISE)" 170 GT = GT-GE 180 FT = 60*GT/GP 190 REM FUEL TIME 200 REM MAIN LOOP 210 GOSUB 250: IF D=0 THEN 1050 220 GOSUB 960: IF TT=0 THEN 740 230 GOSUB 930: GOSUB 980: GOTO 200 240 IF TT=0 THEN 1270 250 REM INPUT DATA 260 LN=LN+1 270 DT=D+DT 280 TT=INT(TT+TI) 290 PRINT 300 PRINT "LEG"; LN; ":" 310 INPUT "DISTANCE (0 TO END) ?", D 320 IF D=0 THEN 1270 330 GOSUB 990 340 IF AQ THEN 350 ELSE 360 350 D=D/1.15 360 INPUT "COURSE ?", CO 370 IF CO>360 THEN 390 380 IF CO<1 THEN 390 ELSE 410 390 PRINT "WRONG !!" CHR$(7) 400 GOTO 360 410 LINE INPUT "TRUE OR MAGNETIC (T/M) ?",CS$ 420 IF CS$= "T" OR CS$= "t" OR CS$= "TRUE" OR CS$= "true" THEN 430 ELSE 450 430 TC=CO 440 GOTO 460 450 IF CS$<> "M" AND CS$<> "m" THEN 410 460 IF MD THEN 470 ELSE 490 470 LINE INPUT "SAME VARIATION (Y/N) ?", A$ 480 IF A$= "Y" OR A$= "y" OR A$= "YES" OR A$= "yes" THEN 500 490 INPUT "MAGNETIC VARIATION (+ OR -) ?", MD 500 IF CS$= "M" OR CS$="m" OR CS$= "MAG" OR CS$= "mag" THEN 510 ELSE 520 510 TC=CO-MD 520 IF TAS THEN 530 ELSE 550 530 LINE INPUT "SAME AIRSPEED (Y/N) ?", ZA$ 540 IF ZA$= "Y" OR ZA$= "y" OR ZA$= "YES" OR ZA$= "yes" THEN 590 550 INPUT "TRUE AIRSPEED ?", TAS 560 GOSUB 990 570 IF AQ THEN 580 ELSE 590 580 TAS = TAS/1.15 590 IF WS THEN 600 ELSE 620 600 LINE INPUT "SAME WINDS (Y/N) ?",ZA$ 610 IF ZA$= "Y" OR ZA$= "y" OR ZA$= "YES" OR ZA$= "yes" THEN 650 ELSE 620 620 INPUT "WIND DIRECTION ? ",WD 630 IF WD<0 OR WD>360 THEN 620 640 INPUT "WIND SPEED (NM) ? ",WS 650 WA=(WD+180) /57.29577900000003# 660 COURSE=TC/57.29577900000003# 670 WR=WA-COURSE 680 WX=SIN(WR)*WS 690 WY=COS(WR)*WS 700 TX=-WX/TAS 710 TH=(ATN(TX/SQR(TX*TX+1))*57.29577900000003#)+TC 720 GS=(ABS(COS((TH-TC)/57.29577900000003#))*TAS)+WY 730 TI=60*D/GS 740 REM 750 REM 760 PRINT "----------------------------------------------------------------" 770 PRINT "LEG";LN 780 PRINT "DISTANCE (NM)", INT (D) 790 PRINT "TRUE COURSE", TC 800 PRINT "MAG VAR", MD 810 PRINT "TAS",INT (TAS) 820 PRINT "WIND DIR", WD 830 PRINT "WIND SPEED ",WS 840 IF TH+MD >360 THEN 850 ELSE 870 850 TH=TH-360 860 GOTO 890 870 IF TH+MD <0 THEN 880 ELSE 890 880 TH=TH+360 890 PRINT "TRUE HEADING ",INT (TH) 900 PRINT "MAG HEADING", INT (TH+MD) 910 PRINT "GROUND SPEED", INT (GS) 920 PRINT "ETE (MINUTES)", INT (TI) 930 REM OUTPUT DATA 940 GOTO 250 950 RETURN 960 REM 970 RETURN 980 RETURN 990 REM NAUTICAL OR STATUTE 1000 AQ = 0 1010 LINE INPUT "STATUTE OR NAUTICAL (S/N) ? ", A$ 1020 IF A$ = "S" OR A$ = "s" THEN 1030 ELSE 1040 1030 AQ = 1 1040 RETURN 1050 GOSUB 960 1060 PRINT "________________________________________________________ " 1070 PRINT "TOTAL DISTANCE = "; INT (DT); "NAUTICAL MILES" 1080 PRINT "________________________________________________________ " 1090 PRINT "TOTAL TIME = "; TT; "MIN (";INT(TT/60);"HR";TT MOD 60;"MIN)" 1100 PRINT "________________________________________________________ " 1110 PRINT "TOTAL FUEL BURN = ";INT(GP*TT/60)+INT(GE); "GALLONS" 1120 PRINT "________________________________________________________ " 1130 IF (FT-TT >0) THEN 1140 ELSE 1180 1140 PRINT "FUEL RESERVE = "; INT((FT-TT)/60); "HR";INT(FT-TT-60*INT((FT-TT)/60)); "MIN" 1150 PRINT "===============================================================" 1160 PRINT "REMEMBER TO CLOSE YOUR FLIGHT PLAN !!!!!!!!!!!!! " 1170 PRINT "===============================================================" 1180 IF (FT-TT<45) THEN 1190 ELSE 1220 1190 PRINT "===============================================================" 1200 PRINT "WARNING ! LESS THAN IFR RESERVES !! " 1210 PRINT "===============================================================" 1220 IF (FT-TT<0) THEN 1230 ELSE 1260 1230 PRINT "===============================================================" 1240 PRINT "NOT ENOUGH FUEL FOR FLIGHT BY "; INT(TT-FT); "MINUTES" 1250 PRINT "===============================================================" 1260 PRINT : END 1270 GOSUB 1050: PRINT :END 1280 REM PRINTER ROUTINE 1290 REM 1300 PRINT 1310 PRINT "Please align paper and make printer ready, then press ";:LINE INPUT X$ 1311 PRINT CHR$(27); CHR$(69) 1318 LPRINT TAB(24) "COMUFLT AIRNAV PROGRAM" 1319 PRINT TAB(24) "COMUFLT AIRNAV PROGRAM" 1320 LPRINT 1321 LPRINT "TO: FROM: DATE: TIME OFF:" 1322 LPRINT 1323 PRINT 1330 INPUT "USABLE FUEL ON BOARD (GALS)? ",GT 1340 INPUT "EXTRA FUEL BURN FOR TAXI, CLIMB, APPROACH (GALS)? ",GE 1350 INPUT "CRUISE FUEL BURN (GPH)? ",GP 1360 LPRINT "(FUEL :";GT;"GALS USABLE LESS";GE;"EXTRA BURN,";GP;"GPH CRUISE)" 1361 PRINT "(FUEL :";GT;"GALS USABLE LESS";GE;"EXTRA BURN,";GP;"GPH CRUISE)" 1370 GT = GT-GE 1380 FT = 60*GT/GP 1390 REM FUEL TIME 1400 REM MAIN LOOP 1410 GOSUB 1450: IF D=0 THEN 2250 1420 GOSUB 2160: IF TT=0 THEN 1940 1430 GOSUB 2130: GOSUB 2180: GOTO 1400 1440 IF TT=0 THEN 2470 1450 REM INPUT DATA 1460 LN=LN+1 1470 DT=D+DT 1480 TT=INT(TT+TI) 1490 PRINT 1500 PRINT "LEG"; LN; ":" 1510 INPUT "DISTANCE (0 TO END) ?", D 1520 IF D=0 THEN 2470 1530 GOSUB 2190 1540 IF AQ THEN 1550 ELSE 1560 1550 D=D/1.15 1560 INPUT "COURSE ?", CO 1570 IF CO>360 THEN 1590 1580 IF CO<1 THEN 1590 ELSE 1610 1590 PRINT "WRONG !!" CHR$(7) 1600 GOTO 1560 1610 LINE INPUT "TRUE OR MAGNETIC (T/M) ?",CS$ 1620 IF CS$= "T" OR CS$= "t" OR CS$= "TRUE" OR CS$= "true" THEN 1630 ELSE 1650 1630 TC=CO 1640 GOTO 1660 1650 IF CS$<> "M" AND CS$<> "m" THEN 1610 1660 IF MD THEN 1670 ELSE 1690 1670 LINE INPUT "SAME VARIATION (Y/N) ?", A$ 1680 IF A$= "Y" OR A$= "y" OR A$= "YES" OR A$= "yes" THEN 1700 1690 INPUT "MAGNETIC VARIATION (+ OR -) ?", MD 1700 IF CS$= "M" OR CS$="m" OR CS$= "MAG" OR CS$= "mag" THEN 1710 ELSE 1720 1710 TC=CO-MD 1720 IF TAS THEN 1730 ELSE 1750 1730 LINE INPUT "SAME AIRSPEED (Y/N) ?", ZA$ 1740 IF ZA$= "Y" OR ZA$= "y" OR ZA$= "YES" OR ZA$= "yes" THEN 1790 1750 INPUT "TRUE AIRSPEED ?", TAS 1760 GOSUB 2190 1770 IF AQ THEN 1780 ELSE 1790 1780 TAS = TAS/1.15 1790 IF WS THEN 1800 ELSE 1820 1800 LINE INPUT "SAME WINDS (Y/N) ?",ZA$ 1810 IF ZA$= "Y" OR ZA$= "y" OR ZA$= "YES" OR ZA$= "yes" THEN 1850 ELSE 1820 1820 INPUT "WIND DIRECTION ? ",WD 1830 IF WD<0 OR WD>360 THEN 1820 1840 INPUT "WIND SPEED (NM) ? ",WS 1850 WA=(WD+180) /57.29577900000003# 1860 COURSE=TC/57.29577900000003# 1870 WR=WA-COURSE 1880 WX=SIN(WR)*WS 1890 WY=COS(WR)*WS 1900 TX=-WX/TAS 1910 TH=(ATN(TX/SQR(TX*TX+1))*57.29577900000003#)+TC 1920 GS=(ABS(COS((TH-TC)/57.29577900000003#))*TAS)+WY 1930 TI=60*D/GS 1940 REM PROGRAM PRINTER 1950 LPRINT 1960 LPRINT "----------------------------------------------------------------" 1961 PRINT "----------------------------------------------------------------" 1970 LPRINT "LEG";LN,,"TO _______________________________________" 1971 PRINT "LEG";LN 1980 LPRINT "DISTANCE (NM)", INT (D),"TO (VOR) (NDB) __________ FREQ ________" 1981 PRINT "DISTANCE (NM)", INT (D) 1990 LPRINT "TRUE COURSE", TC, "FREQ: ATIS ___________________" 1991 PRINT "TRUE COURSE", TC 2000 LPRINT "MAG VAR", MD, " DEP_________________" 2001 PRINT "MAG VAR", MD 2010 LPRINT "TAS",INT (TAS), " APC _________________" 2011 PRINT "TAS",INT (TAS) 2020 LPRINT "WIND DIR", WD, " TOWER _______________" 2021 PRINT "WIND DIR", WD 2030 LPRINT "WIND SPEED ",WS, " GROUND _________________" 2031 PRINT "WIND SPEED ",WS 2040 IF TH+MD >360 THEN 2050 ELSE 2070 2050 TH=TH-360 2060 GOTO 2090 2070 IF TH+MD <0 THEN 2080 ELSE 2090 2080 TH=TH+360 2090 LPRINT "TRUE HEADING ",INT (TH), " UNICOM ___________________" 2091 PRINT "TRUE HEADING ",INT (TH) 2100 LPRINT "MAG HEADING", INT (TH+MD), "TPA ____________ MSL ___________ AGL" 2101 PRINT "MAG HEADING", INT (TH+MD) 2110 LPRINT "GROUND SPEED", INT (GS), "TIME OF ARRIVAL ____________________ " 2111 PRINT "GROUND SPEED", INT (GS) 2120 LPRINT "ETE (MINUTES)", INT (TI), "TIME OFF __________________________ " 2121 PRINT "ETE (MINUTES)", INT (TI) 2130 REM OUTPUT DATA 2140 GOTO 1450 2150 RETURN 2160 REM PRINTER 2170 RETURN 2180 RETURN 2190 REM NAUTICAL OR STATUTE 2200 AQ = 0 2210 LINE INPUT "STATUTE OR NAUTICAL (S/N) ? ", A$ 2220 IF A$ = "S" OR A$ = "s" THEN 2230 ELSE 2240 2230 AQ = 1 2240 RETURN 2250 GOSUB 2160 2260 LPRINT "________________________________________________________ " 2261 PRINT "________________________________________________________ " 2270 LPRINT "TOTAL DISTANCE = "; INT (DT); "NAUTICAL MILES" 2271 PRINT "TOTAL DISTANCE = "; INT (DT); "NAUTICAL MILES" 2280 LPRINT "________________________________________________________ " 2281 PRINT "________________________________________________________ " 2290 LPRINT "TOTAL TIME = "; TT; "MIN (";INT(TT/60);"HR";TT MOD 60;"MIN)" 2291 PRINT "TOTAL TIME = "; TT; "MIN (";INT(TT/60);"HR";TT MOD 60;"MIN)" 2300 LPRINT "________________________________________________________ " 2301 PRINT "________________________________________________________ " 2310 LPRINT "TOTAL FUEL BURN = ";INT(GP*TT/60)+INT(GE); "GALLONS" 2311 PRINT "TOTAL FUEL BURN = ";INT(GP*TT/60)+INT(GE); "GALLONS" 2320 LPRINT "________________________________________________________ " 2321 PRINT "________________________________________________________ " 2330 IF (FT-TT >0) THEN 2340 ELSE 2380 2340 LPRINT "FUEL RESERVE = "; INT((FT-TT)/60); "HR";INT(FT-TT-60*INT((FT-TT)/60)); "MIN" 2341 PRINT "FUEL RESERVE = "; INT((FT-TT)/60); "HR";INT(FT-TT-60*INT((FT-TT)/60)); "MIN" 2350 LPRINT "===============================================================" 2351 PRINT "===============================================================" 2360 LPRINT "REMEMBER TO CLOSE YOUR FLIGHT PLAN !!!!!!!!!!!!! " 2361 PRINT "REMEMBER TO CLOSE YOUR FLIGHT PLAN !!!!!!!!!!!!! " 2370 LPRINT "===============================================================" 2371 PRINT "===============================================================" 2380 IF (FT-TT<45) THEN 2390 ELSE 2420 2390 LPRINT "===============================================================" 2391 PRINT "===============================================================" 2400 LPRINT "WARNING ! LESS THAN IFR RESERVES !! " 2401 PRINT "WARNING ! LESS THAN IFR RESERVES !! " 2410 LPRINT "===============================================================" 2411 PRINT "===============================================================" 2420 IF (FT-TT<0) THEN 2430 ELSE 2460 2430 LPRINT "===============================================================" 2431 PRINT "===============================================================" 2440 LPRINT "NOT ENOUGH FUEL FOR FLIGHT BY "; INT(TT-FT); "MINUTES" 2441 PRINT "NOT ENOUGH FUEL FOR FLIGHT BY "; INT(TT-FT); "MINUTES" 2450 LPRINT "===============================================================" 2451 PRINT "===============================================================" 2460 LPRINT CHR$(12); CHR$(192):END 'RESET PRINTER 2470 GOSUB 2250 : LPRINT :END 2480 REM ERROR ROUTINE 2490 REM 2500 REM 2510 ON ERROR GOTO 0 2520 REM COPYRIGHT 1985 BY ANGELO A. SGROI ICS#5619 2530 REM FOR PROBLEMS OR QUESTIONS CALL (314) 921-1200. 2540 REM THIS PROGRAM WAS DESIGNED FOR A TI-99/4A HOME COMPUTER 2550 REM YOUR PRINTER MAY REQUIRE DIFFERENT PROGRAMMING. 2560 REM SEND SUGGESTED MODIFICATIONS TO 2570 REM 110 ALBERT DRIVE 2580 REM FLORISSANT, MISSOURI 63031 2590 REM THIS PROGRAM WAS MODIFIED FOR AN IBM/PC 2600 REM BY BILL GODDARD, ICS #1069, (813) 635-3381. 2610 REM 815 N. LAKE REEDY BLVD., FROSTPROOF, FL 33843 2620 REM THIS PROGRAM WAS MODIFIED FOR AN CP/M-80 SYSTEM 2630 REM USING AN H/Z-19 TERMINAL ON 3/12/87.