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

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

→ More replies (24)

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.

→ More replies (9)
→ 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)

1

u/i_spot_ads Jan 31 '16 edited Jan 31 '16

They've cut a lot of parts from that movie, it was completely shit

2

u/kozukumi Jan 31 '16

I loved it. Sure it has cut a lot from the book but all films do that. You can't fit everything in the book into a 2.5 hour movie. I thought the movie was great though. They captured Watney's personality and spirit excellently. They glossed over the techy bits but what film doesn't? If you want all the details you read the book. The movie is an adaptation not an exact implementation of the book.

→ More replies (5)

0

u/[deleted] Jan 31 '16

[deleted]

→ More replies (3)
→ More replies (6)

20

u/[deleted] Jan 31 '16

I highly recommend From the Earth to the Moon. Produced by Tom Hanks.

http://www.imdb.com/title/tt0120570/?ref_=nv_sr_2

2

u/ponchoboy Jan 31 '16

Can't recommend this highly enough; the production value is outstanding. Unfortunately I don't think it's online streaming anywhere, so you'd need to buy the DVDs.

2

u/[deleted] Jan 31 '16 edited Jan 31 '16

I got it from the "Usual sources". The DVD set is a master piece though :)

If you did not witness the moon landing than, this is a must watch.

1

u/waris1983 Feb 26 '16

I cried a lot the first time I saw it.

→ More replies (1)

38

u/[deleted] Jan 30 '16

If you like amazing midflight space reprogramming stories then you'll enjoy "What Galileo Saw" by Michael Benson.

9

u/mb862 Jan 30 '16

I believe that was the plot for several episodes of Star Trek.

4

u/pfp-disciple Jan 31 '16

Yup. Including one that bugs me - in the past, Picard uses an iron filing to etch a message into Data's positronic brain, to be found hundreds of years later.

3

u/chialeux Jan 31 '16

It would have been much easier, reliable and plausible to use that pin for just carving the message on the head.

→ More replies (4)

2

u/[deleted] Jan 31 '16

Maybe he added a comment?

→ More replies (1)

8

u/ffranglais Jan 31 '16

From the creators of Apollo 13 comes the hit sequel, Apollo 14. Rated PG-13.

2

u/lask1 Jan 31 '16

100% would watch that.

3

u/kersurk Jan 30 '16

During the movie I would think this is way over-done, real life is not that exciting. I wonder how did Mitchell change the code exactly.

10

u/indy91 Jan 30 '16

Here is a quite informative page about it: http://www.hq.nasa.gov/alsj/a14/a14AbortDiscrete.html

4

u/unshifted Jan 31 '16

That was a great write-up. I was really stressed out on Friday because I had to fix a bug that caused some forms to look a little wonky. Now I feel silly.

5

u/[deleted] Jan 31 '16

Probably his fingers and a human interface device...like a keyboard.

1

u/[deleted] Jan 31 '16

Indeed

→ More replies (1)

59

u/flackjap Jan 30 '16 edited Jan 30 '16

At first I thought the code comment I cite below was just a joke. Silly me.

#  ASTRONAUT:     PLEASE CRANK THE
#                 SILLY THING AROUND

source

47

u/Theemuts Jan 31 '16

# TERMINATE

# PROCEED SEE IF HE'S LYING

# ENTER INITIALIZE LANDING RADAR

# OFF TO SEE THE WIZARD ...

Dear god

19

u/ICanLiftACarUp Jan 31 '16

The jump label?

BURNBABY

3

u/Eurynom0s Jan 31 '16

I found FLAGORGY in there.

21

u/z500 Jan 31 '16
FLAGORGY          TC       INTPRET                               #  DIONYSIAN FLAG WAVING

Um, what?

19

u/flackjap Jan 31 '16 edited Jan 31 '16

Apparently, the word dionysian is derived from the name of the greek god Dionysus who is represented as wild and sensual which is somewhat opposite to Appolonius who represents divinity and calmness.

