Forgot your password?
typodupeerror
Space NASA Programming IT Technology

How They Built the Software of Apollo 11 220

Posted by kdawson
from the we-had-to-use-the-letter-o dept.
LinuxScribe tips a piece up at Linux.com with inside details on the design and construction of the Apollo 11 code. There are some analogies to open source development but they are slim. MIT drafted the code — to run on the Apollo Guidance Computer, a device with less grunt than an IBM XT — it had 2K of memory and a 1-MHz clock speed. It was an amazing machine for its time. NASA engineers tested, polished, simulated, and refined the code. "The software was programmed on IBM punch cards. They had 80-columns and were 'assembled' to instruction binary on mainframes... and it took hours. ... During the mission, most of the software code couldn't be changed because it was hard-coded into the hardware, like ROM today... But during pre-launch design simulations, problems that came up in the code could sometimes be finessed by... computer engineers using a small amount of erasable memory that was available for the programs. The software used a low-level assembly language and was controlled using pairs or segments of numbers entered into a square-shaped, numeric-only keyboard called a Display and Keyboard Unit... The two-digit codes stood for 'nouns' or 'verbs,' and were used to enter commands or data, such as spacecraft docking angles or time spans for operations." Reader Smark adds, "The Google Code Blog announced today that the Virtual AGC and AGS project has transcribed the Command Module and Lunar Excursion Module code used during the Apollo 11 moon landing. The code is viewable at the VirtualAGC Google Code Page."
This discussion has been archived. No new comments can be posted.

How They Built the Software of Apollo 11

