Apollo relied heavily on aeronautical and hardware engineering for success; but software engineering also played an essential part. At its heart was the Apollo Guidance Computer located within both Command Module and Lunar Module spacecraft.
At its time, this machine had the computing power of a pocket calculator and stored its code using core rope memory–wires that served as bits. While impressive at the time, such techniques no longer define modern software development practices.
COLOSSUS
The NASA Apollo program was an ambitious undertaking, demanding massive effort and employing almost half a million Americans at its peak. Launched as part of an American space race with Soviet Russia to demonstrate American technological superiority in outer space, its success culminated with earlier programs like Mercury (to test whether humans could survive space travel), Gemini (testing of many maneuvers and components needed for lunar landing), and even earlier efforts like Mercury/Gemini.
NASA officials quickly realized the program required unmanned test flights of both command module and service module (CM/SM). Two “A-type” missions tested just the CM in Earth orbit; two B-type missions provided an opportunity for lunar orbit testing for all components. NASA eventually decided that an unmanned C-type mission to verify safety before carrying human astronauts to Luna was necessary.
Apollo 8 — December 21, 1968
On an accelerated launch schedule to demonstrate the capabilities of American spacecraft fleet to compete with Soviet spacecraft fleet, Walter “Wally” Schirra, Donn Eisele and Walter Cunningham left Earth aboard Apollo 8. They quickly docked their CM with lunar surface module (LM), although landing wasn’t an objective of this mission.
Over their ten-day mission, astronauts performed extensive tests of all systems onboard the CM/LM. Furthermore, this mission familiarized astronauts with procedures for entering and exiting the LM that they would later use on future lunar landing missions.
On July 20, 1969, Armstrong and Aldrin crawled through an interconnecting tunnel from Columbia to Eagle. After spending 21 hours, 36 minutes exploring the surface of the Moon they returned to Columbia and fired their LM engine to leave lunar orbit.
The mission was a success: on their return journey home, astronauts captured an iconic photograph known as Earthrise that helped galvanize environmental activism. Additionally, 382 kilograms of lunar rocks and soil were collected, providing crucial proof that its surface underwent catastrophic changes some 3.8 billion years ago and has remained relatively untouched ever since.
LUMINARY
Luminary was used in the Lunar Module. To fulfill their Apollo mission successfully, MIT Instrumentation Laboratory (later renamed Charles Stark Draper Laboratory) needed to devise a special type of software technology known as core rope memory which allowed for complex algorithms to fit within limited memory spaces available to them. They developed their unique programming language which allowed for extremely compact writing of algorithms utilizing read-only memory and core rope memory as core memory core rope memory used as read-only memory to store code pieces for very complex algorithms written using core rope memory as read-only memory core rope memory provided space allowing very complex algorithms that fit within available memory allowing assembler programming language allowed very complex algorithms to fit within limited memory available spaces available within limited memory available space available in core rope memory allowing for very complex algorithm development within limited memory available available memory available allowing assembler programming language that allowed complex algorithms to be written in pieces so as not to exhaust memory available memory capacity available in Core rope memory core rope memory created an unique programming language used core rope memory with unique assembler programming language allowed core rope memory core rope memory with read only memory core rope memory read-only memory core rope memory as read only memory core rope memory core rope memory use as read only memory storage core rope memory used as read only memory space available within it’s limited memory storage capacity assembler programming language that allowed complex algorithms with read-only memory memory available assembler programming language to fit within limited memory available in small pieces to fit within limited memory available within limited memory available memory core rope memory could fit within limited read only memory storage space required using core rope memory using core rope memory’s unique programming language assembler language which allowed complex algorithms written using core rope memory as read only memory which allowed core rope memory was read only type read only form used then using unique assembler language allowed programming language assembler programming language that allowed programming languages which allowed this unique assembler programing with unique assembler allowed writing algorithms fit within limited RAM allowed them writing complex algorithms into memory slots in small enough pieces so as well assembler language provided; giving enough memory space allowing this limited RAM memory available and limited assembler language assembler programming language allowed them fit within limited memory available and ran out assembler allows large scale algorithms as it allowed writing them fit to fit memory available memory available space as they had limited memory to fit to run faster by that allowed complex algorithms provided to allow code ran in special used to be written allowed very complex algorithms using specific assembler language allowed writing very complex algorithms into memory so assembler programming language allowed them enough space available within it’s that allowed unique programming language that allowed writing code so many complex algorithms fit on limited memory available used used to use for this unique assembly language provided them fit only allowing code memory spaces available memory available allow ran with enough code space required.
The AGC code was assembled on a Honeywell 1800 mainframe using a program known as Yul and printed out onto line printers similar to those pictured by Hamilton. Next, it was physically woven into core rope modules similar to ROM with wires passing through for 1 bits or around for 0. These core rope modules were then physically installed into an AGC which contained 36K words of ROM memory and 2K words of RAM erasable memory – hence its name!
Armstrong and Aldrin emerged from the Lunar Module after Eagle’s descent engine had been activated and began their single moonwalk, conducting science and engineering experiments, photographing their surroundings, displaying an American flag, reading an inscription plaque, collecting rocks and soil samples for Earth return, collecting rock samples to bring back with them, verbally detailing progress to geologists while filming themselves both inside and on the lunar surface. The astronauts also made several films of themselves within both modules as well as recording themselves inside both modules during lunar travels.
Additionally, the Apollo crew had several more tasks they were required to perform: testing-fire the ascent stage of their spacecraft (SM), as well as performing maneuvers on their lunar lander (LRO). For these processes to work successfully, AGC needed to be loaded with several test programs which would then be converted to binary machine language using YUL program.
The Virtual AGC project has conducted extensive scans of these YUL source code listings, reconstructing various versions of Luminary software from these. Reconstruction began by digitizing memo 85 from original software release before following changes outlined through line-by-line comparison with memory bank checksums of AGC memory banks.
PINBALL
John F. Kennedy issued a challenge for NASA to send astronauts to the moon and back before the end of this decade in his 1961 “Moon Speech.” On 21 July 1969, Armstrong and Aldrin successfully un-docked their lunar module Eagle from Collins command module Collins and began powered descent toward its surface; five times during landing sequence alarms from lunar module computer were detected that were never seen during simulations; Mission Control told them not to turn back but continue with descent anyway.
At 9:56 PM, after performing a final checkout of their lunar module’s systems, Armstrong set foot on the Moon declaring, ‘That is one small step for man, one giant leap for mankind!”
Once back on Earth, the crew had to clear customs. In doing so, they had to declare items such as moon dust and sand for inspection against extraterrestrial germs or bacteria that may have come with them from space. But what if Stern released their code openly so millions of pinball machines could benefit and improvements continued?
RADAR
RADAR stands for Radio Detecting And Ranging and utilizes electromagnetic waves similar to those found in mobile phones and wireless computer networks. RADAR emits short pulses of energy that may be reflected off objects like precipitation before returning back to its source; similar to how an echo may appear when shouting into a well. The time taken for an echo signal to reach and return from an object allows us to determine its range.
Pulsed and continuous wave RADAR systems operate differently. Pulsed RADAR sends a short pulse of energy out, waits for its reflection, then sends another short pulse out. By using Doppler effects to differentiate stationary objects from moving ones, this type of RADAR can measure object speeds as well as distinguish between stationary and moving ones based on Doppler effects. A single antenna equipped with duplexer allows this type of RADAR to send and receive signals effectively.
Continuous Wave (CW) RADAR emits radio waves continuously, and can only measure speed of an object as it passes by it. This method can be useful for detecting vehicles such as motor boats or cars as they drive along roads; however, CW RADAR cannot measure distance to these objects.
A CW RADAR uses Mixers and Side-Band Filters to distinguish between stationary and moving targets by manipulating frequencies to detect Doppler shift, then use this information to locate objects using GPS-like technology and display the location on a display or send to receiver.
Robert Watson-Watt (1892-1973), from Scotland, deserves credit for pioneering RADAR. Through his work for the British Meteorological Office he used radar to monitor ocean surface conditions and ship navigation in bad weather; during World War II, his radar helped detect aircraft and missiles while mapping weather formations; after this work for NASA Langley Research Center helped design Apollo Lunar Module which won him the 1954 Nobel Prize in Physics as well as pioneering microwave astronomy studies on stars and galaxies.