The most famous computer ever built was operated by a vocabulary of two-digit pairs. Astronauts did not load programs from cards; they did not write source listings; they did not edit assembly. They keyed a verb, they keyed a noun, they pressed ENTR, and the panel of glowing electroluminescent green digits answered. This guide covers every verb the emulator implements, every noun, every major program, and the legendary Apollo 11 lunar-descent demo with the 1202 program alarm — the moment that almost aborted the landing and didn't.
The Apollo Guidance Computer is a flight computer designed at the MIT Instrumentation Laboratory, built by Raytheon, and flown to the Moon eleven times. It is sixteen bits wide, ones-complement, with about two thousand words of erasable magnetic-core memory and roughly thirty-six thousand words of fixed core-rope read-only memory. It runs at a clock frequency of two-point-zero-four-eight megahertz. It weighs about thirty-two kilograms and consumes around seventy watts. There were two design generations: Block I flew on Apollo 1 and unmanned tests; Block II flew from Apollo 7 onward and is the version this emulator reconstructs.
All of that is interesting, but it is also not how you operate the machine. The AGC ran continuously throughout the lunar mission, executing tens of thousands of instructions per second from its core-rope, and the astronauts were not concerned with any of it. What the astronauts touched was the DSKY — the Display and Keyboard unit — a brushed-aluminum panel of indicator lamps, seven-segment electroluminescent digit displays, and nineteen square push-buttons. They keyed verbs (actions) and nouns (data references) and the DSKY answered.
The astronaut's manual was, in effect, a vocabulary of pairs.
This emulator reconstructs the DSKY behaviorally. It does not simulate the
AGC's actual instruction set — the TC, CCS, AD,
MASK, EXTEND opcodes are not present, and there is no
Yul-assembler source for you to step through. What is faithful is the operator's
experience: the verb-noun grammar, the eleven verbs and seven nouns that the historical
panel exposed for routine flight operations, the major programs (P00 idle,
P01 pre-launch, P11 earth-orbit insertion monitor, the
lunar-descent triplet P63 → P64 → P66), the lamp behavior, the
seven-segment electroluminescent green at five-hundred-thirty nanometers with the
appropriate glow.
The headline feature of the emulator is a ninety-second scripted simulation of the
Apollo 11 lunar-descent sequence, complete with the 1202 program alarm
firing at T+12 seconds in the descent — at the moment the real one did, in the
sequence the real one fired. Acknowledging the alarm with the RSET key
continues the descent, exactly as Steve Bales did from Mission Control when he called
"Go!" on the loop.
The DSKY is twelve indicator lamps, six numeric displays, and nineteen keys. Its
layout is a brushed-aluminum face plate with the lamps arrayed in two columns at the
top-left, the program / verb / noun displays at the top-right, three signed five-digit
register displays (R1, R2, R3) in the middle,
and the keyboard at the bottom. Everything you do with the AGC, you do through this
one panel.
Twelve indicator lamps, color-coded by severity. Red indicates a hardware-class fault that requires acknowledgment. Amber indicates an attention-grabbing software state such as a program alarm. White indicates an operator-relevant state such as "key release requested" or "operator error." The lamps are arrayed in two columns of six.
| Lamp | Color | Meaning |
|---|---|---|
UPLINK ACTY | white | Ground is uplinking data into the AGC's erasable memory. |
NO ATT | white | No attitude reference; the inertial measurement unit is not aligned. |
STBY | white | Computer is in low-power standby. Cleared by PRO. |
KEY REL | white | The current display is being held by the program; release with KEY REL. |
OPR ERR | white | Operator entered an invalid keystroke or value. Clear with RSET. |
TEMP | red | Hardware over-temperature condition. |
GIMBAL LOCK | red | The IMU has reached gimbal lock; attitude reference is lost. |
PROG | amber | Program alarm. The two-digit alarm code displays in the PROG digits and the lamp lights. Cleared with RSET. |
RESTART | amber | The AGC has restarted (BAILOUT or fresh start). |
TRACKER | amber | Optical tracker error. |
ALT | amber | Altitude data marginal (lunar-descent radar). |
VEL | amber | Velocity data marginal (lunar-descent radar). |
Six seven-segment displays, all in five-hundred-thirty-nanometer electroluminescent green with appropriate glow. Three of them are two-digit fields at the top of the panel; three are signed five-digit fields in the middle.
| Display | Width | Holds |
|---|---|---|
PROG | 2 digits | The currently-running major program number, e.g. 11, 63. During an alarm, displays the alarm code (1201, 1202 are shown across PROG and the alarm-code mechanism). |
VERB | 2 digits | The current or just-keyed verb. Flashes when the AGC is requesting input. |
NOUN | 2 digits | The current or just-keyed noun. |
R1 | ±5 digits | The first data register. What is shown depends on the noun. |
R2 | ±5 digits | The second data register. |
R3 | ±5 digits | The third data register. |
The signed five-digit registers display three components of whatever the current noun
represents. NOUN 17 (attitude) shows roll, pitch, and yaw. NOUN 36
(mission timer) shows hours, minutes, and seconds. NOUN 62 (velocity, altitude,
altitude-rate) shows speed in feet per second, altitude in feet, and altitude rate in
feet per second.
A small green COMP ACTY lamp at the upper-left indicates that the AGC is
currently executing — its analog of a CPU activity light. It pulses subtly during
normal operation.
Nineteen keys in a four-row layout. The numeric keys are arranged as a
three-by-three-plus-one block from 0 through 9. The
action keys ring around them with iconic color coding: VERB and
NOUN at the upper-left in white; + and − on
the upper-right; ENTR in green at the lower-right; RSET
in red at the lower-right; CLR, KEY REL, and the gold
PRO arrayed on the left side.
PRO, green for ENTR, red for RSET.
The basic unit of input on the AGC is the verb-noun pair. Almost every
operation the astronaut performs through the DSKY consists of: press VERB,
key two digits, press NOUN, key two digits, press ENTR.
That sequence — five logical keystrokes for two digits each, plus mode and execute —
is the entire grammar.
VERB 16 NOUN 36 ENTR says: monitor the mission timer.
A verb tells the AGC what to do. V06 means "display once."
V16 means "monitor — refresh continuously." V21 through
V25 are the load verbs: load one, two, or three component values into
the noun's data fields. V35 is the lamp test. V37 is the
"load major program" verb — the one you use to dispatch from idle to a specific
program. The verb is keyed first because it determines what the noun means.
A noun tells the AGC what data the verb refers to. N17 is
attitude (roll, pitch, yaw). N36 is the mission timer. N62
is velocity-altitude-altitude-rate. The same noun can be combined with different verbs
to mean different things: V06 N36 displays the timer once; V16 N36
monitors it continuously; V25 N36 would load three values into it.
ENTR commits the just-keyed command. Until you press it, the verb and
noun digits in the display are flashing — they have not been accepted by the AGC, only
shown back to you. ENTR stops the flash and runs the command. If the verb
and noun combination is invalid, the AGC lights OPR ERR and rejects the
input; clear with RSET and key the command again.
Three keys exist outside the verb-noun grammar. PRO (gold) means
"proceed" — the program asked the astronaut a yes/no question and the answer is yes.
RSET (red) acknowledges and clears the most recent program alarm or
operator error. KEY REL releases a held display so a new command can be
keyed. CLR erases the most recent register entry during a load operation.
None of these are part of a verb-noun sequence; they fire immediately on press.
In flight documentation, verbs and nouns are written as V## and
N## with the digits combined into the keystroke sequence. So
V37E 11E reads as: verb 37 enter, value 11 enter — that is,
"load major program eleven." This guide uses the same shorthand, with
E standing in for ENTR.
These four tables enumerate every verb the emulator implements, every noun it knows, every major program that can be loaded, and every key on the panel. Bookmark this section. You will scroll back to it any time you sit down with the DSKY.
| Verb | Name | Effect |
|---|---|---|
V05 | Display octal | Display the noun's data once, in octal. Convenience verb for diagnostic readouts. |
V06 | Display decimal | Display the noun's data once, in decimal. The most common display verb. |
V11 | Monitor octal | Continuously refresh the noun's data, in octal. |
V16 | Monitor decimal | Continuously refresh the noun's data, in decimal. Used for mission-timer and velocity-altitude monitoring during powered flight. |
V21 | Load R1 | Load a single component into the noun's first register. |
V22 | Load R2 | Load the second register only. |
V23 | Load R3 | Load the third register only. |
V24 | Load R1, R2 | Load two components. |
V25 | Load R1, R2, R3 | Load all three components of the noun's data. |
V35 | Lamp test | Light every lamp and every digit of every display at once. Used by the astronaut to confirm the panel is alive before relying on it. |
V37 | Change program | Dispatch to a major program. The two-digit argument is the program number — V37E 11E runs P11. |
| Noun | R1 | R2 | R3 |
|---|---|---|---|
N17 Attitude | Roll (deg) | Pitch (deg) | Yaw (deg) |
N18 Attitude rate | Roll rate | Pitch rate | Yaw rate |
N36 Mission time | Hours | Minutes | Seconds (×0.01) |
N44 Apogee, perigee, time | Apogee (nm) | Perigee (nm) | TFF (min:sec) |
N62 Velocity, altitude, altitude rate | Velocity (ft/s) | Altitude (ft) | Altitude rate (ft/s) |
N63 Range, range rate, time-to-go | Range (ft) | Range rate (ft/s) | TTG (sec) |
N68 Slant range, time-to-go, LR alt | Slant range (ft) | TTG to throttle | LR altitude |
| Program | Phase | What it does |
|---|---|---|
P00 | Idle | The default. AGC is awake, IMU is powered, but no flight program is active. VERB and NOUN displays go blank; PROG reads 00. |
P01 | Pre-launch | Pre-launch initialization. Aligns the IMU, validates the launch pad coordinates, idles waiting for liftoff signal. |
P11 | Earth-orbit insertion monitor | Actively integrates state during powered ascent. V16N62 on this program shows live velocity, altitude, and altitude rate as numbers rise. |
P12 | Lunar ascent | Powered ascent from the lunar surface back to orbit. |
P63 | Braking phase | The first of the three lunar-descent programs. The lunar module's descent engine ignites; the AGC steers it through the high-velocity braking burn. |
P64 | Approach phase | Pitchover to vertical. Astronauts can see the landing site through the window for the first time. The AGC continues automated guidance. |
P66 | Landing autopilot | The final phase. Manual rate-of-descent control via PRO; the AGC holds attitude. |
P65 | Manual landing | Pure manual control. Used in mission rules for late takeover. |
| Key | Color | Function |
|---|---|---|
0 – 9 | grey | Numeric digits. Used to enter verb numbers, noun numbers, and register values. |
+ / − | grey | Sign keys. Required as the leading character when loading signed values into R1, R2, or R3. |
VERB | white | Begin a verb entry. Following two digits are taken as the verb. |
NOUN | white | Begin a noun entry. Following two digits are taken as the noun. |
ENTR | green | Execute the just-keyed command, or commit the just-keyed value. |
CLR | white | Erase the most recent register entry during a load. |
PRO | gold | Proceed — answer "yes" to a program prompt. Also wakes the AGC from STBY. |
KEY REL | white | Release a held display so a new command can be keyed. Lights when the program is holding the panel. |
RSET | red | Acknowledge and clear a program alarm or operator error. |
The AGC's flight software is organized as a collection of major programs,
each addressing one phase of the mission. Only one program runs at a time. You change
programs with V37E nnE, where nn is the program number.
Eight programs are wired up in this emulator; below is what each one does and how to
operate it.
The default program. The PROG display reads 00; the VERB and NOUN
displays are blank. The IMU is powered but no guidance integration is happening. To
leave P00, key V37E followed by the program number you want.
Pre-launch initialization. In a real mission, P01 ran for hours on the launch pad while the inertial platform aligned and the launch coordinates were verified. In the emulator, P01 is a static mode you can enter to confirm pre-launch behavior; the AGC sits ready and waits.
P11 is the workhorse. During the Saturn V's first-stage and second-stage burns, the
crew watched V16N62 on P11 — velocity, altitude, altitude rate. The
emulator integrates state continuously: load P11 with V37E 11E, then
monitor with V16E 62E, and the registers will show numbers rising through
the boost profile. This is the most representative single demonstration of the AGC's
operating mode in a real mission outside of the lunar descent.
The first of the three lunar-descent programs. The descent engine is ignited at full thrust; the lunar module pitches over and the AGC steers it through a high-velocity braking maneuver to bring the vehicle down from orbital speed. P63 transitions automatically into P64 when the vehicle reaches the high gate — about seven thousand feet of altitude and two thousand feet per second.
Pitchover. The lunar module rotates its nose forward so the astronauts can look through the window at the approaching landing site. The AGC continues automated guidance toward a designated point. The crew can re-designate the landing site by slewing a reticle on the window with the rotational hand controller; the emulator does not implement landing-site re-designation but the program transition is correct. P64 hands off to P66 at the low gate.
Manual rate-of-descent control. The astronaut commands altitude rate via the
throttle; the AGC holds attitude and translates throttle inputs into engine
commands. In the emulator, P66 runs to touchdown automatically as part of the
Apollo 11 demo; outside of the demo, you can dispatch to P66 directly with
V37E 66E to inspect the display behavior.
The reverse of P63 — powered ascent from the lunar surface back to orbit. Wired up in
the emulator as a behavioral target for V37E 12E to demonstrate program
transitions; the actual ascent profile is summarized rather than fully integrated.
Six routines cover almost everything an astronaut did with the DSKY in flight. None involves more than seven keystrokes. Each is short. Each composes with the others. Internalize these and the rest of AGC operation is mostly arrangement.
Before relying on the DSKY for anything, light it up. V35E turns on
every lamp and every digit segment simultaneously. If anything is dark, the panel
has a fault. This was the first thing astronauts did on entering the spacecraft and
the first thing operators do on first opening the emulator.
Use V06 to display a noun's data exactly once. The display freezes on
whatever value held at the moment of execution. V06 N17 E shows the
current attitude as a static reading; the numbers do not update.
Use V16 to refresh continuously. The display updates with live data
as long as the verb stays active. This is how the crew watched ascent and descent —
the registers change in real time. To leave monitor mode, press KEY REL
and key a different command.
Use V37 followed by the program number to dispatch. The verb display
shows 37 while the AGC waits for the program number; key it and press
ENTR again. To return to idle, key V37E 00E.
When the PROG lamp lights and an alarm code shows, press RSET.
The lamp goes out and the alarm code is cleared. The program continues if the alarm
was non-fatal — which most are. The emulator's Apollo 11 demo specifically demonstrates
this: the 1202 fires, you press RSET, and the descent continues.
The PRO key answers "yes" to a program-issued prompt. P63 issues a
throttle-up prompt at engine ignition; P66 takes PRO as a touchdown
command in the manual phase; P00 in standby is woken with PRO.
Three full button-press sequences worth practicing on the emulator. The first two verify the panel and demonstrate live state integration; the third is the headline Apollo 11 lunar-descent simulation, and is the reason the project exists.
Confirms that every lamp, every digit segment, and the COMP ACTY light are functional. Run this first whenever you sit down with the panel.
If any lamp does not illuminate during V35, the lamp is broken and the panel cannot be relied on for that signal. On the real spacecraft this was a critical pre-mission check; on the emulator it is a quick sanity confirmation of the DSKY's rendering.
Run P11 and watch the velocity, altitude, and altitude-rate numbers rise as the AGC simulates a Saturn V boost profile. This is the cleanest single demonstration of the AGC's monitor mode — three live numbers updating in real time on a panel of glowing green digits, exactly as the crew saw them.
The headline demo. A scripted ninety-second simulation of the lunar-descent sequence that the LM Eagle flew on July 20, 1969. The descent runs on its own once started; you observe and respond when the alarms fire.
The two alarms fire on a script timed to the actual Apollo 11 telemetry. The 1202 alarm at T+12 s means "executive overflow — no vacant areas"; it indicates the AGC's executive scheduler ran out of work slots, which on Apollo 11 was caused by the rendezvous radar being switched to the wrong mode and dumping cycle-stealing data into the computer. The AGC's response was the BAILOUT routine — discard the lowest-priority queued work, restart the executive, keep the descent program running. The astronauts and Mission Control saw the alarm light, the guidance officer (Steve Bales, age 24) decided in seconds it was survivable, and the call "Go!" went up the loop. The descent continued. The Eagle landed.
The second alarm at T+48 s is a 1201 — same family as 1202,
a different overflow flavor. Again recoverable, again acknowledged with RSET,
again the descent continued.
A short list of things to know — what the alarm codes mean, what BAILOUT actually does, and the boundaries of this emulator's faithfulness.
Both are executive overflow alarms. 1202 means the executive
scheduler ran out of vacant areas — slots in which to record pending work.
1201 means it ran out of core sets — slots in which to record
the running state of currently-executing tasks. They are family-related; both
indicate that more work is being requested of the AGC than it can simultaneously
track.
The recovery mechanism is BAILOUT. When an executive-overflow alarm
fires, the AGC discards the lowest-priority queued tasks, restarts its executive
from a clean state, lights the RESTART lamp, and resumes. The
currently-executing critical task — in 1969, the descent guidance — is unaffected.
This is why the descent was able to continue: the alarm was not a software bug but
a software-controlled response to a genuine overload, and the response prioritized
the right thing.
| Code | Meaning |
|---|---|
1201 | Executive overflow — no core sets. |
1202 | Executive overflow — no vacant areas. |
1406 | Restart due to power transient. |
0500 | Radar antenna out of limits. |
0210 | IMU not aligned (NO ATT condition). |
The DSKY operator's experience is faithful. The verb-noun grammar, the eleven verbs and seven nouns wired up, the major programs and their phase transitions, the lamp colors and behavior, the seven-segment electroluminescent green at the right wavelength, the 1202 alarm timing in the Apollo 11 demo — all of these are reconstructed accurately to what an astronaut would have seen.
What is not simulated is the AGC's actual instruction set. The real AGC ran
its software out of core-rope ROM in a sixteen-bit ones-complement instruction set
with opcodes like TC (transfer control), CCS (count, compare,
and skip), AD (add), MASK (logical AND), and the
EXTEND prefix that doubled the available opcode space. The flight software
— Colossus for the command module, Luminary for the lunar module — was assembled by
the YUL assembler and woven into core-rope by hand at Raytheon. None of that is here.
The emulator implements the AGC behaviorally: when you key a verb-noun command, it
responds the way the real AGC's flight software would have responded, but the response
is implemented in JavaScript rather than emulated through the AGC's own instruction
stream.
A few simplifications. The historical AGC supported around a hundred verbs and over a hundred nouns; the emulator wires up eleven verbs and seven nouns covering the most commonly-exercised flight operations. The historical interrupt-driven uplink and downlink to ground (UPLINK ACTY) was bidirectional; here it is decorative. The Block II DSKY had a slightly different lamp arrangement than Block I; the emulator uses the Block II layout (the configuration flown from Apollo 7 on). The Apollo 11 demo's timeline is compressed for demonstration — the actual descent took roughly twelve minutes, the demo runs ninety seconds.
The verb-noun grammar was not the obvious choice in 1965. Other proposed interfaces for the AGC included a typewriter-like alphanumeric keyboard, dedicated hardware switches per parameter, and a full programming language exposed to the crew. The verb-noun model won because it was small enough to be memorized completely (the astronaut training manuals fit the entire vocabulary on a few cards), unambiguous enough that a single typo could not enter a wrong command silently (the flashing-display feedback meant nothing was committed without the astronaut seeing and confirming it), and orthogonal in a way that scaled — adding a new readout meant defining a new noun, not extending a syntax. It was, in retrospect, one of the most successful command-line interfaces ever shipped, and it ran on a computer with two thousand words of RAM at the bottom of an ocean of constraints.
The third of three companion manuals for the field-guide emulators. Single-file HTML, no build step, no JavaScript. Print-friendly: most browsers will produce a clean ten-to-twelve-page printout that fits comfortably alongside the Block II flight reference.
↑ Field guide (catalog)
Apollo Guidance Computer emulator
Don Eyles, Sunburst and Luminary: An Apollo Memoir. The Virtual AGC project. The moonjs simulator that informed the DSKY behavior. The Apollo 11 1202 alarm timeline draws from the official mission transcripts and the AGC engineering memoranda preserved in the MIT IL archive.