ROCKET is a model rocket
altitude prediction program written in 1992 by my
brother-in-law Andy Ramsey and me. it started out in GWBASIC, using calculations and BASIC code supplied by Estes
Industries. The Estes version was absolutely bare bones, so
we began to write a full featured program around the core
calculations.
We actually started this in the 1980s. At that point in
time the IBM XT had not been invented. Andy was using a
Radio Shack Color Computer and I used a Mattel Aquarius. One
fateful Christmas Day, Andy found a Tandy TL-2 under the
tree! I built an XT clone, then an AT clone, then a 386,
486, Pentium, etc. Back then you didn't have to pay for an
operating system. Of course, you were "supposed" to pay for
it, but we never did.
In 1988 QuickBASIC ver
4.5 was released. We moved the program to QuickBASIC and
would share our new versions of ROCKET back and forth, since
we worked on them independently. I would take Andy's
improvements and copy them into my version and Andy did the
same with my improvements.
This resulted in slightly different code. For example, the
version of BASIC used by the Aquarius didn't have the
"DEF FN" (DEFine FuNction) statement which was
used in the original Estes calculations. At first I was very
disappointed that I couldn't run the program (and Andy
could!), but then I resolved to take the calculations apart
so they would work on the Aquarius.
I kept it this way through all the numerous updates. So
while some of Andy's calculations look like
this:
DEF FNC (X) = (EXP(X) + EXP(-X)) / 2:
REM ----- HYPERBOLIC COSINE FUNCTION
S = 235.26 * B * LOG(FNC(.36981 * SQR(A) * L / SQR(B))): REM
----- BURNOUT ALTITUDE
... mine looks like this:
'-- CALCULATE BURNOUT ALTITUDE --
X1 = (.36981 * SQR(A) * L / SQR(B))
Y1 = (EXP(X1) + EXP(-X1)) / 2
S = 235.26 * B * LOG(Y1)
Notice that Y1 is the result of performing
the DEF FNC function on X1, but without ever defining the
function. It just does the math.
The program began in two color CGA. When
EGA and VGA became available we made it run in EGA, but it
would still run in CGA if it had to. You would have to dig
up some ancient computer relic with a CGA monitor to
actually see it in CGA.
Below are some screen caps of the
program. It's very easy to use. Once you define a rocket you
can save it to a file and then run the program using various
engines to determine the best one. |