Apollo Guidance Computer Activities

AGC - Annotations to Eldon Hall's Journey to the Moon.

Annotations to Eldon Hall's Journey to the Moon.

In February of 1997, Hugh Blair-Smith wrote a series of annotations to Eldon Hall's book about the history of the AGC.  They are reproduced here by kind permission of Mr Blair-Smith.

Cover of Journey to the Moon


I make these annotations to serve several purposes. One is to record factual errors as I found them in the original edition (1996), other than simple typos. Another is to amplify and clarify the somewhat elliptical references to my own role in the development, particularly to help members of my family to find more traces of their kinsman. Yet another is to put down some good tales I would have included, which I hereby offer for a second edition if such a thing may be.

Eldon's story focuses on the hardware development, giving fairly short shrift to the software-oriented aspects of the system development, for good reasons: first, that is what he knows best, and second, the hardware story is an amazing piece of technological history, well deserving of its predominance in this book. Vision, boldness, luck, determination, skill, and more luck were Eldon's gifts that brought integrated circuits into space technology a decade before IBM plucked up the courage to incorporate them into office computers. The color plates, for the techno-historian, are like first images from a hitherto unexplored planet; they exhibit a bizarre and compelling beauty in both the microscopic pictures of the chips and the larger views of the intricate packaging that braced and coddled the tiny parts, making realizable the miraculous outcome of zero failures.

If I suggest that the book might have included more stories than it does, it is not to fault book or author, but simply to say that there are a lot of stories to be told, far too many to fit conveniently in one book. In every aspect of Apollo Guidance and Navigation there were Impossible Dreams whose dreamers had to leave their familiar Earth many times before the lunar flight. Integrated circuits, zero failures by whatever means, lightning-proof data memory, ultra-dense program memory, a repertoire of 34 instructions in a machine that might "reasonably" have had 8, another repertoire of interpreted instructions based on the unfamiliar but compact "Polish notation" of Lukasiewicz, a two-level multi-tasking operating system that has only recently been approached by personal computers, a user interface that eerily anticipated recent advances in linguistics, an extraordinary ability to adapt the processing to unforeseen circumstances, long-distance data communications protected against errors to a degree that office network engineers might still admire, mathematical filtering and modeling techniques that winkled the usable truth out of the measured motions of the jounciest, bounciest vehicles ever to fly anywhere: all these had to be achieved in ways they had never been done before, all Impossible Dreams. Truly there were giants in those days, Eldon in the front rank of them, and I too had my turn in the giant costume. The Force was with us all.

Foreword, page xix: "...integrated circuits became available in the early 1960s replacing the vacuum-tube circuitry..."

