10 REM COPYRIGHT 1987 COMPUTE! PUBLICATIONS, INC. - ALL RIGHTS RESERVED 20 POKE55,0:POKE56,84:CLR:RD=(null)/180 30 DIMSX(150),SY(150),SM(200),MO(12),C$(35),CS(35),ET(12),MT(12),B%(35) 40 PRINT"[147][144]COPYRIGHT 1987 COMPUTE! PUB., INC." 50 PRINTTAB(11)"ALL RIGHTS RESERVED" 60 PRINT""TAB(16)" STARS [146]":PRINT"PLEASE WAIT 20 SECONDS..." 70 FORI=1TO12:READET(I),MT(I):NEXT 80 FORI=1TO33:READA:POKE49151+I,A:X=X+A:NEXT 90 IFX<>5810THENPRINT"ERROR IN ML DATA STATEMENT.":STOP 100 POKE56334,PEEK(56334)AND254:POKE1,PEEK(1)AND251 110 SYS49152:POKE1,PEEK(1)OR4:POKE56334,PEEK(56334)OR1 120 FORI=1TO4:READPO(I),DI(I):NEXT:GOSUB550 130 FORI=1TO12:READMO(I):NEXT 140 FORI=0TO3:A%(I)=PEEK(63+I):NEXT:PRINT"[147]":QZ=0 150 POKE198,0:PRINT" MENU [146]" 160 PRINT"(PRESS RETURN FOR DEFAULT RESPONSES)":PRINT"0 - QUIT" 170 PRINT"1 - SIMULATION":PRINT"2 - CONSTELLATION STUDY" 180 PRINT"3 - CONSTELLATION STUDY WITH QUIZ":INPUT" CHOICE (1 - 3):[146] 2[157][157][157]";AA 190 IFAA<1ORAA>3THENEND 200 ONAAGOTO210,250,250 210 AA=4:INPUT"HOURLY OR MONTHLY SIMULATION(H OR M)[146] M[157][157][157]";A$ 220 IFA$="H"THENHB=1:DB=0:GOTO250 230 IFA$="M"THENHB=0:DB=30:GOTO250 240 GOTO210 250 GOSUB1270:GOSUB590 260 IS=0:LB$="COMPUTING":X=869:GOSUB840 270 READRA:IFRA>0THEN320 280 IFRA=0THEN380 290 READLB$:CI=RA*-1:X=949:BH=0:IFLA>.5ANDCI=20THEN380 300 GOSUB1260:GOSUB840 310 SM(IS)=6:SX(IS)=CI:IS=IS+1:C$(CI)=LB$:GOTO360 320 READDC,MG:IFBH=1THENMG=5:GOTO350 330 GOSUB1500:IFAL<0THENMG=5:BH=1:GOTO350 340 GOSUB930:IFAA>1THENGOSUB750 350 SX(IS)=X:SY(IS)=Y:SM(IS)=MG:IS=IS+1 360 IFPEEK(653)=4THENGOSUB490:GOTO150 370 GOTO270 380 SM(IS)=255:IFAA=4THENAA=1:GOTO410 390 ONAAGOTO400,480,960 400 GOSUB590:GOSUB700 410 A2=A2+HB:IFA2>=24THENA2=A2-24:DD=DD+1:JD=JD+1 420 DD=DD+DB:JD=JD+DB 430 IFDD>MO(MM)THENDD=DD-MO(MM):MM=MM+1:IFMM>12THENMM=1 440 IFDD>MO(MM)THEN430 450 TM=INT(A2)+AN/60 460 FORI=0TO3:POKE63+I,A%(I):NEXT:LA=LA/RD 470 GOSUB1380:GOTO260 480 LB$="PRESS RETURN":X=868:GOSUB1260:GOSUB840:POKE198,0:WAIT198,1 490 FORI=0TO3:POKE63+I,A%(I):NEXT:LA=LA/RD:GOSUB500:GOTO150 500 POKE53272,20:POKE56576,3:POKE53265,PEEK(53265)AND223:POKE648,4:POKE53280,15 510 RETURN 520 XC=INT(X0/8):YR=INT(Y0/8):LN=Y0AND7 530 PT=AD+YR*320+XC*8+LN:XB=7-(X0AND7) 540 POKEPT,PEEK(PT)OR2^XB:RETURN 550 S8=32769:L8=8000:N6=32768:POKE40769,0:GOSUB860:AD=N6 560 FORI=1TO180STEP2:X0=127*SIN(2*I*RD)+127:Y0=100*COS(2*I*RD)+100 570 GOSUB520:NEXT 580 FORJ=1TO4:X=PO(J):Y=DI(J):GOSUB850:NEXT:RETURN 590 BG=0:IFTM>MT(MM)ANDTM=12THENTD$="PM":IFA4>12THENA4=A4-12 670 X=67:LB$=STR$(A4):GOSUB820:X=69:Y=464:GOSUB850 680 A4=INT(AN):X=70:LB$=STR$(A4):IFLEN(LB$)=2THENLB$=" 0"+RIGHT$(LB$,1) 690 GOSUB820:X=73:LB$=TD$:GOSUB840:RETURN 700 IS=0 710 MG=SM(IS):X=SX(IS):Y=SY(IS):IFMG=255THENRETURN 720 IFX=0THEN740 730 GOSUB750 740 IS=IS+1:GOTO710 750 ONMGGOTO760,790,800,800,810,810 760 X0=X:Y0=Y+1:GOSUB520:X0=X+1:Y0=Y:GOSUB520:X0=X+2:Y0=Y:GOSUB520 770 X0=X+3:Y0=Y+1:GOSUB520 780 X0=X+1:Y0=Y+2:GOSUB520:X0=X+2:Y0=Y+2:GOSUB520 790 X0=X+1:Y0=Y+1:GOSUB520 800 X0=X+2:Y0=Y+1:GOSUB520 810 RETURN 820 FORJ=1TOLEN(LB$)-1:Y=(VAL(MID$(LB$,J+1,1))+48)*8:GOSUB850:X=X+1 830 NEXT:RETURN 840 FORJ=1TOLEN(LB$):Y=(ASC(MID$(LB$,J,1))-64)*8:GOSUB850:X=X+1:NEXT:RETURN 850 L8=7:S8=21504+ABS(Y):N6=AD+X*8:GOSUB860:RETURN 860 L8=L8+1:E6=N6+L8:E8=S8+L8 870 A%=L8/256:A6=L8-256*A% 880 B%=(E6-A6)/256:B6=E6-256*B%-A6 890 C%=(E8-A6)/256:C6=E8-256*C%-A6 900 POKE781,A%+1:POKE782,A6:POKE91,C%:POKE90,C6:POKE89,B%:POKE88,B6 910 IFA6=0THENSYS41971:RETURN 920 SYS41964:RETURN 930 AZ=2*(null)-AZ:Q=SIN((null)/4-AL/2)/COS((null)/4-AL/2) 940 X=INT((100*Q*SIN(AZ)+100)*1.27) 950 Y=99-INT(100*Q*COS(AZ)):RETURN 960 IS=1:I=0:GOSUB590:LB$="SORTING":X=950:GOSUB840 970 BH=0 980 IFSM(I)=255THENCS(IS)=0:GOTO1050 990 CS(IS)=SX(I) 1000 IFSM(I+1)>5THENI=I+1:GOTO980 1010 I=I+1:IFSM(I)=5THENBH=1 1020 IFSM(I)<6THEN1010 1030 IFBH=0THENIS=IS+1 1040 GOTO970 1050 NC=IS-1 1060 FORI=1TONC:B%(I)=I:NEXT 1070 FORJ=1TO5:FORK=1TONC:L=B%(INT(RND(1)*NC+1)):T9=B%(K):B%(K)=B%(L) 1080 B%(L)=T9:NEXTK,J 1090 FORKS=1TONC:IS=0:BH=0:JS=B%(KS) 1100 MG=SM(IS):X=SX(IS):Y=SY(IS):IFMG=255THENGOTO1150 1110 IFMG=6THENCN=X:GOTO1140 1120 IFCN=CS(JS)THENBH=1:GOSUB750 1130 IFCN<>CS(JS)ANDBH=1THEN1150 1140 IS=IS+1:GOTO1100 1150 GOSUB1260:LB$="NAME":X=949:GOSUB840:Y=464:GOSUB850:G$="":X=989 1160 POKE198,0:WAIT198,1:GETLB$:IFASC(LB$)=13THEN1190 1170 IFASC(LB$)=20THENGOSUB1250:GOTO1160 1180 GOSUB840:G$=G$+LB$:GOTO1160 1190 IFG$=C$(CS(JS))THENLB$="CORRECT":X=910:GOSUB840:QZ=QZ+1:GOTO1210 1200 LB$=C$(CS(JS)):X=909:GOSUB840:FORI=1TO500:NEXTI 1210 GOSUB1260 1220 NEXTKS 1230 PRINT"[147]YOU ANSWERED";QZ;"[157] CORRECT OUT OF";NC;"[157] [146]" 1240 GOSUB500:PRINT"PLEASE WAIT":GOSUB550:GOTO490 1250 LB$=" ":X=X-1:G$=LEFT$(G$,LEN(G$)-1):GOSUB840:X=X-1:RETURN 1260 FORJ=0TO2:S8=31849+J*320:L8=96:N6=S8-1:POKES8+L8,0:GOSUB860:NEXTJ:RETURN 1270 PRINT"[147]":IFAA=4THENPRINT"STARTING "; 1280 PRINT"DATE AND TIME OF SKY DISPLAY" 1290 POKE198,0:INPUT"MONTH (1-12):[146] 1[157][157][157]";MM:IFMM<1ORMM>12THEN1290 1300 INPUT" DAY:[146] 1[157][157][157]";DD:IFDD<1ORDD>31THEN1300 1310 JD=2446429.5:DA=DD:IFMM>1THENFORI=1TOMM-1:DA=DA+MO(I):NEXT 1320 JD=JD+DA 1330 A2=0:AN=0:POKE198,0:INPUT"HOUR (0-12):[146] 9[157][157][157]";A2:B$=" " 1340 IFA2<12THENPRINT" AM OR PM [146] PM[157][157][157][157]";:INPUTB$ 1350 IFB$="PM"THENA2=A2+12 1360 TM=A2:AN=(TM-INT(TM))*60 1370 POKE198,0:PRINT" LATITUDE:[146] 40[157][157][157][157]";:INPUT LA 1380 FD=TM/24+.5:IFFD=>1THENFD=FD-1:JD=JD+1 1390 DA=DA+FD:D3=JD-2451545 1400 T3=D3/36525:T1=INT(T3) 1410 T2=(JD-T1*36525-2451544.5)/36525 1420 S3=24110.54841+184.812866*T1+8640184.812866*T2+.093104*T3*T3 1430 S3=(S3-0.0000062*T3*T3*T3)/86400:S3=24*(S3-INT(S3)+(FD-.5)*1.002737909) 1440 IFS3<0THENS3=S3+24 1450 IFS3>24THENS3=S3-24 1460 H3=INT(S3):M3=INT(60*(S3-H3)) 1470 TG=H3+M3/60 1480 LA=LA*RD 1490 RETURN 1500 DC=DC*RD:RA=RA*15*RD 1510 T5=TG*15*RD-RA 1520 S1=SIN(LA)*SIN(DC)+COS(LA)*COS(DC)*COS(T5) 1530 C1=1-S1*S1 1540 IFC1>0THENC1=SQR(C1) 1550 IFC1<=0THENAL=SGN(S1)*(null)/2:GOTO1570 1560 AL=ATN(S1/C1) 1570 C2=COS(LA)*SIN(DC)-SIN(LA)*COS(DC)*COS(T5) 1580 S2=-COS(DC)*SIN(T5) 1590 IFC2=0THENAZ=SGN(S2)*(null)/2:GOTO1620 1600 AZ=ATN(S2/C2) 1610 IFC2<0THENAZ=AZ+(null) 1620 IFAZ<0THENAZ=AZ+2*(null) 1630 PRINT"[147]":RETURN 1640 DATA 19,6,19,6,20,5,21,4,21,3,22,3,21,3,20,4,20,4,19,5,18,5,18,6 1650 REM ML DATA IS IN NEXT 2 LINES 1660 DATA 169,0,133,251,133,253,169,208,133,252,169,84,133,254,162,16,160,0 1670 DATA 177,251,145,253,136,208,249,230,252,230,254,202,208,240,96 1680 DATA 16,112,480,40,976,152,511,184 1690 DATA31,28,31,30,31,30,31,31,30,31,30,31 1700 DATA -1,"POLARIS",2,89,2 1710 DATA -2,"BIG DIPPER" 1720 DATA 11,57,2,11,63,2,11.8,54,2,12.2,58,3,12.9,57,2,13.4,55,2,13.7,50,2 1730 DATA -3,"ARCTURUS",14.3,19.5,1 1740 DATA -4,"VIRGO",13.4,-11,1,12.6,-1,3,12.9,3,3,13,11,3 1750 DATA -5,"PEGASUS",0.2,15,3,23,14,2,23,28,2,.1,29,2 1760 DATA -6,"AURIGA",5.2,46,1,5.9,45,2,5.9,37,2,4.9,33,3,5.4,29,2 1770 DATA -7,"ORION",5.9,8,1,5.4,7,2,5.75,-2,2,5.6,-1,2,5.45,0,2 1780 DATA 5.6,-5.5,4,5.2,-8.5,1,5.8,-10,2 1790 DATA -8,"VEGA",18.6,39,1,-9,"CYGNUS" 1800 DATA 20.7,45,1,20.3,40,2,19.7,45,3,20.75,34,2,19.5,28,3,19.9,35,4 1810 DATA -10,"CANIS MAJOR",6.7,-17,1,6.4,-18,2 1820 DATA-11,"AQUILA",19.8,9,1,19.1,13.5,3,20.1,-1,3,19.4,3,3,19.1,-5,3 1830 DATA -12,"SCORPIUS",16.5,-26,1,16,-20,2,15.9,-22,2,15.9,-26,3 1840 DATA 17.6,-43,2,16.7,-34,2,17.6,-37,2,16.7,-38,3,17.2,-43,3 1850 DATA -13,"CASSIOPEIA",1.9,63.5,4,1.4,60,3,0.9,60.5,2,0.6,56,2,0.1,59,2 1860 DATA -14,"TAURUS",4.6,16,1,4.2,15,4,4.4,19,3 1870 DATA -15,"CANIS MINOR",7.6,6,1,7.4,9,3 1880 DATA -16,"GEMINI",7.5,32,1,7.7,28,1,6.7,25,3,6.6,16,2,6.3,22,3 1890 DATA -17,"LEO" 1900 DATA10.1,12.5,1,10.1,17,3,10.3,20,2,10.3,24,3,9.8,26,4,9.7,24,3 1910 DATA 11.2,21,2,11.2,16,3,11.8,15,2 1920 DATA-18,"SAGITTARIUS",18.3,-30,3,18,-30.5,3,18.4,-25,3,18.9,-26,2,19,-30,2 1930 DATA 18.7,-27,3,19.1,-28,3,18.3,-34.5,2 1940 DATA -19,"FOMALHAUT",22.9,-30,1 1950 DATA-20,"CARINA",6.4,-52,1 1960 DATA8.4,-59,2,9.2,-59,2,9.2,-69,2,9.8,-65,3 1970 DATA-21,"VELA",8.2,-47,2,8.6,-54,2,9.1,-43,2,9.3,-55,2 1980 DATA-22,"CRUX",12.1,-58,2,12.4,-63,1,12.5,-56,1,12.8,-59,1 1990 DATA-23,"CENTAURUS",14.6,-61,1,14,-60,1 2000 DATA-24,"ACHERNAR",1.6,-58,1,0