Planet Finder

Developer(s): Eric Burgess
Date: 198x
Type: Program
Platform(s): TS 2068

Places a planet, or the sun,or the moon among the zodiacal constellations for any date.

Appears on

Library tape of the Indiana Sinclair Timex User’s Group.

Gallery

Planet Finder

Source Code

   10 REM PLNTF 4/16/83
   20 BORDER 7: PAPER 7: INK 0: CLS 
   30 CLEAR 
   40 DIM A$(10): DIM U(9)
   50 DIM P(9,9): DIM N$(22)
   60 DIM M$(63): DIM P$(10,7)
   70 DIM A(9): DIM D(9)
   80 DIM L(10): DIM Q(9)
   90 DIM R(10): DIM V(10)
  100 DIM K(9)
  110 LET P2=2*PI
  120 LET FD=57.29578
  130 LET FR=.01745328
  140 PRINT '''"      -----------------"
  150 PRINT "      I PLANET FINDER I"
  160 PRINT "      -----------------"
  170 PRINT "      ASTRONOMY PROGAM"
  180 PRINT '"   BY ERIC BURGESS F.R.A.S."
  190 PRINT '"    ALL RIGHTS RESERVED BY"
  200 PRINT "   S AND T SOFTWARE SERVICE"
  210 PRINT ''"     THIS PROGRAM PLACES"
  220 PRINT "    A PLANET, OR THE SUN,"
  230 PRINT "    OR THE MOON AMONG THE"
  240 PRINT "   ZODIACAL CONSTELLATIONS"
  250 PRINT "     FOR ANY DATE."
  260 INPUT "TYPE LONGITUDE ";LO
  270 PAUSE VAL "200"
  280 CLS : PRINT ''"BECAUSE OF LIMITATIONS OF"
  290 PRINT "SCREEN RESOLUTION, RIGHT"
  300 PRINT "ASCENSION AND DECLINAION OF"
  310 PRINT "THE CHOSEN PLANET, SUN,"
  320 PRINT "OR MOON ARE GIVEN BEFORE"
  330 PRINT "ZODIACAL STAR CHART IS"
  340 PRINT "DISPLAYED ON MONITOR SCREEN."
  350 PRINT '"HORIZONTAL DOTTED LINE"
  360 PRINT "ACROSS MIDDLE OF EACH STAR"
  370 PRINT "CHART IS ECLIPTIC."
  380 PRINT '''"NOW LOADING ARRAYS"
  390 GO SUB 940
  400 BORDER 7: PAPER 7: INK 0: CLS 
  410 PRINT '"ENTER DATE"
  420 PRINT '"      YEAR.... ";
  430 INPUT Y: PRINT Y
  440 PRINT '"      MONTH... ";
  450 INPUT M: PRINT M
  460 IF M<1 OR M>12 THEN GO TO 440
  470 PRINT '"      DAY..... ";
  480 INPUT DY: PRINT DY
  490 IF DY<1 OR DY>31 THEN GO TO 470
  500 IF M=2 AND DY>29 THEN GO TO 470
  510 PRINT 
  520 LET DL=DY+24/LO
  530 LET DG=365*Y+DL+((M-1)*31)
  540 IF M>=3 THEN GO TO 570
  550 LET DG=DG+INT ((Y-1)/4)-INT ((.75)*INT ((Y-1)/100+1))
  560 GO TO 590
  570 LET DG=DG-INT (M*.4+2.3)+INT (Y/4)
  580 LET DG=DG-INT ((.75)*INT ((Y/100)+1))
  590 LET NI=DG-715875
  600 BORDER 7: PAPER 7: INK 0: CLS : PRINT "SELECT BY NUMBER.."
  610 PRINT '"MERCURY(+)..1"
  620 PRINT "VENUS(V)....2"
  630 PRINT "            3   SUN(O)"
  640 PRINT "MARS(M).....4"
  650 PRINT "JUPITER(J)..5"
  660 PRINT "SATURN(S)...6"
  670 PRINT "URANUS(U)...7"
  680 PRINT "NEPTUNE(N)..8"
  690 PRINT "PLUTO(P)....9"
  700 PRINT "MOON       10())"
  710 INPUT PS
  720 CLS 
  730 GO SUB 3910
  740 GO SUB 1340
  750 PRINT 
  760 PRINT P$(PS);" ON..";Y;" ";M;" ";DY
  770 PRINT "-:-:-:-:-:-:-:-:-:-"
  780 PRINT "          R.A. DEC."
  790 PRINT "          HRS  DEG."
  800 PRINT "-:-:-:-:-:-:-:-:-:-"
  810 PRINT P$(PS);TAB 9;(STR$ (R(PS)))( TO 5);
  820 PRINT TAB 15;(STR$ (V(PS)))( TO 5)
  830 PRINT "-:-:-:-:-:-:-:-:-:-"
  840 INPUT "WANT COPY y/n? ";C$
  850 IF C$="n" THEN GO TO 870
  860 COPY 
  870 LET RA=R(PS)
  880 CLS 
  890 GO SUB 1970
  900 LET Q$="+VOMJSUNP)"
  910 GO SUB 2170
  920 PRINT ''"ANOTHER DATE y/n? "
  930 GO TO 1930
  940 LET U=1
  950 LET N$=".0714223.84840.3883011"
  960 LET M$=N$+".34041.387100.0797402.73514.122173.836013"
  970 GO SUB 1520
  980 LET N$=".0279623.02812.0131952"
  990 LET M$=N$+".28638.723300.0050603.85017.0593411.33168"
 1000 GO SUB 1520
 1010 LET N$=".0172021.74044.0320441"
 1020 LET M$=N$+".785471.00000.0170003.3392600000000000000"
 1030 GO SUB 1520
 1040 LET N$=".0091464.51234.1753015"
 1050 LET M$=N$+".852091.52370.1417041.04656.031420.858702"
 1060 GO SUB 1520
 1070 LET N$=".0014504.53364.090478"
 1080 LET M$=N$+".239110.20280.2493741.76188.0197201.74533"
 1090 GO SUB 1520
 1100 LET N$=".0005844.89884.1055581"
 1110 LET M$=N$+".610949.53850.5341563.12570.0436331.97746"
 1120 GO SUB 1520
 1130 LET N$=".0002052.46615.0885932"
 1140 LET M$=N$+".9670619.1820.9015544.49084.0139601.28805"
 1150 GO SUB 1520
 1160 LET N$=".0001043.78556.016965."
 1170 LET M$=N$+"77318130.0600.2705402.33498.0314162.29162"
 1180 GO SUB 1520
 1190 LET N$=".0000693.16948.4712393"
 1200 LET M$=N$+".9130339.44009.860005.23114.3001971.91812"
 1210 GO SUB 1520
 1220 LET M$=""
 1230 LET P$(1)="MERCURY"
 1240 LET P$(2)="VENUS"
 1250 LET P$(3)="SUN"
 1260 LET P$(4)="MARS"
 1270 LET P$(5)="JUPITER"
 1280 LET P$(6)="SATURN"
 1290 LET P$(7)="URANUS"
 1300 LET P$(8)="NEPTUNE"
 1310 LET P$(9)="PLUTO"
 1320 LET P$(10)="MOON"
 1330 RETURN 
 1340 LET I=1
 1350 FOR J=1 TO 9
 1360 GO SUB 1570
 1370 LET A(I)=A
 1380 LET D(I)=D
 1390 LET L(I)=L
 1400 LET I=I+1
 1410 NEXT J
 1420 FOR I=1 TO 9
 1430 IF I=3 THEN NEXT I
 1440 GO SUB 1690
 1450 LET Q(I)=Q
 1460 LET R(I)=R
 1470 LET V(I)=V
 1480 NEXT I
 1490 FOR I=1 TO 9
 1500 IF I=3 THEN NEXT I
 1510 RETURN 
 1520 FOR K=1 TO 9
 1530 LET P(U,K)=VAL (M$(1+((K-1)*7) TO (K*7)))
 1540 NEXT K
 1550 LET U=U+1
 1560 RETURN 
 1570 LET A=NI*P(J,1)+P(J,2)
 1580 IF A>P2 THEN LET A=((A/P2)-INT (A/P2))*P2
 1590 IF A<0 THEN LET A=A+P2
 1600 IF A<0 THEN GO TO 1590
 1610 LET C=P(J,3)*SIN (A-P(J,4))
 1620 LET A=A+C
 1630 IF A>P2 THEN LET A=A-P2
 1640 IF A<0 THEN LET A=A+P2
 1650 IF A<0 THEN GO TO 1640
 1660 LET D=P(J,5)+P(J,6)*SIN (A-P(J,7))
 1670 LET L=P(J,8)*SIN (A-P(J,9))
 1680 RETURN 
 1690 LET Z=A(3)-A(I)
 1700 IF ABS (Z)>PI AND Z<0 THEN LET Z=Z+P2
 1710 IF ABS (Z)>PI AND Z>0 THEN LET Z=Z-P2
 1720 LET Q=D(I)^2+D(3)^2-2*D(I)*D(3)*COS (Z)
 1730 LET Q=SQR (Q)
 1740 LET P=(D(I)+D(3)+Q)/2
 1750 LET X=2*ACS (SQR (((P*(P-D(I)))/(D(3)*Q))))
 1760 IF Z<0 THEN LET R=57.29578*(A(3)+3.14159-X)/15
 1770 IF Z>0 THEN LET R=57.29578*(A(3)+3.14159+X)/15
 1780 IF R>24 THEN LET R=R-24
 1790 IF R>24 THEN GO TO 1780
 1800 IF R<-24 THEN LET R=R+24
 1810 IF R<-24 THEN GO TO 1800
 1820 IF R<0 THEN LET R=R+24
 1830 IF R<0 THEN GO TO 1820
 1840 IF Z<0 THEN LET V=SIN (A(3)+PI-X)*23.44194+FD*L(I)
 1850 IF Z>0 THEN LET V=SIN (A(3)+PI+X)*23.44194+FD*L(I)
 1860 LET X=57.29578*X
 1870 LET R(3)=(FD*A(3)-180)/15
 1880 IF R(3)<0 THEN LET R(3)=R(3)+24
 1890 IF R(3)>24 THEN LET R(3)=R(3)-24
 1900 LET V(3)=(SIN (FR*(A(3)-180)))*23.44194
 1910 LET L(3)=0
 1920 RETURN 
 1930 LET A$=""
 1940 INPUT A$
 1950 IF A$="Y" OR A$="y" THEN GO TO 400
 1960 CLS 
 1970 IF RA>=22 AND RA<24 THEN LET CA=22
 1980 IF RA>=20 AND RA<22 THEN LET CA=20
 1990 IF RA>=18 AND RA<20 THEN LET CA=18
 2000 IF RA>=16 AND RA<18 THEN LET CA=16
 2010 IF RA>=14 AND RA<16 THEN LET CA=14
 2020 IF RA>=12 AND RA<14 THEN LET CA=12
 2030 IF RA>=10 AND RA<12 THEN LET CA=10
 2040 IF RA>=8 AND RA<10 THEN LET CA=8
 2050 IF RA>=6 AND RA<8 THEN LET CA=6
 2060 IF RA>=4 AND RA<6 THEN LET CA=4
 2070 IF RA>=2 AND RA<4 THEN LET CA=2
 2080 IF RA>=0 AND RA<2 THEN LET CA=0
 2090 LET RA=RA-CA
 2100 LET CH=(CA+2)/2
 2110 LET RA=RA*15
 2120 IF (RA-INT (RA))>.49 THEN LET RA=1+INT (RA)
 2130 LET PL=INT (1.1*RA)
 2140 LET CF=10-FD*(L(PS))
 2150 LET PL=31-PL
 2160 RETURN 
 2170 BORDER 0: PAPER 0: INK 7: CLS 
 2180 FOR J=0 TO 31 STEP 2
 2190 PRINT AT 10,J;"-": NEXT J
 2200 IF CH=1 THEN GO TO 2320
 2210 IF CH=2 THEN GO TO 2570
 2220 IF CH=3 THEN GO TO 2720
 2230 IF CH=4 THEN GO TO 2830
 2240 IF CH=5 THEN GO TO 2960
 2250 IF CH=6 THEN GO TO 3080
 2260 IF CH=7 THEN GO TO 3180
 2270 IF CH=8 THEN GO TO 3260
 2280 IF CH=9 THEN GO TO 3320
 2290 IF CH=10 THEN GO TO 3440
 2300 IF CH=11 THEN GO TO 3550
 2310 IF CH=12 THEN GO TO 3660
 2320 LET C$="PISCES"
 2330 GO SUB 2350
 2340 GO TO 2480
 2350 LET W$="         "
 2360 IF FD*(L(PS))<-10 THEN GO TO 2390
 2370 IF FD*(L(PS))>10 THEN GO TO 2410
 2380 GO TO 2420
 2390 LET W$="OFF CHART BOTTOM"
 2400 GO TO 2420
 2410 LET W$="OFF CHART TOP"
 2420 PRINT AT 0,0;P$(PS);":IN ";C$;" ";W$
 2430 PRINT AT 1,0;"ON ";Y;" ";M;" ";DY
 2440 IF W$( TO 3)="OFF" THEN GO TO 2460
 2450 PRINT AT 2,0;"AS DISPLAYED ON CHART BELOW"
 2460 LET W$="        "
 2470 RETURN 
 2480 PRINT AT 5,7;".";
 2490 PRINT TAB 28;"*"
 2500 PRINT AT 8,16;"."
 2510 PRINT AT 9,15;"."
 2520 PRINT AT 11,4;"."
 2530 PRINT AT 13,6;"."
 2540 PRINT AT 17,4;"."
 2550 PRINT AT 18,28;"."
 2560 GO TO 3760
 2570 LET C$="ARIES"
 2580 GO SUB 2350
 2590 PRINT AT 3,24;"X"
 2600 PRINT TAB 28;"*"
 2610 PRINT TAB 28;"*"
 2620 PRINT AT 8,3;".::";
 2630 PRINT TAB 11;"."
 2640 PRINT AT 13,28;"."
 2650 PRINT AT 14,22;"."
 2660 PRINT AT 17,25;"."
 2670 PRINT AT 16,4;"*";
 2680 PRINT TAB 12;".."
 2690 PRINT AT 19,18;"*";
 2700 PRINT TAB 24;"*"
 2710 GO TO 3760
 2720 LET C$="TAURUS"
 2730 GO SUB 2350
 2740 PRINT AT 4,8;"*"
 2750 PRINT AT 11,7;"*"
 2760 PRINT AT 11,15;"."
 2770 PRINT AT 11,23;"."
 2780 PRINT AT 12,24;"."
 2790 PRINT AT 14,22;"X: ."
 2800 PRINT AT 19,16;"."
 2810 PRINT AT 20,8;".","."
 2820 GO TO 3760
 2830 LET C$="GEMINI"
 2840 GO SUB 2350
 2850 PRINT AT 4,5;"*"
 2860 PRINT AT 5,7;"."
 2870 PRINT AT 6,5;"."
 2880 PRINT AT 7,17;"*"
 2890 PRINT AT 9,12;"*"
 2900 PRINT AT 11,15;".";TAB 24;"* *"
 2910 PRINT AT 12,24;"."
 2920 PRINT AT 14,20;"*"
 2930 PRINT AT 17,17;"."
 2940 PRINT AT 20,15;"*"
 2950 GO TO 3760
 2960 LET C$="CANCER"
 2970 GO SUB 2350
 2980 PRINT AT 7,20;"."
 2990 PRINT AT 8,20;"."
 3000 PRINT AT 10,17;"."
 3010 PRINT AT 12,5;"*"
 3020 PRINT AT 13,15;"."
 3030 PRINT AT 16,14;"* *"
 3040 PRINT AT 17,20;".  *"
 3050 PRINT AT 18,10;"."," ."
 3060 PRINT AT 19,15;"."
 3070 GO TO 3760
 3080 LET C$="LEO"
 3090 GO SUB 2350
 3100 PRINT AT 3,15;"*";TAB 28;"*"
 3110 PRINT AT 5,2;".";TAB 29;"*"
 3120 PRINT AT 6,6;"."
 3130 PRINT AT 8,11;".   ."
 3140 PRINT AT 9,2;"*";TAB 22;".     X"
 3150 PRINT AT 12,6;"."
 3160 PRINT AT 16,10;"."
 3170 GO TO 3760
 3180 LET C$="VIRGO"
 3190 GO SUB 2350
 3200 PRINT AT PI,11;"*";TAB 20;"*"
 3210 PRINT AT 7,21;"*"
 3220 PRINT AT 9,14;".";TAB 26;"*"
 3230 PRINT AT 12,11;"X"
 3240 PRINT AT 19,19;"*"
 3250 GO TO 3760
 3260 LET C$="LIBRA"
 3270 GO SUB 2350
 3280 PRINT AT 4,15;"*"
 3290 PRINT AT 9,17;"*"
 3300 PRINT AT 17,13;"."
 3310 GO TO 3760
 3320 LET C$="SCORPIO"
 3330 GO SUB 2350
 3340 PRINT AT 3,7;".   ."
 3350 PRINT AT 5,8;"*     *"
 3360 PRINT AT 8,28;"*"
 3370 PRINT AT 11,29;"*"
 3380 PRINT TAB 23;"*"
 3390 PRINT TAB 21;"X"
 3400 PRINT TAB 29;"."
 3410 PRINT TAB 20;"*"
 3420 PRINT AT 19,16;"*"
 3430 GO TO 3760
 3440 LET C$="SAGITTARIUS"
 3450 GO SUB 2350
 3460 PRINT AT 8,23;"."
 3470 PRINT TAB 14;". ."
 3480 PRINT AT 12,24;"*"
 3490 PRINT TAB 17;"*"
 3500 PRINT TAB 19;"."
 3510 PRINT TAB 19;"*"
 3520 PRINT TAB 15;"*"
 3530 PRINT AT 20,24;"*"
 3540 GO TO 3760
 3550 LET C$="CAPRICORNUS"
 3560 GO SUB 2350
 3570 PRINT AT 3,5;"*"
 3580 PRINT AT 4,15;".       *"
 3590 PRINT AT 6,23;"*"
 3600 PRINT AT 11,11;".   *"
 3610 PRINT AT 12,5;"* *"
 3620 PRINT AT 15,10;".."
 3630 PRINT TAB 20;"."
 3640 PRINT AT 17,15;".   ."
 3650 GO TO 3760
 3660 LET C$="AQUARIUS"
 3670 GO SUB 2350
 3680 PRINT AT 3,6;".    .";TAB 25;"*"
 3690 PRINT AT 4,4;".    .","   *  *"
 3700 PRINT AT 11,17;"."
 3710 PRINT AT 14,14;".."
 3720 PRINT TAB 20;"."
 3730 PRINT AT 17,20;"*"
 3740 PRINT AT 18,1;"*"
 3750 GO TO 3760
 3760 IF CF<0 OR CF>20 THEN GO TO 3780
 3770 PRINT AT CF,PL;Q$(PS)
 3780 FOR N=1 TO 10
 3790 IF N=11 THEN GO TO 3900
 3800 IF N=PS THEN GO TO 3890
 3810 LET R2=R(N)-(CH*2-2)
 3820 IF R2<0 OR R2>1.9999 THEN GO TO 3890
 3830 LET PL=R2*15
 3840 IF (PL-INT (PL))>.49 THEN LET PL=1+INT (PL)
 3850 LET PL=31-INT (1.1*PL)
 3860 LET CF=10-FD*(L(N))
 3870 IF CF<0 OR CF>20 THEN GO TO 3890
 3880 PRINT AT CF,PL;Q$(N)
 3890 NEXT N
 3900 GO TO 4090
 3910 LET NM=NI-.4
 3920 LET PG=.111404*NM+255.7433
 3930 LET LMD=311.1687+360*NM/27.32158
 3940 LET PG=LMD-PG
 3950 LET PG=(PG/360-INT (PG/360))*360
 3960 LET DR=6.2886*SIN (FR*PG)
 3970 LET LMD=LMD+DR
 3980 LET LMD=(LMD/360-INT (LMD/360))*360
 3990 LET R(10)=LMD/15
 4000 LET AL=178.699-NM*.052954
 4010 LET AL=(AL/360-INT (AL/360))*360
 4020 LET AL=LMD-AL
 4030 IF AL<0 THEN LET AL=AL+360
 4040 IF AL>360 THEN LET AL=AL-360
 4050 LET HE=5.1454*(SIN (AL*FR))
 4060 LET L(10)=HE*FR
 4070 LET V(10)=HE+23.1444*SIN (LMD*FR)
 4080 RETURN 
 4090 INPUT "WANT COPY y/n? ";G$
 4100 IF G$="Y" OR G$="y" THEN COPY 
 4110 CLS 
 4120 INPUT "ANOTHER PLANET y/n? ";H$
 4130 IF H$="y" OR H$="Y" THEN GO TO 600
 4140 INPUT "ANOTHER DATE y/n? ";I$
 4150 IF I$="y" OR I$="Y" THEN GO TO 400
 4160 CLS 
 9998 SAVE "PLNTF"
Scroll to Top