This way-too-brief summary, of a history better expressed in chapter 1, could derail an innocent younger reader. Integrated circuits replaced individual-transistor circuitry, which in turn had replaced vacuum-tube circuitry some years previously. I would place the two transitions, for the electronics industry as a whole, at about 1960 and about 1970. Led by Eldon, Apollo took the second step to production nearly one full lap ahead of the rest of the world(that's the core of this story!

Introduction, page 4: "Those superfluous operations were consuming about 10% of the computational time, enough to cause the overloads."

This may seem like nit-picking, but it wasn't "about" anything; it was exactly 15%, and thereby hangs an excellent irony. More about this at Chapter 15, page 179.

artzybasheff.jpg (59841 bytes)Part I, pages 9-10:

You can tell this is an MIT story (not a whisper about the four pioneering computers (Mark I through Mark IV) developed at Harvard throughout the '40s and the only computational resource there until about 1955. Those were not obscure machines: Mark III's "giant brain" role at ONR (Office of Naval Research) was celebrated in a memorable Artzybasheff cover painting for Time. The irony of this fact was that Eldon's imports from Harvard whom he first mentions in the Foreword (Alonso, Hopkins, and Scott) had done some of the later development on at least Mark IV. I trod the Harvard-to-MIT path just behind this group; although I had not been in the development work, the first three computers I learned to program were Mark I, Mark IV, and the Univac I. Eldon is correct in noting that the AGC's architecture owed much to Whirlwind, but he could have justly shared the credit with Harvard's Mark IV.



Chapter 1, Fig. 4, page 13:

It seems a pity to have only half the truth table here, given the central fact that you can (and we did) build every logical function out of NOR gates. The full table is:

0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0

The output, D, is true (1) if neither A nor B nor C is true. Hence, "NOR".

It's also not really clear, from the circuit diagram printed here, that NOR gating is by far the simplest logic circuit possible. Fig. 54 (page 85) and Fig. 5 (page 14) make the point much better.

Chapter 1, page 19: "Design and production of the Block I Apollo computer consumed about 200,000 Micrologic elements."

Within this period, according to our folklore at the time, was a moment at which this activity had consumed "one fifth of all the integrated circuits there had ever been."

Chapter 2, page 32 ff: RCA Spectrum 70

RCA's first commercially viable machine was the Spectra 70, a remarkable recovery from their early disastrous "BIZMAC," the laughingstock of the industry for years.

Chapter 3, Mars Mission Study, page 47: "Model 1B became the baseline for the Apollo computer's architecture, sizing estimates, and functions."

In 1959, the Model 1A was known as the "Christmas computer" because of a wildly optimistic theory that the machine and its system software would be finished by Christmas of that year. My first assignment, on joining the Lab in September 1959, was to write an "assembler for an unknown number of machines with unknown characteristics," meaning the Mod 1A and whatever would come after it. This was what we now call a "cross-assembler," because it had to run on a "real" machine rather than the (yet unbuilt!) one whose code it was translating from assembly language to binary. The other quality, that it could be easily tweaked up to assemble code for other machines that hadn't been designed yet, does not have a modern term because as far as I know, there had never been, and has never been since, anything quite like it. In honor of the "Christmas computer," I named the assembler the "Yul System" and it served the Mod 1A, Mod 1B, Mod 3S, Mod 3C, AGC4 (Block I AGC), and two versions of the final Block II AGC. At each level, it translated two separate assembly languages: a low-level one in which each line of assembly-language text was turned into a binary instruction word of 11 bits (later 15) that the machine could execute directly, and a higher-level one in which each line was turned into a binary "interpretive instruction" which an interpreter program executed by simulating a considerably smarter computer. The Yul System itself was written in assembly language and ran on an IBM 650, in which memory was a magnetic drum, logic was vacuum tubes, and input/output was punched cards. Later I ported it to assembly language for the Honeywell 800.

Mod 1B, sporting the handsome total of 512 words (11 bits each) of program memory, was big enough to have a practical interpreter program, and one of my contributions to that involved spending a happy day or two writing a subroutine to perform addition! It was a loop that covered a whole page of assembly code; I could reproduce it from memory today.

At the same time, I got involved in designing the instruction-repertoire aspect of the successors to the Mod 1B, and the implementation of them by the arcane craft of "microprogramming." There was an abortive effort to design a 24-bit Mod 2; then my first creation was for the 15-bit Mod 3. Al Hopkins took one look at my design, pronounced it so complex as to be risky (it had a multiply instruction and some other neat stuff), named it Mod 3C (C for Complicated), and produced his own version, Mod 3S (for Simple). Prototypes of both were built, but the Mod 3C became the first Apollo Guidance Computer prototype. The quote from Eldon, above, is correct as to hardware technology and perhaps physical sizing, but Mod 3C was the architectural baseline, as Eldon says on page 70.

Chapter 4, pages 61-63:

One of the unsuccessful ideas for a navigational instrument aboard Apollo was a "deployable telescope" which would pass astronomical angle data to the computer based on a wobbly and uncertain linkage that was the object of much scorn. By great good fortune, a secretary mis-typed this item one day as "deplorable telescope" and everyone agreed she had gotten it exactly right!

Go on to Blair-Smith's annotations for chapters 5 - 9.

site last updated 12-08-2002 by Alexander Brown