Apollo On Board Computer Emulator
frankk74 writes "For those of you interested in Historical Computing and the Apollo manned spaceflights Ron Burkey has created a open source emulation of the Apollo Guidance Computer called vAGC. I use it as my desktop clock of choice. Note it only keeps mission time so after 24 hours you have reset the time :-). P.S. Another cool Apollo toy free and payware can be found here."
In three two one... Huston, we have a problem.
"It is a miracle that curiosity survives formal education." - Albert Einstein
That made me feel good seeing as how this is the first week I've tried linux.
Open Source Sushi
Took a quick scan at the architecture of the machine, and I'm suprised that it's so simple.
People say over and over again that simple handheld calculators are more powerful than that thing, and it seems that the oft-parroted line is more accurate than they realize.
Add to that: RTL (before TTL) and magnetic core memory bring up the nostalgic value.
What I would like to see is a complete Apollo computing system simulator, consisting of the hardware simulator, where you could realistically simulate the effects of increased core voltage, heat, power surges, fluctuations, etc. coupled with the hardware emulator capable of running native Apollo code, just like vAGC.
Do they have this at NASA? For them it must be easier and more reliable to just use an identical environment for testing purposes, but some Apollo enthusiasts would enjoy tinkering with such a combined simulation-emulation environment (SEE).
A quick inspection also shows that a PDP8 weighs as much as the Saturn V rocket, and weight is the last thing they needed to haul stuff on the moon...
"A door is what a dog is perpetually on the wrong side of" - Ogden Nash
A quick inspection of an Apollo capsule reveals why they didn't just use a PDP8.
Think of three fat guys trying to move one of those things in a Mini Cooper.
KFG
...without having a "Start" button? ;)
I tried to use this to run games. It didn't work at first, there just wasn't enough power. Then I used the gravitational pull of my neighbor's house as a slingshot and was running Doom 3 in no time.
Does someone have a copy of that old favourite: "Lunar Lander" which runs on this emulator? :-)
Hell, even my Texas Instruments card-programmable calculator played that game!
Not really, and it had an excellent reputation for real-time work. The thing is when NASA were shopping for processors a long time before the landing, the PDP-8 didn't exist in the compact form. By the time of the first landing it certainly did, but it was already too late. The PDP-8 and later the PDP-11 then just swept through the world of real-time computing.
See my journal, I write things there
"then integrate the whole thing into Orbiter."
e r_ agc.jpg
Already being worked on:
http://mysite.wanadoo-members.co.uk/marui/orbit
An engineer I work with at JSC has an actual - legally obtained Space Shuttle flight computer. The government declared it surplus, and he bought it from the surplus section, so he has the paperwork documenting that he is the legal owner. His box is an actual flight unit, which was in space, not a ground test unit or engineering sample. He has the paperwork documenting its complete history.
Every once in a while you can find some incredible things in government surplus.
Calculators have absolutely minimal I/O and need hardly any interrupt handling capability, and general purpose CPUs like the PDP-8 require a great deal of external hardware to give efficient programmed I/O. It was only really with integrated electronics that general purpose CPUs became appropriate for real time instrumentation and control.
It's also important that in a space environment, every added gate is a hazard because it can get flipped by radiation. The ideal is to have the minimum gate count, minimum memory cell count, and the shortest possible path between phyical I/O and computing. The computers used in the Apollo meet this requirement.
Sorry to restate what may be obvious to some people, but a lot of people here will never have had to implement a rad-hard design, and will not understand why simplicity and directness are such virtues in design for space use.
Panurge has posted for the last time. Thanks for the positive moderations.
And they made Buzz Aldrin sit in the back. No wonder he gets cranky if someone says that he didn't go to the Moon!
One line blog. I hear that they're called Twitters now.
I had occasion to look at the plans for the oxygen tank that blew up on Apollo 13. There is no great mystery why it blew up, the mystery is why they didn't all blow up.
Trying to figure out how much is left in a liquid oxygen tank in outer space is not an easy task. If you wanted to know that answer here on earth you would weigh the tank - which obviously won't work in free fall.
The idea they came up with was to have a sensor in the tank that could measure the level by resistive means. In order to have a 'level' to measure they had to create an artificial gravity inside the tank by swirling the contents with an internal electric motor and a blade. In the movie "Apollo 13" one of the astronauts talks about "stirring the O2 tank", that is what he is talking about.
Consider what this all means: you have a tank full of liquid Oxygen, you have several pounds of highly combustible aluminum and graphite parts which are soaked in liquid Oxygen, and you have a DC motor with brushes sparking up a storm inside the tank. Another name for such a combination is a "bomb".
NASA's - management driven - engineering has long been full of "Whir click, whir click - OK, Russian Roulette is flight certified as safe" thinking. Nobody does a "how could this all go wrong" analysis.
Humorous snippet from the landing module code...
...
P63SPOT3 CA BIT6 # IS THE LR ANTENNA IN POSITION 1 YET
EXTEND
RAND CHAN33
EXTEND
BZF P63SPOT4 # BRANCH IF ANTENNA ALREADY IN POSITION 1
CAF CODE500 # ASTRONAUT: PLEASE CRANK THE
TC BANKCALL # SILLY THING AROUND
CADR GOPERF1
TCF GOTOP00H # TERMINATE
TCF P63SPOT3 # PROCEED SEE IF HE'S LYING
P63SPOT4 TC BANKCALL # ENTER INITIALIZE LANDING RADAR
CADR SETPOS1
TC POSTJUMP # OFF TO SEE THE WIZARD
CADR BURNBABY
They didn't use artificial gravity to seperate the LOX; quite the opposite.
In fact, in zero gravity LOX tends to divide up into regions of gas and liquid. If the gas happens to float past the sensor, then they get an incorrect reading of the density, and hence they don't know how much is in there. This was a big problem on previous flights. Stirring the tank mixes it all up and makes it the same density; allowing a reliable reading to be taken.
you have several pounds of highly combustible aluminum and graphite parts
Aluminum, particularly bulk aluminum is *not* combustible in LOX. It's used on the Space Shuttle main tank fer heavens sake!
Graphite can't really burn either; for it to burn it needs to reach ~3000K, and the LOX is pretty keen on it not reaching that temperature.
LOX only really explodes in contact with greases- it's soluble in them, and they form a contact explosive.
and you have a DC motor with brushes sparking up a storm
Provided the brushes are carefully chosen, this need not be a problem.
That's not actually what caused the explosion anyway.
During testing a relay welded itself shut due to incorrect voltages. In flight, the wiring overheated- and the insulation burnt in the LOX. That caused the LOX tank to overpressure, and it blew away half the side of the vehicle.
-WolfWithoutAClause
"Gravity is only a theory, not a fact!"In addition, the incorrect voltages during testing were the result of failed communication between the contractor and NASA, a spectacular example of why the paperwork is important.
If we have a Beowulf cluster of these, do we have a space invasion on our hands ?
If so: who is invading who ?
I would just like to point out that Draper Labs in Cambridge, MA (the company I work for) built the AGC. An exact replica of the real AGC sits in our Simulation Lab.
I didn't immediately succeed with the author's instructions. Here's what worked for me:
cd yaAGC
./configure
make
sudo make install
cd yaDSKY
./configure
make
sudo make install
yaAGC --core=Validation.bin --debug
In another window, still in the yaDSKY directory: yadsky --cfg=src/LM.ini
(Note lowercase yadsky)
Congratulations, Ronald. Pretty cool. Does the contrast on the LED display have to be so low? The background is very light.
Am I the only one here who actually tried the program?