Comments Filter:
  • 1 MHz != 1000 Hz (Score:2, Informative)

    by Fleetie (603229) on Tuesday July 21, 2009 @08:21AM (#28768291) Homepage
    "The Apollo's Guidance Computer was a snail-like 1.024 MHz in comparison, and it's external signaling was half that -- actually measured in Hz (1/1000th of 1 MHz, much as 1 MHz is 1/1000 of 1 GHz)." FAIL!
  • Re:Fake (Score:5, Informative)

    by MichaelSmith (789609) on Tuesday July 21, 2009 @08:35AM (#28768383) Homepage Journal
    This is an Apollo DSKY [nasa.gov] BTW. A Classic command would have been

    [VERB]66[PRO]

    Which loosely translated means give me manual control, I need to land this sucker. If you watch the descent movies you will hear "P66" being called out by the LMP a few minutes before landing. Interesting to note that the 6 is right beside PRO. I wonder if there is a bit of clever UI design in that.
  • !opensource (Score:4, Informative)

    by NevarMore (248971) on Tuesday July 21, 2009 @08:43AM (#28768447) Homepage Journal

    Shoehorning a piece of software into an "open source" angle really doesn't do any justice to open source or the software you're writing about.

    Instead of writing about open source software, write about good software that happens to be open source. If there is really good software where we know something about the code, like this Apollo software, then write about that. Discuss the collaborative development the engineers did, talk about the open source clone over at Google Code, but calling this "like opensource but only for NASA" is a massive distraction.

  • by Anonymous Coward on Tuesday July 21, 2009 @08:47AM (#28768495)

    Journey to the Moon: The History of the Apollo Guidance Computer
    by Eldon C. Hall
    ISBN: 156347185X

    If anyone is ever in the Mountain View area the Computer History Museum has one of them on display.

    Richard Feynman's book 'What Do You Care What Other People Think?' also mentions the software development scheme used for space shuttle hardware in the context of the Rogers Commission report on the Challenger accident.
    ISBN: 0393320928

  • by arkham6 (24514) on Tuesday July 21, 2009 @08:56AM (#28768581)
    1: Download the excellent sim Orbiter:
    http://orbit.medphys.ucl.ac.uk/

    2: Download the Apollo addon NASSP:
    http://nassp.sourceforge.net/wiki/Main_Page

    3: Download the virtual AGC/AGC software:
    http://www.ibiblio.org/apollo/

    4: ?????
    (Literally, spend hours trying to figure out how to fly, how to get into orbit, reading the detailed manuals, etc etc etc)

    5: Profit!
  • Re:Proper Old Skool (Score:4, Informative)

    by Stele (9443) on Tuesday July 21, 2009 @09:05AM (#28768681) Homepage

    I don't believe there was a screw up of computer guidance in Apollo 11. Armstrong landed way off-target because there were large boulders in the way that weren't accounted for properly in the survey photos. This is why they used up almost all of their descent fuel.

  • Re:1 MHz != 1000 Hz (Score:3, Informative)

    by Bakkster (1529253) <(moc.liamg) (ta) (nam.retskkaB)> on Tuesday July 21, 2009 @09:14AM (#28768773)

    Only RAM or ROM is measured in base 2, due to the innate binary nature of computers (they measure in multiples of 256, 512, 1024, 2048, et cetera). Clock speed is independent of that and measured in base 10 such that 1 megahertz == 1000 hertz.

    Absolutely correct. Hertz is an SI unit. Just as 1km = 1000m, so does 1kHz = 1000Hz.

    http://en.wikipedia.org/wiki/Hertz

  • Re:Fake (Score:5, Informative)

    by commodore64_love (1445365) on Tuesday July 21, 2009 @09:28AM (#28768889) Journal

    This Apollo computer has specs almost identical to ancient 1970s home technologies like the Atari VCS/2600 game console (1 megahertz, 2K ROM). Or an Atari 400/Commodore VIC-20 computers (1 megahertz, ~8K RAM). That gives you a rough idea of how "weak" the computer inside Apollo truly was.

  • Re:Fake (Score:5, Informative)

    by CWRUisTakingMyMoney (939585) on Tuesday July 21, 2009 @09:36AM (#28768977)
    Just to be pedantic, it was actually the Commander (Armstrong) who actually flew the LM to the surface, not the misnomered LMP, who mainly monitored things and called out warnings and readings. So if anyone said P66 (which the transcript [nasa.gov] doesn't indicate literally happened), it was more likely the Commander, who would've entered the program. The transcript has Armstrong saying "I'm going to..." when he goes into P66.
  • Re:Proper Old Skool (Score:5, Informative)

    by icebrain (944107) on Tuesday July 21, 2009 @09:42AM (#28769053)

    They overshot the original intended landing point by about 4 miles because of a timing error--the descent burn started about four seconds late.

    The rocks-and-boulders-and-crater thing you're thinking of was a different issue.

  • Re:Proper Old Skool (Score:4, Informative)

    by Opportunist (166417) on Tuesday July 21, 2009 @10:10AM (#28769383)

    The typical keyboard has more than most computers in the 60s. The average gamer keyboard boasts more processing and storage power than the average computer of the 70s.

    Basically, they flew to the moon on two keyboards and a programmable mouse.

  • Re:Fake (Score:3, Informative)

    by Demonantis (1340557) on Tuesday July 21, 2009 @10:56AM (#28770009)
    Your statement is misleading. These beastly machines that we use are expected to be able to do a huge range of operations. The apollo computers were programmed to do a specific set of tasks and calculations. If given enough resources anyone could design a reliable computer that only did word processing or number crunching with amazing reliability.
  • Re:Proper Old Skool (Score:5, Informative)

    by infolation (840436) on Tuesday July 21, 2009 @11:18AM (#28770271)
    The LM initially overshot because the crew were distracted by alarms [wikipedia.org] caused by the computer being unable to process all its tasks simultaneously. These alarms, in turn, had been triggered because ground simulations hadn't taken account of hardware powering up in a random order which generated data from two radars instead of one, which overloaded the computer.

    Armstrong's boulder avoidance flying was undertaken after the crew realised they'd overshot the target site by 4 seconds.

    (Unfortunately I find this subject insanely fascinating)
  • Re:Fake (Score:4, Informative)

    by LWATCDR (28044) on Tuesday July 21, 2009 @11:26AM (#28770351) Homepage Journal

    "That gives you a rough idea of how "weak" the computer inside Apollo truly was."
    Or how strong the programmers where.
    Most of the code in most programs is for things like UI, security, data validation, help systems and so on.
    Very little code is there to do the actual work.
    The Apollo system was built to be used by a few highly trained people. It didn't need a help system.
    I would rather think of how good the programmers where and frankly the hardware people where than compare it to what we have 40 years latter.
    If you want to think about just how far they had come how fast.
    This was built only 42 years before men landed on the moon. http://en.wikipedia.org/wiki/Spirit_of_St._Louis [wikipedia.org]
    I would say holy freaking jump batman for the moon landing!

  • ROM (Score:3, Informative)

    by sjames (1099) on Tuesday July 21, 2009 @03:13PM (#28773413) Homepage

    Just calling it ROM doesn't quite convey the level of tech. It was also known as little old lady memory because it was literally copper wire and ferrite cores woven together by little old ladies.

  • The will to go back (Score:3, Informative)

    by jmorris42 (1458) * <jmorris@[ ]u.org ['bea' in gap]> on Tuesday July 21, 2009 @09:18PM (#28777281)

    > Maybe as a country, we have just lost our 'will' to do things?

    Partly. But it is also rational. Remember why we did it in the first place. We had to beat the 'Godless Commies' to the moon so we were willing to spend whatever it took and men with balls of steel were willing to climb into rushed spacecraft. And we won a major engagement of the Cold War with only three casualties. When the historians finally settle on things it is likely that Kennedy's Apollo and Reagan's Strategic Defense Initiative will be remembered as major contributors (the other two major ones being Reagan's "Focus of Evil" and "Tear Down this Wall" speeches) to the failure of the Soviet Union so it was worth the investment. After we planted the flag the game changed. The stated goal was to land on the moon and return, we had never set a goal of building a moonbase or anything more permanent. It was no longer worth spending such a large percentage of the US Federal budget, the need to take such risk dropped, etc.

    I have long said we went to the moon fifty years before we were ready and because of that we will probably lose another fifty years before returning. Because after the moon landings none of the things we should have been doing to work our way to the moon the 'right' way were/are inspiring enough to sustain the political support needed to do them as big government NASA style jobs. So we will now have to wait until the tech gets developed enough that private industry can do it as part of profitable ventures. And we are seeing the first signs of that finally getting going. But it will be at least fifty years before any of the private ventures can work their way back to the moon.

    And there IS profit to be made 'out there' so go we will. Private companies are already making real coin in the launching business. NASA is trying to outsource suppling the ISS, mostly because they wish they were rid of the white elephant but whatever.

Do molecular biologists wear designer genes?

Working...