I would love to better understand how a device launched the year before I was born could be so flexible in its configuration and operation. I can't update the code running on a microcontroller on my desk in front of me without it triggering a reboot. When they talk about rerouting power and performing a "big bang" reconfiguration with a 23 hour lag on equipment that was underpowered when the 8088 came out... it kind…
Some of the challenges they had to deal with while developing the fix:
- The only source code they had for the flight data software was an OCR'd Microsoft Word document (with typos) that was likely scanned from a hard copy assembler listing printout.
- The processor runs a custom instruction set developed by JPL for the Voyager mission. The documentation they had on the processor was incomplete.
- Everybody who had designed the flight software was dead.
- They had no assembler, no debugger, and no processor simulator. They had no testbed, the only two FDS processors were in space.