Beta

Slashdot: News for Nerds

×

Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

How They Built the Software of Apollo 11

kdawson posted about 5 years ago | from the we-had-to-use-the-letter-o dept.

Space 220

LinuxScribe tips a piece up at Linux.com with inside details on the design and construction of the Apollo 11 code. There are some analogies to open source development but they are slim. MIT drafted the code — to run on the Apollo Guidance Computer, a device with less grunt than an IBM XT — it had 2K of memory and a 1-MHz clock speed. It was an amazing machine for its time. NASA engineers tested, polished, simulated, and refined the code. "The software was programmed on IBM punch cards. They had 80-columns and were 'assembled' to instruction binary on mainframes... and it took hours. ... During the mission, most of the software code couldn't be changed because it was hard-coded into the hardware, like ROM today... But during pre-launch design simulations, problems that came up in the code could sometimes be finessed by... computer engineers using a small amount of erasable memory that was available for the programs. The software used a low-level assembly language and was controlled using pairs or segments of numbers entered into a square-shaped, numeric-only keyboard called a Display and Keyboard Unit... The two-digit codes stood for 'nouns' or 'verbs,' and were used to enter commands or data, such as spacecraft docking angles or time spans for operations." Reader Smark adds, "The Google Code Blog announced today that the Virtual AGC and AGS project has transcribed the Command Module and Lunar Excursion Module code used during the Apollo 11 moon landing. The code is viewable at the VirtualAGC Google Code Page."

cancel ×

220 comments

Fake (4, Funny)

