U10 REM WRITTEN BY CURTIS W. TOOLEY KA9FFB 20 REM 3-27-81 H-89 (C) 25 REM FOR MICROSOFT BASIC 30 PRINT CHR$(27);"E" 40 CLEAR1000 50 PRINT:PRINT:PRINT:PRINT 55 ZX=0:LP=0 60 T5=30500:C1$="SATELLITE IS WITHIN 10^ LONG." 70 PRINTTAB(10); "THIS PROGRAM WILL HELP THE RADIO AMATEUR TRACK THE " 80 PRINTTAB(10);"AMATEUR SATELLITES WHICH ORBIT IN POLAR ORBITS." 90 PRINTTAB(10); " THE GRAPHICS DISPLAY WILL SHOW THE OPERATOR THE APPROX." 100 PRINTTAB(10); "POSITION OF THE SATELLITE AND THE TIME OF AOS AND LOS," 110 PRINTTAB(10); "AS WELL AS THE TIME OF DAY (GMT)." 120 PRINTTAB(10); " TO SET THE TIME WITH WWV ENTER ALL DATA WHEN ASKED THEN HIT" 130 PRINTTAB(10); "[RETURN],ON THE MINUTE, WHEN YOU ARE INPUTTING THE PRECESSION." 135 PRINTTAB(10)"IN THE FAST MODE ALL OUTPUT GOES TO A PRINTER. 140 A$=INPUT$(1):PRINTCHR$(27)+"E":PRINTTAB(20)" INPUT ORBITAL REFERENCE DATA." 150 X1=0 160 GOSUB 750 170 DEF FN C$(C1,C2)=Y$+CHR$(C1+31)+CHR$(C2+31) 180 PRINT:PRINTTAB(5)"DO YOU WISH FAST OR SLOW SCAN OF SATELLITE TRACK? (F/S) " 190 PRINT:PRINT"ENTER YOUR LATITUDE. (DD,MM) ",:PRINT"ENTER YOUR LONGITUDE. (DD,MM) " 200 PRINT:PRINT"ENTER THE TIME (GMT) HOURS? ",:PRINT" MINUTES? " 210 PRINT:PRINT"NAME OF SATELLITE BEING TRACKED? ",,:PRINT"REFRENCE ORBIT? " 220 PRINT:PRINT"REFRENCE ORBIT TIME? (IN DECIMAL NOT BASE 60) " 230 PRINT:PRINT"REFRENCE ORBIT LONGITUDE. ",,:PRINT"PERIOD OF SATELLITE (DECIMAL) " 240 PRINT:PRINT"PRECESSION OF THE SATELLITE. " 250 PRINTU$;Y5$;X4$ 260 PRINTFNC$(4,61);:LINEINPUT" ";T$ 270 IFT$="F"ORT$="f"THENT5=120:LP=1 280 PRINTFNC$(6,30);:INPUT"";L2:PRINTFNC$(6,73);:INPUT"";L3 290 PRINTFNC$(8,27);:INPUT"";T:PRINTFNC$(8,51);:INPUT"";S 300 PRINTFNC$(10,34);:LINEINPUT"";N$:PRINTFNC$(10,71);:INPUT"";R2 310 PRINTFNC$(12,47);:INPUT"";R:PRINTFNC$(14,27);:INPUT"";M 320 PRINTFNC$(14,72);:INPUT"";P0:PRINTFNC$(16,30);:INPUT"";D 340 D1$="":FORJ=8383TO8391:D1$=D1$+CHR$(PEEK(J)):NEXTJ 345 IFLP=1THENINPUT"# OF HOURS TO RUN ";HR:OPEN"O",1,"LP:":GOTO370 350 PRINTFNC$(18,20):INPUT"PUSH RETURN 3 SECONDS BEFORE MINUTE TO START SCAN ON TIME.";G 360 PRINTX5$ 370 Q=360/(P0*60):IFQ>20THENGOTO1420 380 IFLP=0THENPRINTE1$ 390 IFLP=0THENPRINT E$+"H" 400 IF T=24THEN 1240 410 IF S=60THEN T=T+1:S=0 420 G=T+(S/60) 430 IFLP=0THENPRINT E$+"p"TAB(15);D1$, 440 IFLP=0THENPRINT TAB(35)"TIME(GMT) IS ";T;":";S;" ";Q$ 450 Z=(G-R)/P0 460 O=Z+R2 470 L4=(O-INT(O))*360 480 IFLP=0THENPRINT TAB(20)"SATELLITE BEING TRACKED IS "E$+"p";N$;E$+"q" 490 IFLP=0THENPRINT "REFERENCE ORBIT# ";R2, 500 IFLP=0THENPRINT TAB(50)"OPERATOR LONGITUDE IS ";L3;"^" 510 IFLP=0THENPRINT "DEGREES OF ORBIT COMPLETED ";L4, 520 IFLP=0THENPRINT TAB(50)"OPERATOR LATITUDE IS ";L2;"^" 530 IF S>=60THEN T=T+1 540 V=Z*D+M:IF V>=360THEN V=V-360 550 IFV<0THENV=V+360 560 IF L4>=360THEN L4=L4-360 570 IF V>360THEN V=V-360 580 IF V>360THEN 570 590 IF L4<=Q THEN Z=Z+1 600 IFLP=0THENPRINT TAB(25)"VELOCITY OF ";N$;" IS ";Q;" DEGS./MIN." 610 IFLP=0THENPRINT TAB(25)"ORBIT # IS ";INT(O) 620 IF L4>90THEN F=V+180:C$="DESCENDING NODE" 630 IF L4<270THEN F=V+180:C$="DESCENDING NODE" 635 IFLP=1ANDC$="DESCENDING NODE"THENC$="A" 640 IF F>=360THEN F=F-360 650 IF L4>270THEN F=V:C$="ASCENDING NODE " 660 IF L4<90THEN F=V:C$="ASCENDING NODE " 665 IFLP=1ANDC$="ASCENDING NODE "THENC$=CHR$(64) 670 IFLP=0THENPRINT "LONG. OF ";N$;" IS";F;"DEGS. WEST OF MERIDIAN. " 680 IFLP=0THENPRINT E$+"q" 690 IF F>L3THEN V1=F-L3 700 IF L3>F THEN V1=L3-F 710 IFLP=0THENIFV1>10THENPRINTTAB(20)" ", 720 IFLP=0THENIF V1<=10THEN PRINT TAB(20)E$+"p";C1$; 730 IFLP=0THENPRINT E$+"q" 740 IFLP=0THENGOTO 780ELSE GOSUB30000 745 IFLP=1THENGOTO390 750 E$=CHR$(27):E1$=E$+"E":G$=E$+"F":R$=E$+"p":X1$=E$+"x1":U$=E$+"G":Q$=E$+"q" 760 Y5$=E$+"y5":X4$=E$+"x4":Y4$=E$+"y4":X5$=E$+"x5":Y1$=E$+"y1":Y$=E$+"Y" 770 RETURN 780 PRINT G$ 790 PRINT" 140 130 120 110 100 90 80 70 60 50 40 30 20 10 00" 800 C1=13:C2=1 810 PRINT "50aasaaaasaaaasaaaasaaaasaaaasaaaasaaaasaaaasaaaasaaaasaaaasaaaasaaaasaaaaq" 820 PRINT" ` ii`iiii`iiii`iiii`iiii`iiii`iiii`ii ` ` ` ` ` ` `" 830 PRINT "40aabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaaq" 840 PRINT" ` ii`iiii`iUii`iSii`iAii`iiii`iii ` ` ` ` ` ` ` `" 850 PRINT "30aabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaaq" 860 PRINT" ` ` ` ` ii`i ` ii` ` ` ` ` ` ` ` `" 870 PRINT "20aabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaaq" 880 PRINT " ` ` ` ` ` ` ` ` ` ` ` ` ` ` `" 890 PRINT "10aabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaabaaaaq" 900 PRINT " ` ` ` ` ` ` ` ` ` ` ` ` ` ` `" 910 PRINT"00aauaaaauaaaauaaaauaaaauaaaauaaaauaaaauaaaauaaaauaaaauaaaauaaaauaaaauaaaaq"; 920 PRINTX1$;:PRINTFNC$(25,1)" ii = U. S. A. w = OPERATOR [ KA9FFB ] ^ = SATTELITE" 930 GOSUB 1010 940 PRINT U$ 950 GOSUB 1300 960 X1=1:FORG1=1TOT5:NEXT:REM MAIN TIMING LOOP. 1 MINUTE INTERVAL 970 S=S+1 980 PRINT E$+"H" 990 C5=C1 1000 GOTO 390 1010 ' 1020 C2=75-(L3/2) 1030 C1=24-(L2/4.6) 1040 IF C1>24THEN 1200 1050 PRINT FN C$(C1,C2);"w" 1060 C1=0:C2=0 1070 C2=75-(F/2) 1080 IF L4<=90THEN I1=L4 1090 IF L4>=91THEN I=L4-90 1100 IF L4>90THEN I1=90-I 1110 C1=24-(I1/4.69) 1120 IFX1=0THENC$="" 1130 IFC1<=12THEN1210 1140 IF C1=24THEN C1=23 1150 IF C1>24THEN 1210 1160 IF C2<1OR C2>80THEN 1210 1170 PRINT FN C$(C1,C2);"^" 1180 C1=11:C2=30 1190 PRINT FN C$(C1,C2);" ",C$; 1200 RETURN 1210 C1=11:C2=30 1220 PRINT FN C$(C1,C2);"^ IS OFF PLOT ",C$; 1230 GOTO 1200 1240 PRINT E$+"E" 1250 PRINT FN C$(12,10)"YOU HAVE REACHED THE END OF THE ORBITAL DAY. RESTART THE PROGRAM" 1260 PRINT TAB(10)"USING UPDATED REFERENCE ORBIT DATA. AFTER 2400HRS.END TRACKING" 1270 PRINT TAB(10)"ERROR BECOMES TO LARGE.--------------------------------------" 1280 FORG=1TO3000:NEXT 1290 PRINTU$:PRINTE$+"z":END 1300 FOR H8=1TO2:PRINT FN C$(1,1);CHR$(7); 1310 NEXT H8 1320 RETURN 30000 ' LP: ROUTINE 30005 IFZX=1THENGOTO30055 30006 HR=HR*60 30010 PRINT#1,TAB(10)"SATTELITE TRACKING DATA FOR: ";D1$;" SATELLITE :";N$:ZX=1 30020 PRINT#1,"REFRENCE ORBIT #: ";R2;TAB(50);"OPERATOR LONG.: ";L3;"^" 30025 PRINT#1,;"VELOCITY OF ";N$;" IS ";Q;" DEGS./MIN."; 30030 PRINT#1,;TAB(50)"OPERATOR LAT.: ";L2;"^" 30035 PRINT#1, 30050 PRINT#1,CHR$(27)+"X";"TIME";TAB(10);"ORBIT #";TAB(20)"WEST OF MERIDIAN";TAB(45)"DEGS. COMPLETED";TAB(65)"NODE ";CHR$(27)+"Y" 30055 IFV1<=10THENC$=C$+"J" 30060 PRINT#1,T":"S;TAB(10);INT(O);TAB(20);F;TAB(45);L4;TAB(66);CHR$(27)+"&";C$;CHR$(27)+"$" 30065 S=S+1:H=H+1:IFH=HR+1THENPRINT#1,TAB(20);(HR/60);" HOURS COMPUTED FOR ";N$:END 30070 RETURN