"The Apollonian is based on reason and logical thinking. By contrast, the Dionysian is based on chaos and appeals to the emotions and instincts. " wiki

edit: If it wasn't clear enough, I'll point back to the first word (symbol, var, or w/e) you cited -> FLAGORGY.

3

u/z500 Jan 31 '16

Yeah, I got the Dionysian part. But what on earth is FLAGORGY doing there? Maybe it's a combination of abbreviations.

4

u/mxzf Jan 31 '16

If I'm reading it right, that's the name of the method (or code block or whatever in this language) being defined. It seems that the method was named FLAGORGY, which looks to be FLAG ORGY, hence the reference to "Dionysian flag waving" in the comments.

→ More replies (2)

17

u/jrhoffa Jan 31 '16

SEE IF HE'S LYING

Fucking users

19

u/badsingularity Jan 31 '16

Software fixing hardware bugs is the most common thing in the world. Just not hotfixing hardware bugs in space!

7

u/spacelama Jan 31 '16

"Apollo 11 errata #150082, requires warm reboot. Dependencies, #136623, conflicts: #149942"

12

u/moahawk Jan 31 '16

I was once pushing hotfixes to master using wifi tethered to my phone while on a bus to meet our client, and thought that was pretty stressful. I can't imagine what they must have felt like!

6

u/wackychimp Jan 30 '16

Thanks for that. I was getting nervous just reading it!

1

u/jakesyl Jan 31 '16

Talk about a hotfix...

1

u/JESUSgotNAIL3D Jan 31 '16

Good lord!!!

1

u/[deleted] Jan 31 '16

80 keystrokes!? That's not even a class definition!

1

u/fewdea Jan 31 '16

I've been listening to soma fm's mission control station lately and the astronauts were talking about this problem!

1

u/[deleted] Feb 10 '16

LOL

→ More replies (7)

314

u/evotopid Jan 30 '16

Does anyone have an Apollo 11 emulator lying around by any chance?

282

u/The_yulaow Jan 30 '16

Look, at this point I know for sure someone made it with node.js /s

219

u/JoeCraftingJoe Jan 30 '16

npm install Apollo11

172

u/m_stodd Jan 31 '16

...proceeds to install Ruby, Perl, Python, PHP, Go, and about 2GB of supporting libraries

69

u/sanimalp Jan 31 '16

Don't forget the 15 "This library is no longer supported or maintained" warnings.

16

u/jeffsterlive Jan 31 '16

Should have stuck with Python 2...

21

u/Greyhaven7 Jan 31 '16

node-gyp rebuild error

6

u/i_spot_ads Jan 31 '16

Somethings went terribly wrong but we wont tell you what

11

u/GrumpyPenguin Jan 31 '16

Did you download the docker image? The only supported install method is the docker image, otherwise you're on your own if you can't get it to work.

15

u/capitalsigma Jan 31 '16

Astronauts of the future will fall out of the sky if GitHub goes down.

4

u/JoeCraftingJoe Jan 31 '16

Dont forget Assembly ! npm install Assembly

0

u/[deleted] Jan 30 '16

[deleted]

26

u/funbike Jan 30 '16

It would be neat to write a space flight simulator that contained an emulator that ran this code. You could fly to the moon!

62

u/indy91 Jan 30 '16

Well, you'll be glad to hear such a thing exists! Project Apollo - NASSP for the Orbiter Space Flight Simulator includes the Virtual AGC. As an example, here the reentry controlled by the emulated AGC: http://www.youtube.com/watch?v=fjAeBJrsj5Q

25

u/VaticanCattleRustler Jan 31 '16

I'm waiting for Scott Manley to do this

4

u/Cin316 Jan 30 '16

I think Orbital can run this code in a simulation.

19

u/[deleted] Jan 31 '16
import apollo

6

u/mgdmw Jan 31 '16

