Live data from Hacker News

Apollo 11 Guidance Computer source code

github.com

71–80 of 150 posts

Re: Apollo 11 Guidance Computer source code

#73

BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s - https://github.com/chrislgarry/Apollo-11/blob/dc4ea6735c4646...

I learned a new word: ULLAGE (the amount by which a container falls short of being full)

Also of note, in zero-gravity the ullage space must be forced to the opposite end of the tank before ignition so the fuel is at the intakes. Commonly this task is accomplished by "ullage motors" which fire to settle the fuel before primary ignition[1].

[1] https://en.wikipedia.org/wiki/Ullage_motor

Re: Apollo 11 Guidance Computer source code

#74

Other than gaining satisfaction from the historical importance of this code is there any conceivable way we can get some use of it - like try it out. Even setting that aside, what is it I'm looking at? Assembly?

> Even setting that aside, what is it I'm looking at? Assembly?

AGC Assembly. Here's the manual: http://www.ibiblio.org/apollo/assembly_language_manual.html

Re: Apollo 11 Guidance Computer source code

#75

BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s - https://github.com/chrislgarry/Apollo-11/blob/dc4ea6735c4646...

I really wish we can do an AMA with these two, > # THE MASTER IGNITION ROUTINE WAS CONCEIVED AND EXECUTED, AND (NOTA BENE) IS MAINTAINED BY ADLER AND EYLES. I had to look this up, NOTA BENE is latin for, observe carefully or take special notice

Suddenly my Latin and Computer Science majors make more sense together.

Re: Apollo 11 Guidance Computer source code

#77
post #21

Watch the landing: https://www.youtube.com/watch?v=k_OD2V6fMLQ During the landing, you'll here mention of 1201 and 1202 alarms. Here's what that's about: http://www.hq.nasa.gov/office/pao/History/alsj/a11/a11.1201-... Here's 1201 being called: https://github.com/chrislgarry/Apollo-11/blob/dc4ea6735c4646... And 1202: https://github.com/chrislgarry/Apollo-11/blob/dc4ea6735c4646...

you'll here mention. Ugh, "hear."

Another tidbit. Toward the end you hear mission control say "30 seconds." That's how much fuel is left[1]. Those guys had steel spines.

If you can't get enough of this stuff, I highly recommend "A Man on the Moon" by Andrew Chaikin[2], as well as the HBO mini-series produced by Tom Hanks and based largely on that book, "From the Earth to the Moon"[3]. "Failure Is Not an Option" by Gene Kranz[4] (flight director on Apollo 11 and 13, among other things) is also a good read.

[1] http://www.nasa.gov/mission_pages/apollo/apollo11_audio.html

[2] https://www.amazon.com/Man-Moon-Voyages-Apollo-Astronauts/dp...

[3] https://www.amazon.com/Earth-Moon-Four-Disc-Collectors/dp/07...

[4] https://www.amazon.com/Failure-Not-Option-Mission-Control/dp...

Re: Apollo 11 Guidance Computer source code

#78

BURN_BABY_BURN--MASTER_IGNITION_ROUTINE.s - https://github.com/chrislgarry/Apollo-11/blob/dc4ea6735c4646...

I really wish we can do an AMA with these two, > # THE MASTER IGNITION ROUTINE WAS CONCEIVED AND EXECUTED, AND (NOTA BENE) IS MAINTAINED BY ADLER AND EYLES. I had to look this up, NOTA BENE is latin for, observe carefully or take special notice

"Note well"

Re: Apollo 11 Guidance Computer source code

#80

people could've really used a higher-level language compiling to optimized AGC(apollo computer) assembly. Is there any reason why they didn't develop one? It seems it would've helped tremendously with the productivity and verification (and a lot of the explanations and equations would be readable as code, not as an non-executed comment)

Long story short, in circa 1969 higher-level languages were mostly the purview of academics. No one had a computer powerful enough to run a language compiler/runtime, and programmers were real men(tm) and wrote assembly by hand because that was all they knew how to do. That's not to say that there weren't any advantages to using a higher level language, but in the case of something like the apollo computer, they couldn't risk compiler bugs or slow code gumming up the system and potentially killing the astronauts.

Even today, certain ridiculously-high-performance or super low latency tasks (i.e. embedded devices, high frequency trading) drop down to the assembly level because that small bit of overhead the compiler adds (for such modern coddling conveniences as function calls and type safety) are just too much. It's not crazy, it's just what's needed for that particular job.

Post reply on HN