1 REM EME PROGRAM GM4JJJ & K7RR TRS80/100 BASIC VERSION. DATE 15 MAY 96 500 REM VERSION Y2K FIXED 1999 MAR 02 560 P5=2*3.141592653589# 570 D5=360/P5 580 R5=P5/360 586 REM CHANGE NEXT 2 LINES TO YOUR CALL & LOCATION 587 W$="N7RR" 588 L6=120:U6=50:L5=35:U5=22 589 REM L6 IS LON DEGREES WEST, U6 IS LON MINUTES WEST, 590 REM L5 IS LATITUDE DEGREES NORTH,U5 IS MINUTES NORTH 630 L5=(L5+U5/60)*R5 640 L6=(L6+U6/60)*R5 700 SCREEN 0,0:PRINT CHR$(27);CHR$(113):CLS:REM LOCATE 0,0 750 GOSUB 11000 760 IF Y<90 THEN Y=Y+2000 ELSE Y=Y+1900 770 GOSUB 11050 980 LET Y1= Y-INT(Y/100)*100 1007 GOSUB 10000 1080 IF M>= 3 THEN 1160 1090 IF INT((Y-1853)/4) < 11 THEN 1120 1100 LET C1 =-1 1110 GOTO 1130 1120 C1=0 1130 LET J1=365*(Y-1853)+D+30*(M+9)+INT((M+10)/2) 1140 LET J2=INT((Y-1853)/4)+1+C1 1150 GOTO 1270 1160 IF INT((Y-1852)/4)<11 THEN 1190 1170 C1=-1 1180 GOTO 1200 1190 C1=0 1200 IF M=9 THEN 1240 1210 IF M=11 THEN 1240 1220 C2=0 1230 GOTO 1250 1240 C2=1 1250 J1=365*(Y-1852)+D+30*(M-3)+INT((M-2)/2) 1260 J2=INT((Y-1852)/4)+C1+C2 1270 J=J1+J2 1280 T1=J-17472.5 1285 GOSUB 5000 1287 GOSUB 7000 1290 REM START MAIN CALCULATION 1390 T5=T1+T 1400 K1=.751213+.0366011*T5:K1=(K1-INT(K1))*P5 1410 K2=.822513+.0362916*T5:K2=(K2-INT(K2))*P5 1420 K3=.995766+(2.73778E-03)*T5:K3=(K3-INT(K3))*P5 1430 K4=.974271+.0338632*T5:K4=(K4-INT(K4))*P5 1440 K5=.0312525+.0367482*T5:LET K5=(K5-INT(K5))*P5 1450 L8=K1+.658*R5*SIN(2*K4)+6.289*R5*SIN(K2) 1460 L8=L8-1.274*R5*SIN(K2-2*K4)-.186*R5*SIN(K3) 1470 L8=L8+.214*R5*SIN(2*K2)-.114*R5*SIN(2*K5) 1480 L8=L8-.059*R5*SIN(2*K2-2*K4)-.057*R5*SIN(K2+K3-2*K4) 1490 K6=K5+.6593*R5*SIN(2*K4)+6.2303*R5*SIN(K2)-1.272*R5*SIN(K2-2*K4) 1500 L7=5.114*R5*SIN(K6)-.146*R5*SIN(K5-2*K4) 1520 D1=COS(L7)*SIN(L8)*.397821+SIN(L7)*.917463 1530 D1=ATN(D1/SQR(1-D1*D1)) 1531 G1=50+.5+D1/.792*D5 1532 G2=80+D1/.808*D5 1533 G3=141.5-D1*.738*D5 1534 G4=170.5-D1*.857*D5 1540 A2= COS(L7)*COS(L8)/COS(D1) 1550 A1=(COS(L7)*SIN(L8)*.917463-SIN(L7)*.397821)/COS(D1) 1560 A=ATN(A1/A2) 1570 GOSUB 1870 1580 R1=A 1590 L1=.0657098*T1 1600 L=T*24*1.00274+6.64605+L1-INT(L1/24)*24 1610 L=L-INT(L/24)*24 1630 G=L/24*P5-R1 1640 IF G0 THEN 1990 1940 IF A2<0 THEN 1970 1950 A=P5+A 1960 GOTO 2010 1970 A=P5+A-P5/2 1980 GOTO 2010 1990 IF A2>=0 THEN 2010 2000 A=A+P5/2 2010 RETURN 2015 GOSUB 6000 2142 Z1=INT(A*D5*10+.5)/10 2144 Z2=INT(E*D5*10+.5)/10 2146 Z3=INT(G*D5*10+.5)/10 2148 Z4=INT(D1*D5*10+.5)/10 2150 IF Z4<0 THEN 2163 2151 IF Z3G2 THEN 2154 2153 GOTO 2157 2154 IF Z3G4 THEN 2163 2156 GOTO 2161 2157 Y$="EU" 2158 GOTO 2170 2159 Y$="US" 2160 GOTO 2170 2161 Y$="JA" 2162 GOTO 2170 2163 Y$=" " 2170 CLS:PRINT CHR$(27);CHR$(113):GOSUB 7010 2171 IF E<0 THEN PRINT CHR$(27);CHR$(112) 2178 PRINT T1$; 2180 PRINT USING " ###.#";Z1; 2186 PRINT USING " +##.#";Z2; 2188 REM PRINT USING " ###.#";Z3; 2190 PRINT USING " +##.#";Z4; 2192 PRINT USING " +###";F9;:PRINT " ";Y$ 2196 LET D2$=DATE$ 2198 IF D2$<>D1$ THEN GOTO 700 2200 GOSUB 11050 2210 GOTO 1290 2300 END 5000 REM AGE OF MOON AND DAYS SINCE PERIGEE. 5010 T9=J+2397547.5# 5020 T9=T9-2444507.6# 5030 T7=T9-14.6 5040 T8=INT(T7/29.5306) 5050 T8=T7-T8*29.5306 5060 Q=INT(T9/27.5545) 5070 R=T9-27.5545*Q 5080 S=24*R 5090 RETURN 6000 REM DOPPLER SHIFT OF 144MHZ ECHOES.k 6010 Q7=-.38*SIN(.526*S/57.3) 6020 F9=144*(Q7-3.1*COS(D1)*COS(L5)*SIN(-1*H)) 6030 F9=INT(F9) 6040 RETURN 7000 REM PRINT HEADING. 7010 PRINT "Position of the moon on ";D$+". ";RD$ 7015 PRINT"at the QTH of ";W$;"." 7017 PRINT"DAYS since PERIGEE";INT(R);"since NEWMOON";INT(T8) 7030 PRINT" GMT AZ EL DEC DOP WINDOW" 7040 PRINT"=======================================" 7050 RETURN 10000 IF M>2 THEN LET Y4=Y 10010 IF M>2 THEN M4=M 10020 IF M<=2 THEN Y4=Y-1 10030 IF M<=2 THEN M4=M+12 10040 A2=INT(Y4/100) 10050 B2=2-A2+INT(A2/4) 10060 J=INT(365.25*Y4)+INT(30.6001*(M4+1))+D+1720994.5#+B2 10070 J1=J-INT(J/7)*7 10080 J1=INT(J1)+1 10090 D$="TUEWEDTHUFRISATSUNMON" 10100 D$=MID$(D$,3*J1-2,3) 10110 RETURN 11000 REM GET DATE 11010 LET D1$=DATE$ 11020 LET Y=VAL(MID$(D1$,7,2)) 11030 LET D=VAL(MID$(D1$,4,2)) 11040 LET M=VAL(MID$(D1$,1,2)) 11042 LET RD$=D1$ 11045 RETURN 11050 LET T1$=TIME$ 11060 LET T=60*VAL(MID$(T1$,1,2)) 11070 LET T=T+VAL(MID$(T1$,4,2)) 11080 LET T=T+VAL(MID$(T1$,7,2))/60 11090 LET T=T/1440 11100 RETURN