0 Replies Latest reply on Dec 24, 2017 5:14 AM by supersat

    Episode idea: protecting NES game saves

    supersat

      The Legend of Zelda was one of the few NES games that had battery-backed RAM in the cartridge for game saves, but on the back of the cartridge was this label with some... interesting instructions in red:

      I can unfortunately speak from experience that this is true -- failing to hold the NES in reset while powering it off will occasionally delete all of your saves.

       

      But the question is why, and it has been bugging me for YEARS. I suspect it's due to the CPU bus becoming corrupted as the power rails drop, which could occasionally generate spurious writes to the cartridge's SRAM, corrupting the data and essentially deleting everything. But I don't know for sure. So, here's a proposal for an episode:

       

      Part 1: Identify why you need to hold down reset while turning the NES off. I suspect if you look at the bus signals on an oscilloscope and/or logic analyzer, you will see some interesting effects as the system powers down. If you're lucky, you might see a killer spurious write.

      Part 2: Develop, build, and install a mod that automatically pulls the NES in reset when being turned off. You might be able to monitor the voltage at the power switch and detect a drop before the caps in the power supply discharge to the point where corruption happens. This would let you ensure that the CPU is held in reset before this happens. Alternatively, you might need to interpose on the power switch.