Apollo 11 Guidance Computer source code for the command and lunar modules
github.com>TEMPORARY, I HOPE HOPE HOPE
https://github.com/chrislgarry/Apollo-11/blob/master/Luminar...
...it was not temporary
Was the hope that the code would be temporary, or that the external conditions the code was dealing with would be temporary? Remember this is flight control software. There might be transient conditions that the system can handle fine, but could lead to failure if they persist.
That call to STOPRATE was there to zero out attitude rate commands at the moment the astronaut switches into the semimanual final descent program P66. It was removed in the final few revisions before the first, unflown release of the Apollo 14 software (Luminary 163 [1]) because it was preventing attitude control of the spacecraft when Rate-Of-Descent commands were skipped [2]. Skipping ROD commands wasn't normal, but was something that was added as part of the effort to make the computer more cleanly handle large unexpected additional load, like happened in Apollo 11.
[1] https://github.com/virtualagc/virtualagc/blob/master/Luminar...
[2] http://www.ibiblio.org/apollo/Documents/LUM156_text.pdf -- look for PCN 1037
>NUMERO MYSTERIOSO
https://github.com/chrislgarry/Apollo-11/blob/master/Luminar...
People frequently seem to think this is about the line number it's on (666), but that doesn't have anything to do with it. That line number is a totally modern construction; the original source code was on punch cards. That particular comment was punched onto card number 0562 in the LUNAR LANDING GUIDANCE EQUATIONS log section. The original developers only referred to code by punch card number, and page number in the listing. So it really is just a coincidence, and the "NUMERO MYSTERIOSO" is referring to whatever is in GAINBRAK,1.
It should be 1. "GAINBRAK,1" is assigning 1 to GAINBRAK.
No, it's not. The 1 here is using interpretive index register X1 to index onto GAINBRAK. The star on the DMP means that multiplication is indexed. GAINBRAK is one of the pad-loaded descent targeting parameters; the index selects the appropriate number based on the phase of the descent.
One heck of a coincidence.
Wow, was "burn baby burn" really part of the original source code?!
https://github.com/chrislgarry/Apollo-11/blob/master/Luminar...
Line 34:
> At the get-together of the AGC developers celebrating the 40th anniversary of the first moonwalk, Don Eyles (one of the authors of this routine along with Peter Adler) has related to us a little interesting history behind the naming of the routine.
It's kind of frustrating to try and figure out what is actually the original, unaltered code, and what's been added.
There is a BURNBABY routine, though, so I guess that's real.
Wherever we added modern comments, they are denoted by a double hashtag (##) at the beginning of the line. Everything else, minus formatting concerns, is directly from the original listing. You can see the scans we transcribed this from here:
The whole line is not as shocking
# BURN, BABY, BURN -- MASTER IGNITION ROUTINEIt makes sense in context, of course, I just didn't think of NASA in the late 60ies as the sort of place where you could write 'clever' things like that.
Back when AS/400s were AS/400s, I made a little tool to help the operators run a long process at night. I felt playful and left an easter egg: on Fridays the 13th, it would work as usual, but display a skull and bones with blinking red eyes while doing it.
It seems that Fridays the 13th are rarer than I estimated, because months later my boss woke me up at midnight because the operators had woken her up because it was the first time the egg was triggered. In hindsight, it was a foolish thing to add since this was a bank. Fortunately they took it with good humor, and even kept the easter egg to scare new people.
I suppose NASA is more formal than a bank, so they only let you fool around with the comments.
Discussed in 2009: https://news.ycombinator.com/item?id=715395
2012: https://news.ycombinator.com/item?id=3888638
2014: https://news.ycombinator.com/item?id=8063192
https://news.ycombinator.com/item?id=7522539
2016: https://news.ycombinator.com/item?id=12048945
Smaller threads from a year ago:
Title is incorrect, this has been available for quite a while
We've fixed the title. Submitters: please use the original title, unless it is misleading or linkbait. This is in the site guidelines at https://news.ycombinator.com/newsguidelines.html.
(Submitted title was "Entire Apollo 11 Guidance Computer Source Code is now in the public domain")
I would argue that It should have (2016) appended to it to match the HN style, but it is otherwise accurate.
My bad, didn't realize that it's been out for a while.
Also, if you want to get really really technical, it's _always_ been in the public domain because it's a work by the US federal government and thus ineligible for copyright: https://en.wikipedia.org/wiki/Copyright_status_of_works_by_t...
But it's still available "now" so I don't think it's that inaccurate.
Didn’t this get released a couple years ago? Or was that a different ship?
These files were originally put on GitHub in the VirtualAGC repository [1] in 2015. The code was publicly released and digitized into these source files in 2009, through cooperation with the MIT Museum.
Here is a HN post from 2016, although maybe more got added recently?
I have the same question, and in addition I'm confused why this repository seems to have been created by some random GitHub user.
He was an employee at NASA several years ago.
That makes some sense. Thanks.
Hasn’t it always been “public domain” but only now published on GitHub?
All NASA images and videos are in the public domain, but the same is not true for any technologies that they develop.