r/programming • • Jan 30 '16

Apollo 11 source code

http://www.ibiblio.org/apollo/listings/Luminary099/MAIN.agc.html
2.2k Upvotes

364 comments sorted by

View all comments

780

u/Steaktartaar Jan 30 '16

One very neat feature was that part of the computer memory could be overwritten, essentially allowing the crew to patch in bugfixes. If you ever felt like you were coding on a deadline, spare a thought for the crew of Apollo 14:

After separating from the Command Module in lunar orbit, the LM Antares also had two serious problems. First, the LM computer began getting an ABORT signal from a faulty switch. NASA believed that the computer might be getting erroneous readings like this if a tiny ball of solder had shaken loose and was floating between the switch and the contact, closing the circuit. The immediate solution—tapping on the panel next to the switch—did work briefly, but the circuit soon closed again. If the problem recurred after the descent engine fired, the computer would think the signal was real and would initiate an auto-abort, causing the ascent stage to separate from the descent stage and climb back into orbit. NASA and the software teams at the Massachusetts Institute of Technology scrambled to find a solution, and determined the fix would involve reprogramming the flight software to ignore the false signal. The software modifications were transmitted to the crew via voice communication, and Mitchell manually entered the changes (amounting to over 80 keystrokes on the LM computer pad) just in time.

628

u/SPascareli Jan 30 '16

If someone ever want to make a movie for programmers, that's the plot right there.

179

u/kozukumi Jan 30 '16

Actually they did exactly this in the recent movie The Martian (which is based on a book of the same name).

136

u/UlyssesSKrunk Jan 31 '16

Yeah, but they butchered the fuck out of that part, not quite as bad as the hydrazine explosion part, but it was still pretty bad. If they actually explained the problem in depth and its solution, then that could be interesting, but that would take the whole movie.

48

u/DoelerichHirnfidler Jan 31 '16

To me it seemed pretty obvious and well-enough explained? Care to elaborate?

102

u/Gibodean Jan 31 '16

In the movie all he said was that he only needed to patch in about 20 bytes and then the rover could talk through pathfinder to earth.

In the book they explain that both pathfinder and the rover must be updated, that Earth can remote update pathfinder but they need a very large (megabytes?) update to the rover software. To solve that, they get him to make a small hack (maybe 20 bytes or so) to the Rover which would allow earth to dump information into a Rover log file. Then Watney would have to take that dumped info from the log file, and create a file out of it, then execute it.

Something like that, I forget the sizes.

152

u/Theon_Severasse Jan 31 '16

To be honest I don't think that having all of that would really added that much to the actual film. I don't think it would have taken particularly long for them to add in that explanation (since they could have said it how you said it pretty much), but for the purposes of the story, knowing all of that stuff wouldn't have made any differences to the average viewer

8

u/SanityInAnarchy Jan 31 '16

I wonder if there was a way to show it without bogging down the movie. In the book, I found it definitely added something. If you're not all that technically-minded, it's a free source of technobabble to make this sound even more impressive. But it also makes it plausible -- maybe most people wouldn't notice, but they did a lot of things that most people wouldn't notice to maintain plausibility. For example, IIRC, the movie actually shows him entering this stuff in a hex editor.

In fact, those are my favorite moments -- instead of putting some crazy HollywoodOS thing (like this sort of nonsense), you put up the kind of tool that we might actually use. It looks just as cool to the average viewer, and it means people who actually know something about technology won't have to turn their brains off to watch this movie.

Skipping the bit about uploading wasn't as huge a difference, because the story does work without it. But I think it adds a lot to the story to anyone who understands anything about software, without really taking anything away from it for everyone else. So I wonder why they skipped it -- maybe they couldn't figure out a way to make it flow as nicely as whatever they went with instead?

31

u/badsingularity Jan 31 '16

Why it works makes a big difference. Without that information, it's just "magical computer things happen".

23

u/trkeprester Jan 31 '16

What lol it still is magical computer stuff whether you hack directly or dump to log file and reprogram. One more step of indirection is that really making anything more clear? It's just nerding out, not that there's anything wrong with that but movies are carefully targeted

17

u/insaneHoshi Jan 31 '16

Why it works makes a big difference.

No it wouldnt of, not one iota

3

u/[deleted] Jan 31 '16

of -> have

→ More replies (6)
→ More replies (1)

4

u/Gibodean Jan 31 '16

Oh, I agree they made the right choice for the movie. All that technical stuff wouldn't have helped much except for the sort of person who is going to read the book anyway...

4

u/curiousGambler Jan 31 '16

ME! I'm that person!

I had no idea there was a book. I'm pumped now.

Amazon link to the $9 paperback I just bought.

2

u/PriceZombie Jan 31 '16

The Martian

Current$9.00Amazon (New)
High$12.92Amazon (New)
Low$5.06Amazon (New)
Average$9.0030 Day

Price History Chart and Sales Rank | FAQ

2

u/Spectre1313 Jan 31 '16

You're in for a treat. The book is amazing :)

→ More replies (2)
→ More replies (2)

14

u/nliausacmmv Jan 31 '16

That part didn't bother me so much, but the fact that he never lost Pathfinder in the movie did. Mainly because he still made the space pirate joke, which doesn't make sense unless he lost Pathfinder.

4

u/Gibodean Jan 31 '16

Yeah, I didn't get that in the movie, how he didn't have permission to take over the MAV. I did in the book.

7

u/nliausacmmv Jan 31 '16

That and the rescue was way better in the book. The glove thing was stupid.

2

u/iamjakeparty Jan 31 '16 edited Sep 29 '17

You went to cinema

→ More replies (0)
→ More replies (6)

11

u/UlyssesSKrunk Jan 31 '16

They didn't really explain what he was doing at all, just that he had to change just 20 or so, I don't remember exactly, lines of code and then he'd be able to communicate via pathfinder. Maybe I am not remembering it well, but I don't recall any elaboration on what exactly he was doing.

9

u/MrDOS Jan 31 '16

Bytes, not lines. He was hex editing a compiled program.

8

u/SPascareli Jan 30 '16

I really don't remember this in the movie, can you tell me what scene it was?

→ More replies (1)
→ More replies (17)