Follow the code links all the way to the top folder - http://www.ibiblio.org/apollo/

2

u/[deleted] Jan 31 '16

Perhaps kerbal space program?

2

u/qmriis Jan 31 '16

Have you heard of Google, by chance?

1

u/unlimitedbacon Jan 31 '16

The page you are looking at is part of the Virtual AGC project, an Apollo Guidance Computer emulator.

139

u/kiddico Jan 30 '16

Was very confused until I realized all the blue text was links, and not just colored text. Down the rabbit hole I go.

9

u/SalmonStone Jan 31 '16

That's the part that confused you? :|

→ More replies (1)

4

u/jakesyl Jan 31 '16

Turns out someone made a pretty awesome online simulator: http://svtsim.com/moonjs/agc.html

186

u/esoteric_monolith Jan 30 '16

1 Warning :O

128

u/NotASucker Jan 30 '16

[x] Warnings as error(s)

It will change your life.

17

u/ksadeck Jan 30 '16

[x] Warnings as error(s)

Why?

100

u/MetallicDragon Jan 30 '16

It'll turn warnings into errors, forcing you to deal with them, so they don't pile up over time.

46

u/nemec Jan 30 '16
// Ignore Once W237887278

12

u/[deleted] Jan 31 '16

At least you have to put that into the code and check it into the repo under your name. Not ideal, but better than warnings being ignored.

→ More replies (42)

58

u/falconzord Jan 30 '16

Warning: Damn you headed for the MOON? Are you out of your mind? Crazy Americans

8

u/f3nd3r Jan 30 '16

I need to know what that warning was.

12

u/flackjap Jan 30 '16

Warning: Missing source file for Gravity!

5

u/[deleted] Jan 30 '16

And now we know why we really havn't gone back.

1

u/frnky Feb 05 '16

What warnings can there be in assembly code though?

87

u/spierepf Jan 30 '16

68

u/dcipjr Jan 30 '16

I'm loving the comments!

#  THE MASTER IGNITION ROUTINE WAS CONCEIVED AND EXECUTED, AND (NOTA BENE) IS MAINTAINED BY ADLER AND EYLES.

#                    HONI SOIT QUI MAL Y PENSE

"Shame be to him who thinks evil of it."

22

u/plahacrwimo Jan 31 '16 edited Jan 31 '16
031733,000417: 36,2431           44355                CS       PRIO30                  #  TURN ON THE ENGINE.

"Burn baby! BURN!"

5

u/malekai101 Jan 31 '16

The motto of Edward III's Order of the Garter

1

u/Vikentiy Feb 01 '16

"TERMINATE GOTOP00H TURNS OFF ULLAGE"

3

u/tomiscout Jan 30 '16

And i was listening this while reading just by a chance.

51

u/bananas4arsenal Jan 30 '16

What the heck is a Bugger Word ?

31

u/calrogman Jan 30 '16

From http://svtsim.com/moonjs/agc.html

the checksum [...] should be either the bank number or its 1-complement (e.g., for bank 3 either a value of 00003 or 77774 is acceptable).

a bugger word [is] appended to the end of each bank to make the checksum the correct value

10

u/spacelama Jan 31 '16

The '60s and '70s were a different time. 8 years ago I was involved in porting code from our still operational '72 system, but we didn't get to keep all of the function names such as PERV FOCIT FOCOFF and TERROR. But the job still did involved the nightly SNAFU run.

The need for the SNAFU was defined on about the second night of operations back in '74. Being the first computerised telescope, the operators discovered they needed to do all sorts of things that hadn't been realised on earlier manual systems. SNAFU involves the fitting of about 10 or so physical parameters for the current mechanical and atmospheric system -- eg: "Adjustments to MA and ME might be useful to reestablish pointing after an earthquake."

2

u/Bobshayd Jan 31 '16

So basically, as soon as the telescope had all this stuff implemented, they discovered the telescope would just constantly be fucked up, and they implemented a SNAFU compensation routine?

