How They Built the Software of Apollo 11 220
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."
Re:Proper Old Skool (Score:5, Insightful)
shut up already (Score:1, Insightful)
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.
Re:1 MHz != 1000 Hz (Score:3, Insightful)
No love for KHz?
Variation on a theme (Score:3, Insightful)
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)
Re:Fake (Score:5, Insightful)
Re:Fake (Score:4, Insightful)
>>>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.