10 GOTO 5000 20 CLEAR 1000 30 DIM A$(30):DIM N1$(5):DIM W1(5):DIM D1(5):DIM DC(5) 40 FOR T=1 TO 27:READ A$(T):NEXT T 50 REM ROCKET SPECIFICATIONS 60 FOR X=1 TO 5:READ N1$(X),W1(X),D1(X),DC(X):NEXT X 70 PRINTCHR$(11) 80 POKE 12288+1024,4 90 FOR C1=13312 TO 13351:POKE C1,4:NEXT 100 PRINT TAB(11)" MODEL ROCKET 110 PRINT TAB(4)"PERFORMANCE PREDICTION PROGRAM" 120 PRINT 130 PRINT"Enter rocket name" 140 INPUT RKT$ 150 SOUND (250,10) 160 FOR X=1 TO 5:IF RKT$=N1$(X) THEN R=W1(X):D=D1(X):C=DC(X):GOTO 180 170 NEXT X:X=X-1 175 PRINT:PRINT 180 T$="" 190 PRINT"Enter rocket engine type." 195 PRINT "(Type 'L' for list of engines.)" 200 INPUT T$:IF T$=""THEN 200 205 IF T$="L" OR T$="l" THEN GOTO 7500 210 SOUND(250,10) 220 F=LEN(T$):FOR X1=1 TO 27 230 IF LEFT$(A$(X1),F)=T$ THEN 260 240 NEXT X1 250 IF A$(X1)>90 THEN TILT=AN-90:AN=90-TILT 500 REM calculate average weight during thrusting 510 W=(R+I)-(P/2) 520 REM calculate cross sectional area of rocket 530 M=3.14159*(D/2)*(D/2) 540 REM calculate ballistic coef. during thrusting 550 B=W/C/M 560 REM calculate drag free acceleration 570 A=T/W-1 580 REM calculate burnout altitude 590 X1=(.36981*SQR(A)*L/SQR(B)) 600 Y1=(EXP(X1)+EXP(-X1))/2 610 S=235.26*B*LOG(Y1) 620 PRINTCHR$(11):POKE 13312,4:FOR C1=13313 TO 13351:POKE C1,4:NEXT 621 FOR LY=0 TO 71:PSET(0,LY): NEXT LY 622FOR RY=0 TO 71:PSET(79,RY): NEXT RY 623 FOR TX=1 TO 79:PSET(TX,0): NEXT TX 624 FOR BX=1 TO 79:PSET(BX,71): NEXT BX 625 FOR MY=1 TO 71:PSET(62,MY): NEXT MY 630 PRINT 640 PRINT TAB(8);RKT$ 650 PRINT TAB(8)"ENGINE TYPE=";T$ 660 PRINT:PRINT 670 PRINT"BURNOUT ALTITUDE=";INT(S);" FT" 680 REM calculate burnout velocity 690 Y2=(EXP(X1)-EXP(-X1))/2 700 V=87*SQR(B)*SQR(A)*((Y2)/(Y1)) 710 PRINT"BURNOUT VELOC.=";INT(V);" FT/SEC" 720 REM calculate average weight during coasting 730 W=R+I-P 740 REM calculate ballistic coef. during coasting 750 B=W/C/M 760 REM calculate coasting distance 770 G=117.63*B*LOG(1+V*V/B/7569.386) 780 REM calculate coasting time 790 C1=2.7041*SQR(B):C2=V/87/SQR(B) 800 REM RADIAN ARCTANGENTS 810 REM Aquarius does not have ATN function. 820 REM PI/2 = 1.5714 830 REM Calculate arctangent of C2 850 IF C2 >= 1 THEN C2 = 1.5714-(1/C2)+1/(3*C2^3)-1/(5*C2^5) 860 IF C2< 1 THEN C2 = C2-(C2^3/3)+(C2^5/5)-(C2^7/7)+(C2^9/9) 1020 K=C1*C2 1030 REM ALLOW FOR TIME DELAY LONGER THAN COASTING TIME 1040 IF KK THEN H=S+G 1110 IF AN=0 THEN GOTO 1160 1120 AN=AN/57.29577951 1130 DR=(COS(AN)*H) 1140 H=SQR(((H)^2)-(DR^2)) 1150 REM IF ROCKET IMPACTS 1160 IF DI>H THEN DI=H 1065 FOR C=13713 TO 13741:POKE C,7:NEXT 1170 PRINT"TOTAL ALTITUDE=";H;" FT 1180 PRINT"COASTING TIME=";K;" SEC 1190 PRINT"DOWN RANGE";INT(DR);" FT":PRINT"LAUNCH ANGLE=";AG;" DEGREES" 1200 PRINT"LIFTOFF WEIGHT=";I+R;" OZ" 1210 PRINT"AVERAGE THRUST=";T;" OZ" 1220 PRINT"THRUST DURATION=";L;" SEC" 1230 PRINT"ROCKET FALLS";INT(DI);" FT" 1240 CE=H-DI:IF CE<0 THEN CE=0 1250 PRINT"CHUTE EJECTS AT";INT(CE);" FT" 1255 IF CE=0 THEN FOR C=14073 TO 14101:POKE C,3:NEXT 1260 IF CE=0 THEN VE=SQR(2*(32.2*H)) 1262 IF CE=0 THEN PRINT "** IMPACT AT";INT(VE);" FT/SEC **":GOTO 1280 1264 FALL=TD-K:EVEL=32.152*FALL: REM HOW FAST ROCKET FALLS 1266 IF TD<=K THEN VEL= V - 32.152 * TD 1267 REM If rocket is still moving up when chute ejects 1268 IF TD<=K THEN PRINT"CHUTE EJECTS AT";INT(VEL);" FT/SEC" 1269 REM If rocket is falling when chute ejects 1270 IF TD>K THEN PRINT"CHUTE EJECTS AT";INT(EVEL);" FT/SEC" 1274 IF EVEL > 120 THEN FOR C=14113 TO 14141:POKE C,3:NEXT 1275 IF EVEL > 120 THEN PRINT "** USE SHORTER TIME DELAY ** 1280 PRINT 1290 REM MAKE BOX AROUND SCREEN 1300 REM POKE 13312,10 1310 REM FOR C1=13313 TO 13351:POKE C1,10:NEXT 1460 GOSUB 2090 1470 PRINT"ANOTHER CALCULATION (Y/N)"; 1480 INPUT Y$ 1490 IF Y$="y" OR Y$="Y" THEN RUN 20 1500 IF Y$="n" OR Y$="N" THEN END 1510 GOTO 1470 1520 REM PRINTCHR$(11) 1990 REM COLOR SCREEN 2000 REM CO=12328+1024:FOR X=CO TO CO+959 2010 REM POKE X,8 2020 REM NEXT 2050 REM INPUT Y$:GOTO 1280 2090 REM MAKE GRAPH 2100 X=13242 2120 C=43 2125 N=214 2126 IF H>2300 THEN H=2300 2127 P=12360:IF H=2300 THEN POKE P,50:POKE P+1,50:POKE P+2,48 2128 IF H=2300 THEN POKE P+3,48:POKE P+4,43 2130 FOR R=1 TO (H/100)+1 2140 POKE X+(R*(-40))+C,N 2144 CO=8 2145 POKE X+1024+(R*(-40))+C,CO 2150 NEXT R 2200 POKE 13201,49 2210 POKE 13202,48 2220 POKE 13203,48 2230 POKE 13161,50 2240 POKE 13162,48 2250 POKE 13163,48 2260 POKE 13121,51 2270 POKE 13122,48 2280 POKE 13123,48 2290 POKE 13081,52:POKE 13082,48:POKE 13083,48 2300 POKE 13041,53:POKE 13042,48:POKE 13043,48 2400 POKE 12840,49:POKE 12841,48:POKE 12842,48:POKE 12843,48 2410 POKE 12640,49:POKE 12641,53:POKE 12642,48:POKE 12643,48 2420 POKE 12440,50:POKE 12441,48:POKE 12442,48:POKE 12443,48 2450 POKE 13240,70:POKE 13241,69:POKE 13242,69:POKE 13243,84 2455 P=13240+1024 2456 CO=12 2460 POKE P,CO:POKE P+1,CO:POKE P+2,CO:POKE P+3,CO 2500 RETURN 2600 REM rocket falls from peak alt 2610 REM coast time minus time delay 2620 T1=TD-K 2630 REM acceleration 2640 AC=32.2*T1^2 2650 REM distance 2660 DI=AC*.5 2670 REM VELOCITY 2680 VE=SQR(2*(32.2*DI)) 2690 RETURN 3000 DATA 1/2A6-2 0.28 0.20 0.48 0.1 3010 DATA A8-0 0.56 0.30 0.51 0.110 3020 DATA A8-3 0.56 0.50 0.55 0.14 3030 DATA A8-5 0.56 0.50 0.55 0.14 3040 DATA B4-2 1.12 1.10 0.61 0.23 3050 DATA B4-4 1.12 1.10 0.68 0.274 3060 DATA B4-6 1.12 1.20 0.78 0.294 3070 DATA B6-0 1.12 0.80 0.58 0.220 3080 DATA B6-2 1.12 0.83 0.68 0.220 3090 DATA B6-4 1.12 0.83 0.71 0.220 3100 DATA B6-6 1.12 0.83 0.78 0.220 3110 DATA B8-5 1.12 0.60 0.68 0.220 3120 DATA C5-3 2.25 2.10 0.90 0.450 3130 DATA C6-0 2.25 1.70 0.80 0.440 3140 DATA C6-3 2.25 1.70 0.88 0.440 3150 DATA C6-5 2.25 1.70 0.91 0.440 3160 DATA C6-7 2.25 1.70 0.95 0.430 3170 DATA D11-9 3.37 1.40 1.51 0.650 3180 DATA D12-0 4.48 1.70 1.44 0.879 3190 DATA D12-3 4.48 1.70 1.49 0.879 3200 DATA D12-5 4.48 1.70 1.52 0.879 3210 DATA D12-7 4.48 1.70 1.55 0.879 3220 DATA E9-4 6.74 2.80 2.16 1.3 3230 DATA E9-6 6.74 2.80 2.23 1.3 3240 DATA E12-0 6.74 2.60 2.05 1.40 3250 DATA E12-4 6.74 2.70 2.16 1.30 3260 DATA E12-8 6.60 2.70 2.24 1.30 4000 DATA BIG BERTHA,2.2,1.637,.75 4010 DATA SCOUT,.3,.765,.6 4020 DATA STREAK,.1,.72,.5 4030 DATA SKYHOOK,.7,.765,.7 4040 DATA PHOENIX,6.6,2.6,.8 4900 REM:out of line numbers at top 5000 PRINTCHR$(11) 5005 REM DRAW ROCKET 5006 FOR X=0 TO 23:PRINTCHR$(8):NEXT X 5010 A=153:B=234 5020 POKE 12418,192:POKE 12419,193 5025 POKE 12458,127:POKE 12459,127 5030 POKE 12498,127:POKE12499,127 5040 POKE 12538,A:POKE12539,B 5050 POKE 12578,A:POKE12579,B 5060 POKE 12618,A:POKE12619,B 5070 POKE 12658,A:POKE12659,B 5080 POKE 12698,A:POKE12699,B 5090 POKE 12738,A:POKE12739,B 5100 POKE 12778,A:POKE12779,B 5110 POKE 12818,A:POKE12819,B 5120 POKE 12858,A:POKE12859,B 5130 POKE 12898,A:POKE12899,B 5140 POKE 12938,A:POKE12939,B 5150 POKE 12978,A:POKE12979,B 5160 POKE 13018,A:POKE13019,B 5170 POKE 13058,127:POKE 13059,127 5180 POKE 13098,16:POKE 13099,16 5190 POKE 13017,202:POKE 13056,203 5200 POKE 13057,144:POKE 13020,218 5210 POKE 13060,144:POKE 13061,219 6000 REM COUNTDOWN 6010 SOUND(200,28) 6020 FOR C=14096 TO 14100:POKE C,14*16+6:NEXT 6030 POKE 13072, 70:POKE 13073,73:POKE 13074,86 6040 POKE 13075,69 6050 FOR PAUSE=1 TO 600:NEXT PAUSE 6060 SOUND(200,28) 6070 POKE 13072, 70:POKE 13073,79:POKE 13074,85 6080 POKE 13075,82 6090 FOR PAUSE=1 TO 600:NEXT PAUSE 6100 SOUND(200,28) 6110 POKE 13072, 84:POKE 13073,72:POKE 13074,82 6120 POKE 13075,69:POKE 13076,69 6130 FOR PAUSE=1 TO 600:NEXT PAUSE 6140 SOUND(200,28) 6150 POKE 13072, 84:POKE 13073,87:POKE 13074,79 6160 POKE 13075,32:POKE 13076,32 6170 FOR PAUSE=1 TO 600:NEXT PAUSE 6180 SOUND(200,28) 6190 POKE 13072,79:POKE 13073,78:POKE 13074,69 6200 FOR PAUSE=1 TO 600:NEXT PAUSE 6210 POKE 13072,32:POKE 13073,32:POKE 13074,32 6220 FOR PAUSE=1 TO 500:NEXT PAUSE 7010 FOR P=0 TO 23:POKE 13138,208:POKE13139,208 7020 PRINT:NEXT P 7030 POKE 13138,208:POKE 13139,208 7040 POKE 13178,208:POKE 13179,208 7080 GOTO 30 7500 PRINT CHR$(11): POKE 12288+1024,4 7502 FOR C1=13312 TO 13351:POKE C1,4:NEXT 7505 PRINT TAB(11)" MODEL ROCKET 7510 PRINT TAB(4)"PERFORMANCE PREDICTION PROGRAM" 7520 PRINT:PRINT:PRINT 7530 FOR DASH=1 TO 79:PSET(DASH,12):NEXT DASH: 7540 FOR LST=1 TO 5:PRINT LEFT$(A$(LST),8);:NEXT LST:PRINT 7550 FOR LST=6 TO 10:PRINT LEFT$(A$(LST),8);:NEXT LST:PRINT 7560 FOR LST=11 TO 15:PRINT LEFT$(A$(LST),8);:NEXT LST:PRINT 7570 FOR LST=16 TO 20:PRINT LEFT$(A$(LST),8);:NEXT LST:PRINT 7580 FOR LST=21 TO 25:PRINT LEFT$(A$(LST),8);:NEXT LST:PRINT 7590 FOR LST=26 TO 27:PRINT LEFT$(A$(LST),8);:NEXT LST:PRINT 7595 PRINT 7600 GOTO 200 8000 REM This is the ESTES model 8001 REM rocket altitude prediction 8010 REM program which has been 8020 REM adapted for the AQUARIUS 8030 REM computer by M.SIMPSON. 8040 REM 1986 8041 REM 8050 REM Additions made to original 8060 REM program by A.RAMSEY 8061 REM and M.SIMPSON. 8070 REM 1988