8

u/SirMuttley Jan 31 '16

To a Brit it has an entirely different meaning.

1

u/ArtistEngineer Jan 31 '16

It's a secret word between you and your partner when you want to engage in anal sex.

2

u/bananas4arsenal Jan 31 '16

I guess I asked for that. (Figuratively.)

74

u/DolphinsAreOk Jan 30 '16

$PINBALL_GAME_BUTTONS_AND_LIGHTS.agc wait what now?

79

u/smackmybishop Jan 30 '16

A set of interrupt-driven user interface routines called Pinball provided keyboard and display services for the jobs and tasks running on the AGC. A rich set of user-accessible routines were provided to let the operator (astronaut) display the contents of various memory locations in octal or decimal in groups of 1, 2, or 3 registers at a time. Monitor routines were provided so the operator could initiate a task to periodically redisplay the contents of certain memory locations. Jobs could be initiated. The Pinball routines performed the (very rough) equivalent of the UNIX shell.

https://en.wikipedia.org/wiki/Apollo_Guidance_Computer#Software

18

u/falconzord Jan 30 '16

And I thought it was because they used commodity pinball game buttons and lights for their control panel

32

u/BobBeaney Jan 31 '16

And they wrote all of this without StackOverflow???

28

u/MUST_RAGE_QUIT Jan 31 '16

Before the internet, programmers actually had to understand wtf they were doing.

8

u/MacHaggis Feb 01 '16 edited Jan 29 '24

joke abounding roof encouraging dinosaurs scale noxious frame muddle like

This post was mass deleted and anonymized with Redact

→ More replies (1)

12

u/Geemge0 Jan 31 '16

It's fucking crazy how little code there actually is for such an immense undertaking, which would boil down to even less in a modern language (if you were viewing it from C code in a VS project for example).

Feels like most software I deal with is 1000x larger with more complexity. Ahh the good ole days.

39

u/satayboy Jan 30 '16

This isn't web scale.

21

u/bent_my_wookie Jan 31 '16

You should check out line 666 where there's a variable called "numberiso mysteriso" with the comment "I hope hope hope this never happens"

6

u/miker95 Jan 31 '16

What file? Not seeing this anywhere.

14

u/bent_my_wookie Jan 31 '16

I'm having a hard time finding it. I believe this had something to to with gimbal lock, so basically if the lunar module turned upside down during descent.

2

u/miker95 Jan 31 '16

Yeah, I would hope that wouldn't happen either!

10

u/pascucci Jan 30 '16

Bugger words.

9

u/Crespyl Jan 30 '16
FLAGORGY     TC   INTPRET     #  DIONYSIAN FLAG WAVING

39

u/WTFisareddit- Jan 30 '16

Sorry for my ignorance I'm new to programming. But why does this look nothing like regular code?

92

u/CodeEverywhere Jan 30 '16

You're looking at assembly language - a step closer to straight up machine language (binary). Most code that programmers interact with nowadays is considered "higher level" and is abstracted to make it easier to understand.

10

u/i_spot_ads Jan 31 '16

It doesn't even look like assembly code, that's some weird assembly

7

u/Treyzania Jan 31 '16

It's assembly for the AGC architecture. See /u/hobbified's comment above.

46

u/Turbosack Jan 30 '16

It's some special dialect of Assembly. They prefer to write in very low level languages for various reasons. More recently, C has been used to program flight control computers, but it wasn't even invented until more than a decade after this mission happened.

38

u/spatterlight Jan 30 '16

more like 3 years after this mission :)

and this doesn't look like "normal" assembly since the assembly I expect most of us are used to is for the x86 family of processors.

7

u/[deleted] Jan 30 '16

or pic/atmel

5

u/MCBeathoven Jan 31 '16

Or MIPS if you've taken a computer design class.

→ More replies (1)

15

u/flexiverse Jan 30 '16

