Friday, August 12, 2016

Apollo 11 Command Module / Lunar Lander Code Released

When programmers at the MIT Instrumentation Laboratory set out to develop the flight software for the Apollo 11 space program in the mid-1960s, the necessary technology did not exist. They had to invent it. They came up with a new way to store computer programs, called “rope memory,” and created a special version of the assembly programming language. Assembly itself is obscure to many of today’s programmers—it’s very difficult to read, intended to be easily understood by computers, not humans. For the Apollo Guidance Computer (AGC), MIT programmers wrote thousands of lines of that esoteric code.

Command Module Geometry.
The whole source code.  

Margaret Hamilton was a computer scientist and systems engineer at MIT. She was Director of the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for the Apollo space program. Hamilton's team was responsible for implementing the Apollo on-board guidance software required to navigate and land on the Moon, and its multiple variations used on numerous missions (including the subsequent Skylab). She worked to gain hands-on experience during a time when computer science courses were uncommon and software engineering courses did not exist.

Within the code there are many funny references. The main engine ignition routine, for example is called "Burn_Baby_Burn_Master_Ignition". Another routine is called, "PINBALL_GAME_
BUTTONS_AND_LIGHTS.s" which controls the dashboard lights in the command module. In another file called, "LUNAR_LANDING_GUIDANCE_EQUATIONS.s", there is code that appears to instruct an astronaut to “crank the silly thing around.”



Credits: 
http://qz.com/726338/the-code-that-took-america-to-the-moon-was-just-published-to-github-and-its-like-a-1960s-time-capsule/

No comments:

Post a Comment