0 'MOON.BA Greg Limes 4/86 1 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 CLS:PI=3.1415926535:RA=31.5:C=239.5-RA:R2=RA*RA:D$="":T$="" 3 D$="04/24/86":T$="12:44:00":GOSUB38:EP=J'full moon, GMT (lunar eclipse) 4 TZ=7/24'time zone offset in days, PDT=7/24 5 PH=29.530589'*SYNOTDIC* month 6 D$=DATE$:T$=TIME$:IFD$<>DATE$GOTO6 7 PRINT"date of interest [";D$;"]";:INPUTD$:PRINT"time of interest [";T$;"]";:INPUTT$:CLS:GOSUB12'compute phase 8 GOSUB16'output text 9 GOSUB33'draw moon 10 PRINT@120,"...hit enter" 11 A$=INKEY$:IFA$=""THEN11ELSEMENU 12 ' compute phase of moon 13 GOSUB38'get (local) julian date 14 P=(J-(EP-TZ))/PH+.5:P=P-FIX(P):S=COS(2*PI*P):IL=(1-S)/2:IFP>.5THENS=COS(2*PI*(P-.5)) 15 RETURN 16 'describe phase of moon 17 CLS:PRINTD$,T$:IFP<.125THENQ=(P-0.000)*PH:P$="after new":GOTO 25 18 IFP<.250THENQ=(0.250-P)*PH:P$="before 1q":GOTO 25 19 IFP<.375THENQ=(P-0.250)*PH:P$="after 1q":GOTO 25 20 IFP<.500THENQ=(0.500-P)*PH:P$="before full":GOTO 25 21 IFP<.625THENQ=(P-0.500)*PH:P$="after full":GOTO 25 22 IFP<.750THENQ=(0.750-P)*PH:P$="before 3q":GOTO 25 23 IFP<.875THENQ=(P-0.750)*PH:P$="after 3q":GOTO 25 24 Q=(1.000-P)*PH:P$="before new":GOTO 25 25 Q=FIX(Q*24*60*60+0.5)' total delta seconds 26 R=FIX(Q/60):P4=Q-R*60:Q=R' seconds 27 R=FIX(Q/60):P3=Q-R*60:Q=R' minutes 28 R=FIX(Q/24):P2=Q-R*24:Q=R' hours 29 P1=Q' days 30 PRINT USING "##:##:##:## \ \";P1,P2,P3,P4,P$ 31 PRINTUSING" ###.##% illuminated";INT(IL*10000+.5)/100'come here after printing phase 32 RETURN 33 'display picture of moon 34 LX=C:RX=C:FORV=1TO63:H=SQR(R2-(V-RA)*(V-RA)):L=FIX(C-H):LINE(LX,V-1)-(L,V):LX=L:IFP>0.5THENL=FIX(C+H*S)+1 35 R=FIX(C+H):LINE(RX,V-1)-(R,V):RX=R:IFP<0.5THENR=FIX(C+H*S)-1 36 IF P<>0.5THENLINE(L,V)-(R,V) 37 NEXTV:RETURN 38 ' d$/t$ to j 39 IFD$=""THEND$=DATE$ 40 IFT$=""THENT$=TIME$ 41 RESTORE48:IFVAL(RIGHT$(D$,2))MOD4=0THENRESTORE49 42 FORI=1TOVAL(LEFT$(D$,2)):READJ:NEXTI:J=J+2415019.5+VAL(MID$(D$,4,2))+INT(VAL(RIGHT$(D$,2))*365.25)+VAL(LEFT$(T$,2))/24+VAL(MID$(T$,4,2))/1440+VAL(RIGHT$(T$,2))/86400:RETURN 43 ' j to d$/t$ 44 T=INT((J-2415019.5)*86400+.5):NT=INT(T/60):GS=T-NT*60:T=NT:NT=INT(T/60):GM=T-NT*60:T=NT:NT=INT(T/24):GH=T-NT*24:T=NT 45 NT=INT(T/365.25):T=T-INT(NT*365.25):GY=1900+NT:RESTORE48:GN=0:I=0:IFGYMOD4=0THENRESTORE49 46 GD=T-I:READI:IFI