To the Moon, Alice! [Apollo Guidance]

Perhaps my favorite retro computer is the Apollo Guidance Computer (AGC.) It is apparently popular with a lot of others, too. Lots of people have built replicas and simulators and all sorts of things. But the Virtual AGC project / page goes above and beyond (pun intended, sorry.) There is a TON of documentation and details about the AGC, as well as simulators and even official flight software. You can recreate actual missions, or devise your own. Just in time for the 50th anniversary of Apollo 11!
Virtual AGC project page
PS: There’s information on a lot of other spaceflight computers, too!


Great site. Lots of people’s rebuilds too.

A retro-guru Fran was building DSKY for the Guidance computer display… her Youtube channel is fascinating.

Her Youtube channel

1 Like

I love Fran’s channel, but she was nowhere near finishing that. She was likely years away, but Ben Krasnow from Applied science made one. It wasn’t an exact historical recreation like Fran wanted to make, but he did it, and it works.

I actually felt bad for Fran, because when this happened, it plummeted her into a depression for a good month or more. She started posting “woe is me” videos and was really thinking about quitting. It was a serious existential crisis for her.

Thankfully she seems to have found her way again.

I posted an AGC video somewhere else that showed CuriousMarc’s AGC restoration he’s doing with friends. One of the guys involved in a SpaceX engineer who’s an Apollo maniac, and he wrote a gate accurate AGC emulator, and you can see it in the video I posted.

(Parenthetically: although search does work fairly well here, we also have tags, and we even have an agc tag. I wouldn’t want to over-use them, or to have too many, but they may serve a useful purpose in collecting themes.)

There’s a CCC presentation on the Apollo Guidance Computer:

They note that the accumulator has an attached overflow flag. When you store from the accumulator to memory, if the overflow is set then the next instruction is skipped, and a value is placed in the accumulator: plus one or minus one depending on the sign of the overflow. It’s all to help with multi-word arithmetic, I think.

(It seems to be a ones-complement machine too.)

There’s a great documentary series, Moon Machines, this bit being on the Navigation Computer (is that the AGC by another name? I think so.):

Slightly off-topic, there’s a remarkable and compelling 10 minute experience to be had, reliving the tense final minutes of the first Moon landing in real time with the original audio:

I’m actually going to a Sci-Fi con soon, and presenting on the Apollo 11 50th Anniversary Panel.


That sounds like it could be an interesting new thread @Ricardus

1 Like

Sure… sure… sure.

There’s not really much to say at this point. Maybe after we’ve had the panel.

1 Like

The software was remarkable too - very sophisticated and robust. Partly down to Margaret Hamilton’ care and attention. Here are some details from Peter Adler’s Apollo 11 Program Alarms which is well worth a read:

On Apollo 11, each time a 1201 or 1202 alarm appeared, the computer rebooted, restarted the important stuff, like steering the descent engine and running the DSKY to let the crew know what was going on, but did not restart all the erroneously-scheduled rendezvous radar jobs. The NASA guys in the MOCR knew - because MIT had extensively tested the restart capability - that the mission could go forward.

With [just 2k words] Erasable memory available, we were forced to use the same memory address for different purposes at different times. … I think there were some memory locations that were shared seven ways. You can imagine the testing we had to do …

…we had developed a real-time multi-tasking operating system. There were interrupt-driven, time-dependent tasks - e.g., turn the LM Descent Engine on at the correct time - as well as priority-ordered jobs that dealt with less time-critical things. … Each job was allocated a “core set” of 12 erasable memory locations. If a job required more temporary storage, the scheduling request asked for a VAC - vector accumulator - which had 44 erasable words. There were seven core sets and five VAC areas.

When a job was to be scheduled, [if it] required a VAC area, the operating system would scan the five VAC areas to find one which was available. After finding and reserving a VAC area, the core sets would be scanned to find an available core set. … if there were no VAC areas available, the program would branch to the Alarm/Abort routine and set Alarm 1201. Similarly, if no core sets were available, the program would branch to Alarm/Abort and set Alarm 1202.

So what was happening during Apollo 11, as I recall, was that repeated jobs to process rendezvous radar data (that of course were not really there) were scheduled because a misconfiguration of the radar switches. Thus, the core sets got filled up and a 1202 alarm was generated. The 1201 that came later in the landing was because the scheduling request that caused the actual overflow was one that had requested a VAC area.

See also

See also Don Eyles’ Apollo 11 and Other Screw-Ups aka Tales from the Lunar Module Guidance Computer

So we did the Apollo 11 panel at the con, and I can write more about it when I get home from vacation. There might even be an audio recording of it.


A quick tease. A pic of the panelists on the dais. That’s me on the far left.


So where exactly should I put this new post about the panel?

Sounds like a good case for a new thread, to me!

Yes, but I’m wondering where Ed would want me to put that.

If you’re not sure, you can put it in discussion. It could also fit into histories, hardware, or software, depending on the content. Use your best judgement, and it can be moved if need be.

1 Like

Thanks for the new thread @Ricardus! I’ve been ill for a couple of days so couldn’t respond. As @elb says, it’s always safe to use Discussions.

Here’s the thread: