Become a fan of Slashdot on Facebook


Forgot your password?
Space NASA Programming IT Technology

How They Built the Software of Apollo 11 220

LinuxScribe tips a piece up at 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:
  • by Norsefire ( 1494323 ) * on Tuesday July 21, 2009 @08:16AM (#28768249) Journal
    Except if you screwed up you didn't cause several people to explode.
  • shut up already (Score:1, Insightful)

    by Anonymous Coward on Tuesday July 21, 2009 @08:27AM (#28768333)
    no, there are no analogies to open source anything here. collaboration != open source.

    can we please have an article about computing where someone isn't droning on and on about open source at any opportunity? it's annoying that any attempt to discuss anything is sabotaged by open source zealotry. it's like having someone who has to interject crap about their religion into every conversation.
  • by VMaN ( 164134 ) on Tuesday July 21, 2009 @08:39AM (#28768413) Homepage

    No love for KHz?

  • by Half-pint HAL ( 718102 ) on Tuesday July 21, 2009 @08:40AM (#28768419)

    When I wrote my own equivalent program in C= BASIC, you weren't in a lunar module at all -- you were on foot. There was no fuel, but you had a time limit. You'd been poisoned, you see, and you had to get to hospital, quick. Go too slow, you don't reach the hospital in time, die. Go too fast, run into a wall, die.

    I was a very strange child.

  • Atari 2600 (Score:2, Insightful)

    by CountZer0(QAW) ( 874828 ) on Tuesday July 21, 2009 @08:42AM (#28768439)
    Wow essentially man landed on the moon with the computing power of a 2600.
  • Re:Fake (Score:5, Insightful)

    by iocat ( 572367 ) on Tuesday July 21, 2009 @10:23AM (#28769579) Homepage Journal
    I think you've got the analogy backwards. It actually shows how powerful and capable those early micros were. Kind of embarassing when your multi-gigahertz PC can barely run a word processor, or stalls when trying to display a photo, huh?
  • Re:Fake (Score:4, Insightful)

    by commodore64_love ( 1445365 ) on Tuesday July 21, 2009 @11:15AM (#28770241) Journal

    >>>Kind of embarassing when your multi-gigahertz PC can barely run a word processor, or stalls when trying to display a photo, huh?

    No not really. If I tried to run a modern word processor on an Atari or Commodore computer, it wouldn't even fit. And by the time you stripped-out enough code to make it fit, you'd have a plainjane processor with fixed fonts that are bitmapped and not scalable (i.e. no postscript encapsulation). You'd have pixelated printouts not clean professional documents like today's machines produce.

    As for photos, it used to take my Commodore 64 ten minutes to display a simple 320x240 VGA image. If it tried to display one of today's typical 16-million-color photos, first it wouldn't fit into the available memory, and second it probably would take a full day of number-crunching, displaying just one scanline every half hour.

    Even newer machines like PowerPC Macs have trouble with our modern technologies. I tried to watch an AVI movie on my 400 megahertz PPC, and it was like watching slow motion. Modern tasks demand a fast clock.

Money is better than poverty, if only for financial reasons.