Yuioup (452151) | about 5 years ago | (#28768209)

Wow. They sure went out of their way to fake the moon landing. I bet the source-code is fake too :-P

Y

Re:Fake (2, Funny)

bAdministrator (815570) | about 5 years ago | (#28768255)

lol Cheyenne Mountain doesn't exist.

Re:Fake (1)

L4t3r4lu5 (1216702) | about 5 years ago | (#28768343)

The software used a low-level assembly language and was controlled using ... numbers entered into a square-shaped, numeric-only keyboard called a Display and Keyboard Unit

I'm inclined to agree with the parent. This sounds just like the input methods of a Ti-86 calculator...

Re:Fake (5, Informative)

MichaelSmith (789609) | about 5 years ago | (#28768383)

This is an Apollo DSKY [nasa.gov] BTW. A Classic command would have been

[VERB]66[PRO]

Which loosely translated means give me manual control, I need to land this sucker. If you watch the descent movies you will hear "P66" being called out by the LMP a few minutes before landing. Interesting to note that the 6 is right beside PRO. I wonder if there is a bit of clever UI design in that.

Re:Fake (4, Informative)

CWRUisTakingMyMoney (939585) | about 5 years ago | (#28768977)

Just to be pedantic, it was actually the Commander (Armstrong) who actually flew the LM to the surface, not the misnomered LMP, who mainly monitored things and called out warnings and readings. So if anyone said P66 (which the transcript [nasa.gov] doesn't indicate literally happened), it was more likely the Commander, who would've entered the program. The transcript has Armstrong saying "I'm going to..." when he goes into P66.

Re:Fake (5, Informative)

commodore64_love (1445365) | about 5 years ago | (#28768889)

This Apollo computer has specs almost identical to ancient 1970s home technologies like the Atari VCS/2600 game console (1 megahertz, 2K ROM). Or an Atari 400/Commodore VIC-20 computers (1 megahertz, ~8K RAM). That gives you a rough idea of how "weak" the computer inside Apollo truly was.

Re:Fake (5, Insightful)

iocat (572367) | about 5 years ago | (#28769579)

I think you've got the analogy backwards. It actually shows how powerful and capable those early micros were. Kind of embarassing when your multi-gigahertz PC can barely run a word processor, or stalls when trying to display a photo, huh?

Re:Fake (2, Funny)

morgan_greywolf (835522) | about 5 years ago | (#28768351)

Wow. They sure went out of their way to fake the moon landing. I bet the source-code is fake too :-PY

No, they couldn't have written in Python as it wasn't even a gleam in Guido's eye yet.

Good Book on the Subject (3, Informative)

Anonymous Coward | about 5 years ago | (#28768495)

Journey to the Moon: The History of the Apollo Guidance Computer
by Eldon C. Hall
ISBN: 156347185X

If anyone is ever in the Mountain View area the Computer History Museum has one of them on display.

Richard Feynman's book 'What Do You Care What Other People Think?' also mentions the software development scheme used for space shuttle hardware in the context of the Rogers Commission report on the Challenger accident.
ISBN: 0393320928

Re:Fake (2, Funny)

elrous0 (869638) | about 5 years ago | (#28768749)

I sure hope it's not fake code. I'm a time traveling entrepreneur, and I'm going to make a FORTUNE selling this to the Russians in 1965.

Re:Fake (1)

GeorgeStone22 (1532191) | about 5 years ago | (#28769445)

The Russians didn't even use computers to guide their version of the lunar lander. They had mechanical controls in the form of what looked like a giant handbrake.

Re:Fake (1)

gefafwysp (707762) | about 5 years ago | (#28769911)

Boy, I wish all the conspiracy theorists would just VERB 37 ENTER 00 ENTER.

Space, Spacecraft *and* Code (5, Funny)

MrKaos (858439) | about 5 years ago | (#28768225)

I think I just had a geekgasm.

Re:Space, Spacecraft *and* Code (1)

mcgrew (92797) | about 5 years ago | (#28769489)

Wow, I'm glad I didn't see your comment before I took Tami to D'arcy's Pint last week! She's about five foot nothing or shorter and over 200 pounds*, and as we were walking to the car she said "I just had a food orgasm".

If I'd seen your post I'd probably stuck my foot in my mouth and said "a fatgasm?"

That would not have been pretty...

*She has a boyfriend, and it isn't me. he works at D'Arcy's, I can't figure out why he's jealous

README.txt (4, Funny)

Norsefire (1494323) | about 5 years ago | (#28768227)

For Vista, the following steps may need to be performed manually after installation:

1.
2.

-- README.txt [google.com]

Wow, even rocket scientists don't know how to make code work on Vista.

Re:README.txt (2, Funny)

K. S. Kyosuke (729550) | about 5 years ago | (#28769749)

That's because Microsoft tries very hard to convince everyone by developing Visual Studio that programming for Windows isn't rocket science. Which is why rocket scientists can't program for Windows.

Proper Old Skool (3, Interesting)

Goth Biker Babe (311502) | about 5 years ago | (#28768233)

As some one old enough to enter raw hex in to a hex keypad on a machine with an LED display having hand assembled the code in the back of her math exercise book during a math lesson (when I should have been learning stats) this doesn't sound too different.

Re:Proper Old Skool (4, Insightful)

Norsefire (1494323) | about 5 years ago | (#28768249)

Except if you screwed up you didn't cause several people to explode.

Re:Proper Old Skool (4, Interesting)

MichaelSmith (789609) | about 5 years ago | (#28768313)

It was amazing they did so well on Apollo. The only real guidance screw up was on Apollo 11. Every other landing was spot on. Apollo 12 had been targeted for the middle of surveyor crater and was dead on when Pete Conrad got his first look at the landing sight. He had to fly manually to avoid the target.

Re:Proper Old Skool (3, Informative)

Stele (9443) | about 5 years ago | (#28768681)

I don't believe there was a screw up of computer guidance in Apollo 11. Armstrong landed way off-target because there were large boulders in the way that weren't accounted for properly in the survey photos. This is why they used up almost all of their descent fuel.

Re:Proper Old Skool (5, Informative)

icebrain (944107) | about 5 years ago | (#28769053)

They overshot the original intended landing point by about 4 miles because of a timing error--the descent burn started about four seconds late.

The rocks-and-boulders-and-crater thing you're thinking of was a different issue.

Re:Proper Old Skool (1)

morgan_greywolf (835522) | about 5 years ago | (#28768325)

Except if you screwed up you didn't cause several people to explode.

Well, ya never know with power supplies back then...

Re:Proper Old Skool (5, Interesting)

Anonymous Coward | about 5 years ago | (#28768843)

The problem with Apollo 11's guidance wasn't the equpment, it was the moon. Look up MASCONs. Essentially, the moon's density varies from spot to spot and these differences in density changed the gravitational force affecting the LM during its descent. This, in turn, added errors that couldn't be accounted for, pre-flight.

What they did on subsequent flights was to use radar doppler data on the LM as it came around from the backside of the moon to determine the difference between the expected flight path and the actual flight path. Once they had this data, they updated the LM's guidance computer to correct for this effect.

One trickiness is that the state vector of the LM was a 6-tuple. Rather than update the state vector, they figured out that they could just update the range to the landing site by updating 1 number.

Google search for Emil Scheisser. He's the guy who figured this out.

Re:Proper Old Skool (1)

Opportunist (166417) | about 5 years ago | (#28769343)

Several? Oh c'mon, three, tops.

I hate it when people exaggerate.

Re:Proper Old Skool (1)

mcgrew (92797) | about 5 years ago | (#28769367)

Nobody exploded. Three astronauts burned to death in the Apollo 1 fire, but they didn't explode. That was the Space Shuttle Challenger.

And neither of those tragedies had anything to do with software; in both cases, it was hardware design flaws. In Apollo 1 the mistake was using pure oxygen in the cabin, where a spark could incinerate everyone and everything in there (as well as the malfunctioning hardware that caused the spark), in the case of the Challenger it was a management mistake, as the engineeers didn't trust the booster's O rings in sub-freezing weather, but their supervisors didn't pass the word along to Mission Control.

Even the Columbia accident had nothing to do with software; it was a piece of frozen foam that knocked off heat tiles from the wing's leading edge.

Re:Proper Old Skool (5, Funny)

morgan_greywolf (835522) | about 5 years ago | (#28768321)

As some one old enough to enter raw hex in to a hex keypad on a machine with an LED display having hand assembled the code in the back of her math exercise book during a math lesson (when I should have been learning stats) this doesn't sound too different.

You kids and yer "raw hex keypads" and "LED readouts." Why, back in my day, we had toggle switches and light bulbs! And we liked it that way! Now you kids get off my law.....hey, wait...you're a girl? You can stay. :)

Re:Proper Old Skool (-1, Offtopic)

L4t3r4lu5 (1216702) | about 5 years ago | (#28768357)

Goth.
Biker.
Babe.

Are you sure you're in the right place?

Re:Proper Old Skool (1)

L4t3r4lu5 (1216702) | about 5 years ago | (#28769315)

Perhaps I should have included the reference to her writing raw hex too.

Seriously, what the hell? Are you the real AcidBurn?

Re:Proper Old Skool (-1, Flamebait)

ionix5891 (1228718) | about 5 years ago | (#28768423)

her? woa FEMALE ALERT!

Re:Proper Old Skool (0)

Anonymous Coward | about 5 years ago | (#28768455)

Bah! electronics. I had to program processes in pneumatics for hazardous environments. You kids and your electrons. Bah!

Re:Proper Old Skool (-1, Flamebait)

hattig (47930) | about 5 years ago | (#28768605)

Hello. It appears that you are:

a) goth (is this trad goth or darkwave/ebm/cyber goth? top floor slimes or dank batcave? sunday night laughtons or thursday night met? or are you really into Saxon?)
b) into bikes
c) a babe
d) female
e) a geek/nerd/awesome that likes proper computers.

This qualifies you for a session with me! Yes, I am a Rockwell AIM65, and I want you to excite my little red digits on my 20 character segment display until I spool from my little thermal printer.

Btw anyone called gothbikerdude will not get a similar response. Pick on the Altair sitting in the corner listening to hip hop instead.

Proper Old Skool-CNC. (0)

Anonymous Coward | about 5 years ago | (#28768709)

G and P codes. People who work with CNCs are already familiar with the keypad/ LCD method you describe.

Re:Proper Old Skool (1)

Lumpy (12016) | about 5 years ago | (#28768727)

Exactly. my first computer was a KIM-1 single board that you had to convert your assembler to hex yourself. I did it so much I compiled assembler in my head.

I find it hilarious when programmers today freak out if they don't have 900 metric tons of libraries to use when they program and a nice glossy IDE.

Plus the article summary is misleading, the computer in the lander was lower power in processing than my watch or my old TI scientific calculator. Calling it less powerful than a IBM pc XT is not giving it enough credit.

The typical laptop today has more processing power than the entire planet had back in the 60's.

Re:Proper Old Skool (3, Informative)

Opportunist (166417) | about 5 years ago | (#28769383)

The typical keyboard has more than most computers in the 60s. The average gamer keyboard boasts more processing and storage power than the average computer of the 70s.

Basically, they flew to the moon on two keyboards and a programmable mouse.

Apollo 15 (3, Interesting)

MichaelSmith (789609) | about 5 years ago | (#28768267)

...was the first flight to land in terrain where the descent trajectory had to be designed to avoid high altitude terrain. By that I mean they had to fly over a mountain, then into a valley for the landing.

The terrain model in the PNGS had five vectors in memory to represent terrain. Back in those days, RAM was expensive.

Re:Apollo 15 (1)

Bazman (4849) | about 5 years ago | (#28768783)

No, you're confusing Apollo 15 with the landscape on the arcade Lunar Lander game, surely!

looking at the code... (2, Funny)

circletimessquare (444983) | about 5 years ago | (#28768279)

this is clearly a horrible case of bloatware

Re:looking at the code... (1)

mcgrew (92797) | about 5 years ago | (#28769523)

So was my ex wife

1 MHz != 1000 Hz (2, Informative)

Fleetie (603229) | about 5 years ago | (#28768291)

"The Apollo's Guidance Computer was a snail-like 1.024 MHz in comparison, and it's external signaling was half that -- actually measured in Hz (1/1000th of 1 MHz, much as 1 MHz is 1/1000 of 1 GHz)." FAIL!

Re:1 MHz != 1000 Hz (2, Insightful)

VMaN (164134) | about 5 years ago | (#28768413)

No love for KHz?

Re:1 MHz != 1000 Hz (2, Interesting)

commodore64_love (1445365) | about 5 years ago | (#28768493)

You're wrong. Only RAM or ROM is measured in base 2, due to the innate binary nature of computers (they measure in multiples of 256, 512, 1024, 2048, et cetera). Clock speed is independent of that and measured in base 10 such that 1 megahertz == 1000 hertz.

Anyway:

This Apollo computer has specs almost identical to ancient 1970s home technologies like the Atari VCS/2600 (1 megahertz, 2K ROM) or an Atari 400 computer or a Commodore VIC-20 (1 megahertz, ~8K RAM). That gives you a rough idea of how "weak" the computer inside Apollo truly was.

Re:1 MHz != 1000 Hz (1)

SBrach (1073190) | about 5 years ago | (#28768629)

No you're wrong, here is a hint;

peta
tera
giga
mega
kilo
hecto
deca

deci
centi
milli
micro
nano
pico
femto

Re:1 MHz != 1000 Hz (1)

commodore64_love (1445365) | about 5 years ago | (#28768695)

Ooops. 1 MHz = 1 million hertz.

I wasn't really thinking. I was hung-up on the base 2/base 10 argument (which frankly pisses me off). It seems the great-grandparent believes 1 MHz == 1024 x 1024 hertz == 1,048,576 hertz which would not be correct.

Re:1 MHz != 1000 Hz (0)

Anonymous Coward | about 5 years ago | (#28768825)

You've never gotten laid once in your life have you?

Re:1 MHz != 1000 Hz (1)

MrKaos (858439) | about 5 years ago | (#28768837)

I think the binary [wikipedia.org] measure might clear up the differences.

Re:1 MHz != 1000 Hz (1)

LordKronos (470910) | about 5 years ago | (#28769359)

I see no indication at all that he beleived 1 MHz == 1024 x 1024 hertz. You made a mistake and misunderstood what his original post was trying to address. No shame in that...many of us have done the same from time to time. However, just admit your mistake instead of making up stuff to cover your ass.

well, since it pisses you off personally (0)

Anonymous Coward | about 5 years ago | (#28769809)

let's just forget that whole 'on topic' thing and dig a little into what is really bothering you. how about wombats? do you like wombats?

Re:1 MHz != 1000 Hz (0)

Anonymous Coward | about 5 years ago | (#28768649)

I think he's referring to the fact that 1/1000th of 1 MHz is 1 kHz, not 1 Hz.

But yes, while I don't like the "binary" prefixes for bytes, they're unquestionably wrong for anything else.

Re:1 MHz != 1000 Hz (2, Informative)

Bakkster (1529253) | about 5 years ago | (#28768773)

Only RAM or ROM is measured in base 2, due to the innate binary nature of computers (they measure in multiples of 256, 512, 1024, 2048, et cetera). Clock speed is independent of that and measured in base 10 such that 1 megahertz == 1000 hertz.

Absolutely correct. Hertz is an SI unit. Just as 1km = 1000m, so does 1kHz = 1000Hz.

http://en.wikipedia.org/wiki/Hertz

Re:1 MHz != 1000 Hz (1)

Rocketship Underpant (804162) | about 5 years ago | (#28769825)

I assume that by "FAIL", you're referring to that apostrophe that shouldn't be there.

Amazing (2, Funny)

hamburgler007 (1420537) | about 5 years ago | (#28768305)

When you consider how many shitty programmers there are now who use variable names that take up nearly 2k.

Re:Amazing (1)

gbjbaanb (229885) | about 5 years ago | (#28768451)

but my objects use more than 2k for their vtable entries, memory guard blocks and garbage collector references before I even start writing any of my code, you insensitive clod!

Re:Amazing (0)

Anonymous Coward | about 5 years ago | (#28768787)

So what ? Other times, other constraints.

Re:Amazing (1)

hamburgler007 (1420537) | about 5 years ago | (#28769893)

The point I was making was that the programmers did an amazing job considering the constraints they had to work under. Many programmers don't have to work under many constraints which leads to lazy, sloppy and inefficient code. Of course this doesn't apply to everyone, but when you had to consider each and every byte that went into your code it manifested much better programming practices.

Calculating trajectories for Apollo program (5, Interesting)

bAdministrator (815570) | about 5 years ago | (#28768307)

http://embedded.com/columns/technicalinsights/218401508?pgno=1 [embedded.com]

"Calculating trajectories for Apollo program"
"Jack Crenshaw describes what he and team members did to research trajectories for the Apollo missions."

Re:Calculating trajectories for Apollo program (1)

destroyer661 (847607) | about 5 years ago | (#28768473)

Thanks for that link, was a good read.

shut up already (1, Insightful)

Anonymous Coward | about 5 years ago | (#28768333)

no, there are no analogies to open source anything here. collaboration != open source.

can we please have an article about computing where someone isn't droning on and on about open source at any opportunity? it's annoying that any attempt to discuss anything is sabotaged by open source zealotry. it's like having someone who has to interject crap about their religion into every conversation.

Re:shut up already (0)

Anonymous Coward | about 5 years ago | (#28769057)

modded down by open source fanatics because it's true.

they'd have you silenced just for telling the truth about their cult, like any other extremist.

Moon Machines (1)

Anti_Climax (447121) | about 5 years ago | (#28768403)

I've watched these videos on the different engineering challenges faced by the Apollo program well before this 40th anniversary... but now's as good a time to revisit them as any:

http://www.videosift.com/video/Moon-Machines-The-Navigation-Computer-1-5 [videosift.com]
http://www.videosift.com/video/Moon-Machines-Command-Module [videosift.com]
http://www.videosift.com/video/Moon-Machines-Space-Suits-1-5 [videosift.com]
http://www.videosift.com/video/Moon-Machines-Lunar-Rover-1-5 [videosift.com]
http://www.videosift.com/video/Moon-Machines-Saturn-V-1-5 [videosift.com]

Waist deep in snow, uphill both ways (4, Funny)

140Mandak262Jamuna (970587) | about 5 years ago | (#28768405)

In those days we had to program the computer the size of a school bus strapped to our backs while trudging through the waist deep snow, for five miles one way, uphill both ways, without mittens while the politicians were whipping us yelling, "you don't want the Ruskies to win, do you?", those were the days boys. Now these young whippersnappers are using laptops with 8 Gigs of RAM and still could not write a simple javascript engine with a just in time debugger without creating a buffer overflow vulnerability while fed very long unicode strings.... bah... now get off my lawn.

Re:Waist deep in snow, uphill both ways (1)

commodore64_love (1445365) | about 5 years ago | (#28768621)

I never understood you people who loved your giant, bulky VAX machines and insisted I should use one to get "real" work done.

Bah humbug! I did all my work on an Atari 800 (and later a C-64) which was only slightly bigger than one of today's keyboards. Nice and portable and all you needed was a standard TV to display the code/results.

Re:Waist deep in snow, uphill both ways (0)

Anonymous Coward | about 5 years ago | (#28769083)

Nice and portable and all you needed was a standard TV to display the code/results.

Because it was only a toy, son. Now, go play with your GI Joe and get off my lawn.

Re:Waist deep in snow, uphill both ways (0)

Anonymous Coward | about 5 years ago | (#28769491)

How's this for being dated: I worked with computers that you could actually stand inside. In the operations center during the graveyard shift we would get bored and throw the write protect rings from tapes at each other. During the melees, you could get inside the some of the big IBM mainframes to seek shelter and wait for your next victim.......

Re:Waist deep in snow, uphill both ways (1)

mcgrew (92797) | about 5 years ago | (#28769843)

In those days we had to program the computer the size of a school bus strapped to our backs

You had laptops? I'm jealous!

Variation on a theme (2, Insightful)

Half-pint HAL (718102) | about 5 years ago | (#28768419)

When I wrote my own equivalent program in C= BASIC, you weren't in a lunar module at all -- you were on foot. There was no fuel, but you had a time limit. You'd been poisoned, you see, and you had to get to hospital, quick. Go too slow, you don't reach the hospital in time, die. Go too fast, run into a wall, die.

I was a very strange child.

C!= BASIC (0)

Anonymous Coward | about 5 years ago | (#28769021)

C and BASIC are very different languages.

Re:C!= BASIC (0)

Anonymous Coward | about 5 years ago | (#28769829)

Woosh!

Re:C!= BASIC (1)

bsDaemon (87307) | about 5 years ago | (#28769841)

"C=" is ASCII-ism for the Commodore logo, sort of like Apple ][

Switching to manual (1)

mc1138 (718275) | about 5 years ago | (#28768435)

Considering how simple by today's terms the computer was, plus the fact that it couldn't handle all the input anyway leaving the astronauts to essentially land the craft without any assistance. Not to say the computers didn't help with all the other extraordinary feats that were accomplished, but it goes to show that relying solely on computers especially in essentially untested conditions can be dangerous and foolish.

Atari 2600 (2, Insightful)

CountZer0(QAW) (874828) | about 5 years ago | (#28768439)

Wow essentially man landed on the moon with the computing power of a 2600.

Source (1)

Threni (635302) | about 5 years ago | (#28768443)

Where is it? There's something about subversion, then an URL which doesn't work. There can't be more than a few K of source - why not just provide a link for people who don't have subversion installed on their phones/PCs etc?

!opensource (3, Informative)

NevarMore (248971) | about 5 years ago | (#28768447)

Shoehorning a piece of software into an "open source" angle really doesn't do any justice to open source or the software you're writing about.

Instead of writing about open source software, write about good software that happens to be open source. If there is really good software where we know something about the code, like this Apollo software, then write about that. Discuss the collaborative development the engineers did, talk about the open source clone over at Google Code, but calling this "like opensource but only for NASA" is a massive distraction.

less grunt than an IBM XT (1)

mcgrew (92797) | about 5 years ago | (#28768561)

The History Channel was running space history stories all day Sunday, and in one of them about Apollo 11 (IIRC it was the show "Modern Machines") they said that a pocket calculator had more power than the 180 lb onboard Apollo computer. Integrated citcuts were very primitive, containing less than 100 transistors each (according to wikipedia).

An XT was far more powerful than a pocket calculator. Your cell phone is more powerful than an IBM-XT.

When they were landing on the moon, the computer was in the process of crashing - it had computational overloads that it couldn't handle. On top of this, they almost ran out of feul.

I was seventeen and at work [slashdot.org] when the Eagle landed, I journaled that night yesterday.

And you too can play with the code! (3, Informative)

arkham6 (24514) | about 5 years ago | (#28768581)

1: Download the excellent sim Orbiter:
http://orbit.medphys.ucl.ac.uk/

2: Download the Apollo addon NASSP:
http://nassp.sourceforge.net/wiki/Main_Page

3: Download the virtual AGC/AGC software:
http://www.ibiblio.org/apollo/

4: ?????
(Literally, spend hours trying to figure out how to fly, how to get into orbit, reading the detailed manuals, etc etc etc)

5: Profit!

You can run the code in a simulator (1)

TuringTest (533084) | about 5 years ago | (#28768615)

Available here [dunnbypaul.net]

No you can't! (-1, Troll)

Anonymous Coward | about 5 years ago | (#28769643)

Orbiter is a closed-source Windows application. It has no place on Slashdot. When your addon runs in FlightGear or a real Open Source project, come tell me. Until then, you're just promoting the closed-source monopoly.

Lmitied possibilities were probably a benefit... (1)

divisionbyzero (300681) | about 5 years ago | (#28768585)

A lot of the problems we see with software today are due to the complexity of the hardware and software systems on which it is built. For the most part there are way too many variable to keep in your head at once to make sure they are all coherent.

future on board computing (1)

Ins0mau (1305569) | about 5 years ago | (#28768597)

In future missions, astronauts reportedly plan to bring along many thousands of times more on board computing power than previous eras by "not forgetting their mobile phones".

Interesting story on the virtualAGC page (4, Interesting)

cluke (30394) | about 5 years ago | (#28768625)

Next time you think you have a tight deadline:

"Final exam (for the advanced student)
Prior to the descent of Apollo 14's LM to the lunar surface, a short in the LM control panel caused the abort switch to be triggered intermittently. If this actually happened during the landing, an abort would have automatically occurred (meaning that the lower stage of the LM would have been jettisoned and the upper stage would have blasted back into space). No landing would have been possible, and the astronauts would have faced the grave situation of needing rescue by the command module. It was therefore necessary, in the orbit or two before descent, for the some of the software designers to work out a fix for this problem that allowed a software lockout of the abort switch during the initial phase of the descent, but also allowed reenabling the abort switch later in the descent, in case the astronauts needed to use it. They did, in fact, work out such a fix. Your mission, should you choose to accept it, is this: Work out such a fix and send it to me. Remember, your fix can only involve erasable memory, since the core-rope containing the program cannot be altered. The fix needs to be keyed in at the DSKY by the astronauts. You have about 90 minutes to figure it out. Go!"

http://www.ibiblio.org/apollo/index.html#Final_exam_for_the_advanced_student_ [ibiblio.org]

Re:Interesting story on the virtualAGC page (1)

Lumpy (12016) | about 5 years ago | (#28768799)

Simple....

If altitude MAX display 80085 on display.

I had room to put in a cookie :-)

Re:Interesting story on the virtualAGC page (1)

Opportunist (166417) | about 5 years ago | (#28769477)

I guess a little more information would be necessary.

NASA on software development for the space shuttle (3, Interesting)

Gyske (687847) | about 5 years ago | (#28768627)

A few years ago I read an excellent article on how NASA develops software for the space shuttle. It focuses on the development process. The article is quite long, but well written, informative and entertaining. Read it here: http://www.fastcompany.com/magazine/06/writestuff.html?page=0%2C3 [fastcompany.com]

Lunar Lander (1)

tedgyz (515156) | about 5 years ago | (#28768653)

Let's give praise for the great game simulating the lunar landing experience. Running out of fuel was such a sick feeling - watching your module helplessly smash into the surface.

Sounds about right (1)

smchris (464899) | about 5 years ago | (#28768743)

I had a base 2K of RAM and a 1 mhz processor on my Sinclair ZX81 too, and I could play lunar lander (with what we called graphics back then on the whopping 16K expansion).

Re:Sounds about right (1)

Opportunist (166417) | about 5 years ago | (#28769515)

And they should have used less, considering reality did all the graphics for them.

I always said it, application programmers have it better than game programmers. They get all their flashy graphics and environment for free. :(

Re:Sounds about right (1)

mcgrew (92797) | about 5 years ago | (#28769955)

The module only had 2k, half of the Timex's base memory, and no expansion pack. Dod you write it yourself, or buy it?

Memories (1)

BCW2 (168187) | about 5 years ago | (#28768789)

My father in law worked for Boeing in the late 60's and was part of the team of Engineers that built hardware and coded for the LEM. His first experience with code.
One of his later jobs was QA for every line of code in the fire control computer for Seawolf.

40 Years After the Wright Brothers... (1)

Baldrson (78598) | about 5 years ago | (#28768849)

Its fascinating how history repeats itself. I mean 40 years after the Wright Brother's first flight, the US government was still trying to recreate the feat.

Re:40 Years After the Wright Brothers... (1)

LordKronos (470910) | about 5 years ago | (#28769551)

Huh? The first Wright Brothers flight was 1903. According to wikipedia, "Heavier-than-air aircraft were first used in the military in the Italo-Turkish War", and that war took place in 1911-12.

http://en.wikipedia.org/wiki/Military_aviation [wikipedia.org]

Unless you mean they were unable to build an exactly identical plane from blueprints and get it to function, which wouldn't be a surprise since the blueprints wouldn't account for any variations that were introduced (accidentally or intentionally) when the Wright Brothers built their plane.

Young engineers working on Apollo (1)

Queltor (45517) | about 5 years ago | (#28769261)

My father was a young electrical engineer working on Apollo.

I remember watching Apollo 13 with him (the movie, not the actual mission). It was a long stream of, "I remember him..." and "this is what they didn't include in the movie..."

Re:Young engineers working on Apollo (1)

Opportunist (166417) | about 5 years ago | (#28769593)

They should make a movie with him for History Channel or something. Where he gets to tell the "didn't include" stories. Apollo 13 was a nice movie (still love watching it from time to time), but I was already sure (and now it's confirmed) that we didn't even see 10 percent of what happened and what they had to hack together.

IMO it's one of the most interesting pieces of space flight. When people have to think fast and engineer solutions under insane pressure, it shows what they're really made of. And those engineers pulled off an insane feat. If you ask me, A13 showed a lot more about the genius of humankind than A11. Coming up with something when you can test it is fairly easy. Try something, watch it fly (or blow up), learn from it, try again. When you have only ONE attempt and it HAS to work, you really show whether you know your stuff or whether you're pissing in the wind.

AGC could multitask 8 jobs at once! (1)

Viol8 (599362) | about 5 years ago | (#28769355)

In 2K in 1969!

But in the 21st century microsoft have decided that a 1Ghz processor (thats 1000 times faster than the apollo CPU) in a netbook is not enough for poor Windows 7 to run more than 3 applications at a time. Gimme a friggin break! FFS , what kind of idiots are calling themselves systems programmers these days.

Dadddy how was I made? (1)

MrKaos (858439) | about 5 years ago | (#28769421)

Well Hal, once upon a time...

1202 errors (1)

the-matt-mobile (621817) | about 5 years ago | (#28769589)

The part that is most amazing to me is that the software was was spitting errors [abc.net.au] the whole time the LEM was landing. It seems like that would make it awfully difficult to concentrate on landing when you're basically getting out-of-memory exceptions the whole way down. I think that they wound up landing with something like 17 seconds of fuel left. It's really a wonder we made it as far as we did on that technology.

good idea (0, Offtopic)

anc w. (1592827) | about 5 years ago | (#28769713)

very good idea

flash / javscript version (0)

Anonymous Coward | about 5 years ago | (#28769789)

I know I'm lazy, but is there a flash / javscript simulation of the AGC?

AGC Replica (1)

root_42 (103434) | about 5 years ago | (#28769889)

There is one dude who built a working replica of the AGC and let it run the original flight software:

http://klabs.org/history/build_agc/ [klabs.org]

Lots of good information in those PDFs. Also very interesting that the AGC already ran some simple real-time capable multitasked OS. Simple, but still with a lot of modern ideas in it.

Interesting Book on Apollo & Computing (1)

TwobyTwo (588727) | about 5 years ago | (#28769947)

Though not primarily about the code or machine structure, the recently published book "Digital Apollo: Human and Machine in Spaceflight" by David A. Mindell (Amazon [amazon.com] ) has lots of interesting insights into the design decisions and tradeoffs that led to the Apollo software being discussed here.

In particular, it explores debates that might now seem quaint as to whether computers could be programmed to make the decisions necessary to reliably fly and land a spacecraft, and especially, what the right tradeoffs are between direct human control, fully automatic operation, and intermediate modes in which the computers provide the human with higher level abstractions than the raw hardware. Ultimately, for the moon landings, it seems to be this intermediate design point that proved compelling: when Armstrong "overrode" the automatic guidance to choose a landing spot, he was not directly controlling each thruster or the main descent rocket; rather, he was instructing a program to reposition the craft, change speeds, etc., and the computer adjusted the various thrusters and engines appropriately.

There's also a quite good discussion of the famous 1202 errors that almost caused an abort, and of how they related to what was then the very novel and robust architecture of the software created by MIT and the Instrumentation Lab. The book also provides lots of interesting information about scheduling issues (nobody noticed until relatively late in the game that software would be important or difficult), some about hardware architecture (the so-called "ropes" that carried the code in a form that we would think of as ROM today). Overall, a good book for those interested in details.

Load More Comments
Slashdot Account

Need an Account?

Forgot your password?

Don't worry, we never post anything without your permission.

Submission Text Formatting Tips

We support a small subset of HTML, namely these tags:

  • b
  • i
  • p
  • br
  • a
  • ol
  • ul
  • li
  • dl
  • dt
  • dd
  • em
  • strong
  • tt
  • blockquote
  • div
  • quote
  • ecode

"ecode" can be used for code snippets, for example:

<ecode>    while(1) { do_something(); } </ecode>
Create a Slashdot Account

Loading...