If you don't already know that the Abort Guidance System is,
perhaps you'll want to continue on to the next section
before before reading this section. But if you do already
know everything there is to know about the AGS, and simply want to
know what we are providing, I'll tell you that we provide
a simulation of the AGS computer (the AEA), a simulation of the
display/keyboard unit for it (the DEDA), and the original
Apollo-era software which can be run on the AEA ... or at least, a
couple of versions of the software. As with the Apollo
Guidance Computer (AGC) proper, you can either run this simulated
AGS in a standalone way, or you can take advantage of the
fact our AGS simulation has been built into the Orbiter spacecraft
simulator via the
NASSP project, and in so doing you can fly simulated aborts
of lunar landings or ascents in a much-more realistic way.
Ryan Callaway has made a couple of videos of hypothetical Apollo
12 aborts using the simulated AGS incorporated into NASSP, and
posted them on YouTube. Unfortunately, we only have a couple
of different versions of the original AGS software, known as
"Flight Program 6" (FP6) and "Flight Program 8", and aren't
entirely sure what versions were used for which missions.
However, we believe that something very close to FP6 was used for
Apollo 12, and that's what Ryan uses as well.
The first video illustrates an abort during the lunar descent,
close to the surface; the abort process detaches LM ascent stage
from the LM descent stage, and puts it into lunar orbit in which
the Command Module can later rendezvous with it and dock. Of
course, the computer system is just a black box hidden away
somewhere in the Lunar Module, and isn't visible in these videos,
and the visible representative of the AGS is the display and
keyboard, the DEDA. The DEDA, which is at the lower
right-hand corner of the instrument panel, doesn't appear until
about a minute into the video. The Apollo Guidance
Computer's display/keyboard (the "DSKY") also appears, in the
bottom center of the instrument panel. You'll see that the
abort is a relatively hands-off affair once it gets started, and
it's largely a matter of the DEDA and DSKY both displaying the
"velocity to be gained", with the AGS turning off the engines when
that gets close enough to zero!
The AGS
was a computer system used in the LM. It was a completely
separate computer system from the LM's AGC, with a different
architecture, different instruction-set, and different runtime
software. It was in the LM as a kind of backup for the AGC,
but was only supposed to be used (as the name implies) in case of an
aborted lunar descent or ascent. The AGS doesn't have as
commanding a role in the history of lunar explanation as does the
AGC, because no aborts were ever needed in actual missions.
However, when the AGS made its few appearances in history it did so
dramatically.| Program
Name | Acronym |
Description | Listing |
| Design Mission Computer
Program | DMCP | The baseline software, of
which all other programs listed below are modifications | |
| Flight Program 2 | FP2 | December 1967, probably for
Apollo 5 (unmanned LM Earth-orbit test mission) | |
| Flight Program 3 | FP3 | May 1968, probably for Apollo
9 | |
| Flight Program 4 | FP4 | (Identical to FP 3) | |
| Flight Program 5 | FP5 | Probably for Apollo 10 | |
| Flight Program 6 | FP6 | Our copy is dated February
14, 1969, for Apollo 11 | FP6.aea.html |
| Flight Program 7 | FP7 | (Unknown) | |
| Flight Program 8 | FP8 | Released April 28, 1971
(though our copy is dated December 18, 1970), probably for
Apollo 15-17 | FP8.aea.html |
|
-- James Tomayko, Computers in Space Flight |
The AEA (the
computer) had the following characteristics:|
Register |
Description |
| A | The "accumulator", involved
implicitly in most instructions as the source or
destination for data. |
| Q | The "multiplier quotient"
register. A kind of less-significant-word register
for extending the length of the accumulator, but also used
in a dedicated way for a number of different kinds of
operations like multiplication and division. |
| Index | A three-bit register which
can optionally be added to addresses to create an indexed
addressing mode by setting the index flag in the
instruction word. Also used as a loop counter.
Obviously, since the register can only take values 0-7,
the array and loop sizes used were very small. |
![]() | ![]() |
| Important Note! The description that follows
covers the "classic" debugging mode for versions prior to
20090427. I retain this description as-is for the
benefit of those using one of those versions of yaAGS. However,
for versions 20090427 and later, command-line debugging is
in the process of changing to a style more closely related
to that of the widely used gdb program, and the "classic" mode
described below will gradually disappear. Since
these changes have been driven by Onno Hommes, we have
agreed that Onno will maintain documentation for the new
debugging mode at his website. |