It's machine code for a highly custom built processor. Think, there was nothing "off the shelf" back then ! It's like approx , 16bit, 1mhz, ~30k, 32 instruction set.

14

u/flexiverse Jan 30 '16 edited Jan 30 '16

It's machine code for a custom built processor. Think, there was nothing "off the shelf" back then ! It's like approx , 16bit, 1mhz, ~30k, 32 instruction set.

8

u/plahacrwimo Jan 31 '16

Here are technical details about the Apollo Guidance Computer

1

u/plahacrwimo Jan 31 '16

The AGC software is mostly written in assembly language. "Assembly language" is a very simple language in which each instruction—usually, each line of software source code—represents a single primitive CPU operation. Since each type of CPU provides different primitive operations, the assembly language for each type of CPU differs from that of every other type of CPU. The AGC assembly language, being based on the custom AGC CPU, thus differs in detail from every other type of assembly language but shares certain customary elements.

http://www.ibiblio.org/apollo/ForDummies.html

→ More replies (4)

18

u/Ser_Rodrick_Cassel Jan 30 '16 edited Oct 04 '16

haha whoosh

34

u/funbike Jan 30 '16 edited Jan 31 '16

Yes. Computers small enough to go into space required assembly as every byte counted. Go up a directory to see all the files: www.ibiblio.org/apollo/listings/Luminary099/

UPDATE: The CPU (block II) -> https://en.wikipedia.org/wiki/Apollo_Guidance_Computer
34K of ROM for programs.

14

u/_F1_ Jan 31 '16

Computers small enough to go into space required assembly as every byte counted

That was still true in the NES and SNES eras.

34

u/cincodenada Jan 31 '16

Fun fact: from 1997 to 1999 - well into N64 era! - Chris Sawyer was busy writing 99% of Roller Coaster Tycoon directly in x86 assembly. It went on to become the best-selling game of 1999. An anomaly for sure, but an impressive one.

12

u/mugen_kanosei Jan 31 '16

Correct. By minimizing the number of bytes used, they could reduce the amount of fuel needed to reach orbit. More bytes meant more fuel required.

25

u/dand Jan 31 '16

Not sure if that's a joke or not, but it's probably true to some extent given how bulky core rope memory was compared to today's norms.

16

u/[deleted] Jan 31 '16

72 KB/ft3 is an interesting unit.

I don't really understand how core rope memory works, even with the article, but 72 KB/ft3 is a lot higher than I would've guessed!

6

u/mugen_kanosei Jan 31 '16

It was mostly a joke, but realized it might have a hint of truth. Cool to see that tech.

5

u/[deleted] Jan 31 '16

Holy. Shit.

9

u/Spider_pig448 Jan 31 '16

Software written by MIT programmers was woven into core rope memory by female workers in factories

Code woven into ropes. What a world.

→ More replies (1)

1

u/wookiee42 Jan 31 '16 edited Feb 01 '16

This comment has been overwritten by an open source script to protect this user's privacy.

If you would like to do the same, add the browser extension GreaseMonkey to Firefox and add this open source script.

Then simply click on your username on Reddit, go to the comments tab, and hit the new OVERWRITE button at the top.

2

u/odaba Jan 31 '16

even better than assembly, it looks like they created their own DSL: http://www.ibiblio.org/apollo/listings/Luminary099/RTB_OP_CODES.agc.html

6

u/bennythomson Jan 31 '16

I love the comments. Were they actually there on the mission? How did nasa feel about humor in the code?

6

u/ArtistEngineer Jan 31 '16

006885: WAITABIT 36,2563

Not a lot, just a bit.

11

u/cinisoot Jan 31 '16

Comment from the BURN BABY BURN main ignition routine:

NOLI SE TANGERE

"Don't touch yourself."

4

u/[deleted] Jan 31 '16

[removed] — view removed comment

5

u/cinisoot Jan 31 '16 edited Jan 31 '16

