- [CAPCOMM] Houston, you're looking good for separation.
You're a go for separation, Columbia, over.
- [Narrator] On July 20, 1969, just moments after
the Apollo 11 lunar module began its descent to the moon
a warning light flashed in the cockpit.
- [Neil] 1202.
- [Houston] 1202 alarm.
- It's a 1202. - Standby.
- [Narrator] The spacecraft's computer had overloaded
and rebooted and no one knew why.
As Houston scrambled to find an answer,
an anxious Neil Armstrong requested more information.
- [Neil] Give us a reading on the 1202 program alarm.
- [Narrator] Back on Earth, few were more nervous
than a young computer programmer
who had written the code for the lunar landing.
- We were landing on the moon the first time.
It's not surprising there were problems.
My name is Don Eyles, I wrote a good part
of the computer code for the onboard computer
that was active during the lunar landing phase
of the Apollo mission.
- [Narrator] Eyles career at NASA began as a happy accident.
- This was the summer of 1966, and I'd just turned 23.
I was walking back home from a rather dispiriting interview,
I think at an insurance company.
At that point I would have taken
any job that anyone offered me.
When I happened by the MIT Instrumentation Lab
and walked in cold and asked for a job.
- [Narrator] He had never written a line of code.
Even so, Eyles was offered a position.
That day he joined an army of over 400,000
scientists, engineers, and technicians
working on the most ambitious engineering project
in human history.
- No one knew how to land on the moon yet,
just as no one knew how to program the computer,
and we would figured out both.
- Hello, today we're at the MIT Instrumentation Laboratory,
which has been given design responsibility
for this guidance and navigation system,
which will direct our Apollo spacecraft
on the way to the moon and back.
- [Narrator] In 1969, this was the most sophisticated
machine ever created.
Before Apollo, computers had mostly been vast behemoths,
often taking up entire rooms or floors of buildings.
- When you say this computer is very much
like land-based computers, and yet I think of them
as occupying whole bays of equipment.
You've got all this squeezed into a little box.
How did you do that?
- [Narrator] What was revolutionary about
the Apollo computer was that it was
the first use of integrated circuits,
which allowed for a much smaller and faster machine.
- [Don] The computer was one cubic foot.
It was roughly six inches by a foot by two feet.
And weighed I believe about 70 pounds.
- [Narrator] Despite these advancements,
the Apollo computer's limitations
presented formidable challenges.
- [Don] We were dealing with a computer
that was very limited
both in terms of its memory capacity
and its operation speed.
What this book in front of me is
is a listing of the flight code
for the lunar module for the Apollo 11 mission.
This represents the contents of 36,000,
36k, words of memory.
- [Narrator] To give you an idea of just how small
36k of memory is,
an average email message today is about 75k.
- Alternately for flight the information in a book like this
would be woven into a type of memory
called core rope that was super reliable.
The result of that was six modules like the one in my hand.
And these modules would be slid
into slots in the back of the computer.
And that would be the code.
That was equivalent to plug in the CD-ROM
into your early Mac.
- [Narrator] Memory was so precious,
the code that Eyles and his colleagues wrote
had to both do its job and also do so
in as few characters as possible.
- When you write a piece of code
you're writing something that needs to,
in as few words as possible, convey an idea.
But at the same time it needs to
fall trippingly off the tongue of the central processor.
You could call it a lapidary sort of art
in the sense that you were dealing with small things
and trying to get them just right.
(static hissing)
- [Computer] 1202 alarm.
- [Narrator] So what was happening during
Apollo 11's landing when the computer was overloaded.
- 1202. - 1202 alarm.
- [Houston] It's a 1202, standby.
- [Narrator] The computer's display was flashing
error codes 1201 and 1202,
but the astronauts didn't know
what those alarms meant.
And for 50 years, neither has much of the world.
It all happened so fast.
Not even the programmers who designed it
were sure just what was happening.
- [Reporter] There are many new things
that are happening in this flight.
There are big dangers involved,
despite the best our technology can do
and our technology does do very well.
- Right here you see the 1201 and 1202 codes.
At the time, we were sort of holding our breath.
You know, what is going to happen next?
Is the spacecraft gonna keep flying okay?
Or is it gonna somehow go outta control?
- [Announcer] They got a momentary alarm on their system.
- [Narrator] As the spacecraft began it's final
descent to the moon,
a terrified Eyles came to the conclusion
that the mission was doomed.
- There was a pit of the stomach feeling.
If it had been up to me,
I probably would have recommended an abort.
- [Narrator] But flight controllers in Houston
had a better perspective.
Soon after the alarm started, Mission Control realized
that the computer was still running
the critical guidance and navigation systems.
- [Houston] Go, same type, we're go.
Eagle, Houston, you are go for landing, over.
- [Narrator] Rather than abort, they made the courageous
decision for Apollo to proceed.
Neil Armstrong took over control of the craft
and Apollo, of course, landed safely on the moon.
- [Neil] Houston, Tranquility Base here.
The Eagle has landed.
- There was no sense of blame.
There was no one calling you and saying,
"You fools, what did you do to us?"
but there were questions being asked.
It was up to us to figure out what had happened.
- [Narrator] The alarm issues were traced
to an obscure condition in which a radar
accidentally turned on, flooded the computer
with unnecessary data.
- The alarms were saying there's no more storage space,
we're going to flush everything
and sort of reconstruct it.
Do what you would call a restart.
- [Narrator] Eyles code wasn't bad, on the contrary,
it had done exactly what it was supposed to do.
The issue was caused by human error in the hardware.
Someone had accidentally flipped a switch
when it shouldn't have been flipped.
- It was determined that in fact
the switches were set up in such a fashion
that this weird condition could occur.
- [Narrator] For his part, Eyles stayed on at NASA
and his code was deployed successfully
in every Apollo mission.
- What was developed was actually
extremely advanced for the time
and in some ways its more advanced
that some of what's being used today in real-time systems.
Because the greater speed and greater memory
of today's computers don't force you to be
as compact as we had to.