QuickBASIC programs

       Analog Dial             ROCKET         GALCON     Page 3    

ROCKET
 

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.

The opening screen.
 
Begin entering rocket specs.
 
Entering rocket specs.
 
Estimating rocket drag.
 
You can skip these steps if you think the drag is "typical."
 
The program handles multi-stage rockets and engine clusters. It also allows for non-Estes engines (user input).
 
Output of the program.

    Because the program started out in GWBASIC it has a huge main module. As a matter of fact, I had to to tighten things up a tad because it was exceeding the file size allowed. The fact that it runs in two color CGA and 16 color EGA doesn't help, as there is some duplication of the various screens.


DOWNLOAD THE PROGRAM
 
ROKET73H.BAS
 
ROKET73H.TXT
 
ROKET73H.EXE
Right-click and "save as" to download the
QuickBASIC source code.
Right-click and "save as" to download the
text version (same as the .BAS version).
Right-click and "save as" to download
the  stand-alone executable version.
(Rename the extension to .EXE).
 
Download the original Estes files to easily view the calculations. PERFORM.BAS and DRAGPRE.BAS

 
 
Note: QuickBASIC and the executable version of the ROCKET program only run in DOS. If you don't already have it, install DOSBox for Windows or MAC. Click on the link above. You don't need QuickBASIC to run the .EXE file. If you are unfamiliar with DOS commands, all you need to do is to "change directory" to where you put ROKET73H.EXE (cd\ <some directory>) then type ROKET73H to run the program while in DOSBox. TIP: <Alt> + <Enter> will make DOSBox full screen!

 
  Next