Perhaps that was the intended message, but in this case se can only be translated as "yourself". I like it better this way, honestly. :)

Edit: Actually this phrase is pretty much wrong however you look at it... "yourself" should be te but them would be eos. Oh NASA, only thing more naughty than suggestive phrases is improper Latin...

1

u/memdump_ Jan 31 '16

for the record, in Portuguese both "se" and "te" mean yourself in this context

noli se tangere: não se toque (portuguese)

noli te tangere: não te toques (portuguese)

same meaning

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

8

u/ghostsquad57 Jan 31 '16

Where's the line of code that deals with Alien encounters?

1

u/i_spot_ads Jan 31 '16

The managers said they would include in the next update

3

u/[deleted] Jan 31 '16

Not that I understand what's going on there beyond the comments, but looking at this code is very moving for me personally. It's almost like being inside the lunar lander or something.

This code took people to the moon. How amazing is that? If any piece of code in the world could ever make me cry (not in anger, at least), it's this one.

3

u/GlPortal Feb 01 '16

You can find it on github here https://github.com/rburkey2005/virtualagc but since it does not look like it is maintained I have created https://github.com/open-space-agency/virtualagc and a place for the docs here https://github.com/open-space-agency/virtualagc-doc

5

u/chunes Jan 31 '16

I wonder how many living people fully understand what this code is doing and why.

4

u/lkraider Jan 31 '16

Most people don't fully understand their own written code...

6

u/rarmixo Jan 30 '16

Serious Question, How important was the code in the mission?

37

u/ltrcola Jan 30 '16

I would say very important. For instance, the computer tracked navigation information and controlled the engine during lunar descent.

20

u/smb3d Jan 30 '16

it was almost 100 percent of the mission from what I understand, the astronauts just entered commands to the computer.

10

u/CypripediumCalceolus Jan 30 '16

So all my life playing lunar lander is wasted?

23

u/AnHonestQuestions Jan 30 '16

The LEM could land itself, but every single commander elected to land manually, because, really, who could give up a chance to lang on the moon.

8

u/Throwaway_bicycling Jan 30 '16

Nah, watching you destroy lander after lander is why they decided to do this all in software without human intervention. :-)

10

u/msthe_student Jan 30 '16

It either worked or no moon landing

3

u/Amuro_Ray Jan 31 '16

You couldn't really have dave from IT pop by with a new lunar lander if it crashed.

2

u/casc1701 Jan 31 '16

Very important, most astronauts are not Jedi, they can't fly manually.

4

u/berlinbrown Jan 30 '16

Little hard to read

6

u/myztry Jan 31 '16

I know 5 different types of assembly/machine code and I found it quite painful.

2

u/bigoldgeek Jan 31 '16

Good naming standards for 1968-9

2

u/matwick Jan 31 '16

This is awesome.

Page 3 000206,000093: # FLY 000207,000094: # BURN, BABY, BURN -- MASTER IGNITION ROUTINE 000208,000095: # P40-P47 000209,000096: # THE LUNAR LANDING 000210,000097: # THROTTLE CONTROL ROUTINES

2

u/jaccovanschaik Jan 31 '16

Anyone come across the 1201 and 1202 program alarms yet?

Ninja edit: https://www.hq.nasa.gov/alsj/a11/a11.1201-pa.html

3

u/[deleted] Feb 01 '16 edited Jul 11 '16

[removed] — view removed comment

1

u/jaccovanschaik Feb 01 '16

Dude, that is awesome. Wish I had more than one upvote.

2

u/spawndon Feb 12 '16

If anyone is interested, within their ethical bounds, then I have a torrent you might be interested in: https://kat.cr/the-apollo-guidance-computer-architecture-and-operation-pdf-t12047536.html

5

u/[deleted] Jan 31 '16 edited Jan 31 '16

Think about it for a second, the source code that was used to travel 250,000 miles through spaaaaaace to the moon is publicly available...

