Retired engineer discovers 55-year-old bug in Lunar Lander computer game code - eviltoast

A physics simulation flaw in text-based 1969 computer game went unnoticed until today.

  • mozz@mbin.grits.dev
    link
    fedilink
    arrow-up
    42
    ·
    5 months ago

    And thankfully for Aldrin and Armstrong, the real Apollo lunar landing experience didn’t suffer from the same issue.

    How could you pass up the opportunity man

    Let me help:

    “, and, in fact, was so well programmed that it was able to adapt and overcome some totally-not-its-fault hardware problems during the last few minutes of the landing sequence to keep the computer running, and land the spacecraft correctly.”

    Short summary: A radar system on the first moon lander had an undiscovered design flaw that meant it flooded the computer with interrupts it wasn’t designed for, at the exact wrong time, all the way down from T minus 3 minutes to T minus 40 seconds before it actually had to touch down on the moon. That left the computer without enough processor time to keep up with all the real-time-sensitive duties it was tasked with – notably including flying the fucking spacecraft so it landed on the surface, right side up, in the right place, instead of, say, just falling down and slamming into the moon at a tenth of a mile per second.

    So when this flood of interrupts happened, the guidance computer was programmed such that it was able to detect that it wasn’t keeping up with its stuff, for some reason unknown to it. When it realized, it had been programmed to save all its navigation data, reboot itself to a clean state, reload the nav data, and then signal to the astronauts hey I don’t know what’s going on but I got a problem guys I need some help. It happened a few times as those final 3 minutes clicked down, which gave enough time for the astronauts to talk to mission control and sort out some version of what was going on, and they were able to reduce the computational load on the computer by shutting down some stuff they didn’t need it to be doing, i.e. stuff other than flying the fucking spacecraft as I mentioned. And then, happy again, it landed them on the moon, having kept up with everything well enough in the interim to keep the lander doing exactly what it was supposed to be doing.

    Basically, its hardware failed it, three minutes before landing, but it was unbothered and kept going and landed successfully on the moon. It is for that reason a legendary piece of engineering. To me at least. I like this stuff.

    Here’s another article, also quite good, about another instance of the Apollo guidance computer being awesome beyond any type of reasonable expectation, a few missions later.

  • trag468@lemmy.world
    link
    fedilink
    English
    arrow-up
    28
    ·
    5 months ago

    This is the kind of useless bullshit I plan to do when I retire! I’m looking forward to it.