0 REM FLITE7.BA - 10/9/89 - Ver 2.00 10 CLS:MAXFILES=2:CLEAR3000:RV$=CHR$(27)+"p":NV$=CHR$(27)+"q":PRINT@134,RV$;"Initializing";NV$:DIMS$(6),S(6):MN$=CHR$(13)+CHR$(27):ES$=" to Quit, to Continue":PI=4*ATN(1):DR=PI/180:RD=180/PI:ER$=SPACE$(38) 20 LA$="Lat Deg Min Var":LG$="Long Deg Min -E+W":ID$=CHR$(8)+CHR$(13)+CHR$(30)+CHR$(31):DG$=CHR$(166):T$="True":C$="Course " 40 NG$="Navigation":PT$="Point":IT$="Ident":FR$="From: ":T2$="To: ":PS$="Please Standby...":FN$="NAVAID" 50 FORZ=1TO5:READS$(Z):NEXT 60 FORZ=1TO5:READS(Z):NEXT 61 GOTO1740 70 MAXFILES=0:RUN"FLIGHT.BA" 1740 CLS:PRINT@15,NG$:PRINT@80,T$" Airspeed ";AT:PRINT@160,"Groundspeed ";GS:PRINT@93,"";:INPUTAT:PRINT@171,"";:INPUTGS:IFGS=0THENGS=AT 1750 CLS:PRINT@15,NG$:PRINT@160,ER$:GOSUB2530 1760 ONS3GOTO1780,1860,2200,1860,1860 1770 GOTO1750 1780 CLS:PRINT@7,PT$" to "PT$" "NG$:PRINT@80,FR$;LA$:PRINT@127,LG$:PRINT@200,T2$LA$:PRINT@247,LG$ 1790 PRINT@96,D1:PRINT@105,M1:PRINT@115,V1:PRINT@136,D2:PRINT@145,M2:PRINT@216,D3:PRINT@225,M3:PRINT@235,V2:PRINT@256,D4:PRINT@265,M4 1800 PRINT@95,"";:INPUTD1:PRINT@104,"";:INPUTM1:PRINT@114,"";:INPUTV1:PRINT@135,"";:INPUTD2:PRINT@144,"";:INPUTM2:PRINT@215,"";:INPUTD3:PRINT@224,"";:INPUTM3:PRINT@234,"";:INPUTV2:PRINT@255,"";:INPUTD4:PRINT@264,"";:INPUTM4 1810 GOSUB2660 1820 CLS:PRINT@7,PT$" to "PT$" "NG$:PRINT@80,"From: Lat";D1;DG$;M1;"'": PRINT@100,"Long";D2;DG$;M2;"'" 1830 PRINT"To: Lat";D3;DG$;M3;"'": PRINT@140,"Long";D4;DG$;M4;"'": GOSUB 2480 1840 GOSUB2740:ONINSTR(MN$,IK$)GOTO1780,1750 1850 GOTO1840 1860 CLS:PRINT@163,RV$;"Reading "FN$" "PS$NV$:GOSUB2610 1870 ZD=0:ZZ=0:ZM=0:GZ=0:ZT=0 1880 PRINT@160,ER$:ONS3GOTO1780,1890,2200,2000,2110 1890 CLS:PRINT@7,PT$" to "IT$" "NG$:PRINT@80,FR$LA$:PRINT@127,LG$:PRINT@200,T2$I2$ 1900 PRINT@96,D1:PRINT@105,M1:PRINT@115,V1:PRINT@136,D2:PRINT@145,M2 1910 PRINT@95,"";:INPUTD1:PRINT@104,"";:INPUTM1:PRINT@114."";:INPUTV1 1920 PRINT@135,"";:INPUTD2:PRINT@144,"";:INPUTM2 1930 PRINT@205,"";:IP=205:GOSUB2220 1940 IFI$=""THENI$=I2$:GOTO1950ELSEI2$=I$ 1950 GOSUB2360:D3=D5:M3=M5:D4=D6:M4=M6 1960 GOSUB2660 1970 CLS:PRINT@7,PT$" to "IT$" "NG$:PRINT@80,"From: Lat";D1;DG$;M1;"'";TAB(20);"Long";D2;DG$;M2;"'": PRINT T2$I$: GOSUB 2480 1980 GOSUB2740:ONINSTR(MN$,IK$)GOTO1890,1750 1990 GOTO1980 2000 CLS:PRINT@7,IT$" to "IT$" "NG$:PRINT@80,FR$I1$:PRINT@160,T2$I2$ 2010 PRINT@87,"";:IP=87:GOSUB2220:IFI$="XXXX"THENI$=IX$ 2020 IFI$=""THENI$=I1$ELSEI1$=I$ 2030 GOSUB2360:D1=D5:M1=M5:D2=D6:M2=M6:V1=V5 2040 PRINT@167,"";:IP=167:GOSUB2220:IFI$="XXXX"THENI$=IX$ 2050 IFI$=""THENI$=I2$ELSEI2$=I$ 2060 GOSUB2360:D3=D5:M3=M5:D4=D6:M4=M6:V2=V5 2070 GOSUB2660 2080 CLS:PRINT@7,IT$" to "IT$" "NG$:PRINT@80,FR$I1$:PRINT@160,T2$;I2$:GOSUB2480 2090 GOSUB2740:ONINSTR(MN$,IK$)GOTO2000,1750 2100 GOTO2090 2110 CLS:PRINT@7,IT$" to "PT$" "NG$:PRINT@80,FR$I1$:PRINT@160,T2$LA$:PRINT@207,LG$ 2120 PRINT@176,D3:PRINT@185,M3:PRINT@216,D4:PRINT@225,M4 2130 PRINT@87,"":IP=87:GOSUB2220:IFI$=""THENI$=I1$ELSEI1$=I$ 2140 GOSUB2360:D1=D5:M1=M5:V1=V5:D2=D6:M2=M6 2150 PRINT@175,"";:INPUTD3:PRINT@184,"";:INPUTM3:PRINT@194,"";:INPUTV2:PRINT@215,"";:INPUTD4:PRINT@224,"";:INPUTM4 2160 GOSUB2660 2170 CLS:PRINT@7,IT$" to "PT$" "NG$:PRINT@80,FR$I$:PRINT"To: Lat";D3;DG$;M3;"'";TAB(20);"Long"; D4;DG$; M4;"'": GOSUB 2480 2180 GOSUB2740:ONINSTR(MN$,IK$)GOTO2110,1750 2190 GOTO2180 2200 CLS:PRINT" Time & Distance to Radio Transmitter":PRINT:PRINT"Time between bearings (secs)":PRINT"Bearing change (degrees)":PRINT"Groundspeed (or TAS) "; 2201 IFGS<>0THENPRINTGSELSEPRINTAT 2202 PRINT@108,"";:INPUTTB:PRINT@144,"";:INPUTBC:PRINT@180,"";:INPUTGS 2203 MF=TB/BC:NF=(GS*(TB/60))/BC:MF=INT(MF+.5):NF=INT(NF+.5):PRINT@80,SPACE$(120):PRINT@80,"Minutes to Transmitter";MF:PRINT@160,"Miles to Transmitter";NF 2204 PRINT@283,ES$;:GOSUB2740:ONINSTR(MN$,IK$)GOTO2200,1750 2220 N=0:I$="":NP=IP+35 2230 PRINT@IP,"";:CALL16969 2240 GOSUB2740:ONINSTR(ID$,IK$)GOTO2280,2310,2340,2320 2250 IK=ASC(IK$):IFIK<48THEN2240ELSEIFIK>57ANDIK<65THEN2240ELSEIFIK>90ANDIK<97THEN2240ELSEIFIK>122THEN2240 2260 IFIK>96THENIK$=CHR$(ASC(IK$)-32) 2270 PRINT@IP,IK$:I$=I$+IK$:IP=IP+1:IFLEN(I$)>=4THEN2310ELSE2230 2280 IFI$=""THENBEEP:GOTO2240 2290 I$=LEFT$(I$,LEN(I$)-1):IP=IP-1 2300 PRINT@NP,ER$;:PRINT@205," ";:PRINT@205,I$:GOTO2230 2310 CALL16974:RETURN 2320 N=N+1:IFN>NNTHENN=1 2330 IP=NP-35:PRINT@IP," ":PRINT@IP,A$(N):PRINT@NP,ER$;:PRINT@NP,B$(N);:I$=A$(N):IX$=B$(N):GOTO2230 2340 N=N-1:IFN<1THENN=NN 2350 IP=NP-35:PRINT@IP," ":PRINT@IP,A$(N):PRINT@NP,ER$;:PRINT@NP,B$(N):I$=A$(N):IX$=B$(N):GOTO2230 2360 PRINT@282,"Reading "FN$" "PS$;:OPENFN$FORINPUTAS1 2370 IFEOF(1)THEN2400ELSEINPUT#1,A$,B$,P,O,I:IFLEN(I$)>4THENIFB$=I$THEN2390ELSE2370 2380 IFA$=I$THEN2390ELSE2370 2390 D5=INT(P):M5=INT(100*(P-D5)):D6=INT(O):M6=INT(100*(O-D6)):V5=I:CLOSE:RETURN 2400 CLOSE:CLS:OPENFN$FORAPPENDAS1:PRINTIT$" ";I$;" not recognized.":PRINTLA$:PRINTLG$:PRINT"Name" 2410 PRINT@48,"";:INPUTD3:PRINT@57,"";:INPUTM3:PRINT@67,"";:INPUTV2 2420 PRINT@88,"";:INPUTD4:PRINT@97,"";:INPUTM4:PRINT@124,"";:INPUTN$ 2430 P$=RIGHT$(STR$(D3),LEN(STR$(D3))-1)+".":M3$=RIGHT$(STR$(M3),LEN(STR$(M3))-1):IFLEN(M3$)<2THENM3$="0"+M3$ 2440 P$=P$+M3$:O$=RIGHT$(STR$(D4),LEN(STR$(D4))-1)+".":M4$=RIGHT$(STR$(M4),LEN(STR$(M4))-1):IFLEN(M4$)<2THENM4$="0"+M4$ 2450 O$=O$+M4$ 2460 IFV2<0THENV$=STR$(V2)ELSEV$=RIGHT$(STR$(V2),LEN(STR$(V2))-1) 2470 PRINT#1,I$;",";N$;",";P$;",";O$;",";V$:CLOSE:NN=NN+1:A$(NN)=I$:B$(NN)=N$:RETURN 2480 PRINT@200,T$" "C$" =";TC;DG$;TAB(20);"Mag "C$;MC;DG$:PRINT"Dist. =";D;"n.m.";TAB(20);"Time =";TT;":";TM:PRINT@283,ES$;:RETURN 2530 FORZ=1TO5:PRINT@S(Z),S$(Z):NEXTZ:S3=1:PRINT@283,ES$; 2540 PRINT@S(S3),RV$;S$(S3);NV$ 2550 GOSUB2740:ONINSTR(MN$,IK$)GOTO2600,70 2560 IK=ASC(IK$)-29:IFIK<0THEN2550ELSEONIKGOTO2580,2590 2570 GOTO2550 2580 PRINT@S(S3),S$(S3):S3=S3-1:IFS3<1THENS3=5:GOTO2540ELSE2540 2590 PRINT@S(S3),S$(S3):S3=S3+1:IFS3>5THENS3=1:GOTO2540ELSE2540 2600 RETURN 2610 N=0:OPENFN$FORINPUTAS1 2620 LINEINPUT#1,AA$:N=N+1:IFEOF(1)THEN2630ELSE2620 2630 IFDA<>0THEN2650ELSEDIMA$(N+10),B$(N+10):DA=1:CLOSE:CC$="":NN=0:OPENFN$FORINPUTAS1 2640 INPUT#1,A$,B$,P,O,I:NN=NN+1:A$(NN)=A$:B$(NN)=B$:IFEOF(1)THEN2650ELSE2640 2650 CLOSE:RETURN 2660 CLS:PRINT@131,PS$:A1=D1+M1/60:O1=D2+M2/60:A2=D3+M3/60:O2=D4+M4/60:K=0 2670 S1=60.1*(COS(A1*DR))*(ABS(O1-O2)):S2=60.1*(ABS(A1-A2)):D=INT(SQR((S1^2)+(S2^2))) 2680 IFS1=0THENS1=1E-50 2690 TC=RD*(ATN(S2/S1)) 2700 IFO1>=O2THENTC=90+(TC*(SGN(A1-A2))) 2710 IFO1360THENMC=MC-360ELSEIFMC<0THENMC=MC+360 2730 TC=INT(TC):TI=D/GS:ZD=ZD+D:ZT=ZT+TI:TT=INT(TI):TM=INT((TI-TT)*60):ZZ=INT(ZT):ZM=INT((ZT-ZZ)*60):GB=GR*TI:GZ=ZT*GR:RETURN 2740 IK$=INKEY$:IFIK$=""THEN2740 2750 RETURN 2820 DATA"Point->Point","Point->Ident","->Radio Beacon","Ident->Ident","Ident->Point" 2880 DATA80,120,160,100,140