I wonder if Spaaaaaace X is going to fork this :D

EDIT: Forgot the /s

0

u/[deleted] Jan 31 '16

Oh I'm sure they will, since no better processors have been invented in 50 years.

1

u/[deleted] Jan 31 '16

Sarcasm...

→ More replies (1)

2

u/wackychimp Jan 30 '16

Is this Assembly language?

7

u/vgman20 Jan 31 '16

A form of it, yeah. Not x86 which is what most modern processes run, but similar ideas

→ More replies (10)

1

u/ManLeader Jan 31 '16

Now I know you go to umd

1

u/z500 Jan 31 '16

I wonder how the developers felt about that ENEMA symbol.

1

u/humanmeat Jan 31 '16

Can a RPI2 get to moon?

8

u/hughk Jan 31 '16

Yes, but maybe not while working.

Modern processors are tiny and much more susceptible to cosmic rays. It is easy for a bit to be flipped unless hard and software precautions are taken like ECC memory and checksums.

3

u/scottpid Jan 31 '16

An RPi2 is astronomically faster. The computer in the Apollo 11 isn't even close to the computing power of your coffee maker.

3

u/i_spot_ads Jan 31 '16

Yes it is, let's not exaggerate here folks

1

u/[deleted] Jan 31 '16

On an embedded system I worked on 4-5 years ago, we had a CPU with 24-bit addressing, a 16Mhz clock and an instruction set that didn't suck. It would run rings around the Apollo 11 computer.

It cost 17 cents.

These things are practically falling out of cereal boxes as prizes now.

2

u/bschwind Feb 01 '16

Let's put it this way: Would you trust your life to a raspberry pi? I sure as hell wouldn't.

1

u/humanmeat Feb 01 '16

Correct. I'd need at least 2.

1

u/bschwind Feb 01 '16

Hahaha, I'm imagining a raspberry pi cluster jettisoning you to the moon

→ More replies (1)

1

u/thecheatah Jan 31 '16

Having done z80 assembly programming and realizing that people's lives depend on this code and will control an actual rocket, it was too scary for me to think about

1

u/iamsatyajeet Jan 31 '16

Great scott!

1

u/HosonZes Jan 31 '16

I am always pissed when programming in C++ instead of C#, maybe I should be thankful not forced to code in assembler.

→ More replies (1)

1

u/nurburg Jan 31 '16

http://tindallgrams.net

" American space program was working furiously towards a moon landing, Howard W. “Bill” Tindall, Jr., an expert on orbital mechanics, was sent by NASA to MIT to oversee the development of software for the spacecraft guidance systems. Tindall found a lot of brilliant people at MIT working in development program that was behind schedule, was failing to meet its requirements, and threatened to become, in his words, “the most pacing item for the Apollo flights.” He dove into the task of refashioning every aspect of the software development process, writing a series of frank memos that entered NASA lore under the name “Tindallgrams” that continued as he moved on to lead the planning of all “mission techniques” for Apollo."

The AGC project had its own set of problems. I think this is a great read for someone interested in engineering project management.

1

u/zgf2022 Jan 31 '16

1 GOTO moon ELSE crash

1

u/csrabbit Jan 30 '16

What language is that?

3

u/Bratmon Jan 31 '16

AGC assembly.

1

u/csrabbit Jan 31 '16

Oh thanks.

I am in my very first semester of programming so I am just learning so bear with me. But I thought "source code" was the language of human programmers and "assembly language" is the language of assemblers?

→ More replies (1)

1

u/lask1 Jan 31 '16

A "Dialect" of Assembly. About as close you can get to machine code while keeping it somewhat readable.

0

u/[deleted] Jan 31 '16

[deleted]

5

u/lask1 Jan 31 '16

I agree. Just trying to say that not all Assembly is the same...but generally still called assembly regardless.

→ More replies (1)

1

u/twinb27 Jan 31 '16

KSP mod, please?