Why were you asked to hold down RESET when powering off battery backed-up NES games?
Topaz tackles the age-old gamer question: Why did some battery backed-up NES games ask you to hold down the RESET button when you powered down the NES?
Thanks to @ijimkoz, Tyrel, and Keenan for their help with this video!
References
The best answers I could start working from
- https://web.archive.org/web/20140906113717/http://board.zsnes.com/phpBB3/viewtopic.php?p=28592
- https://gaming.stackexchange.com/questions/267306/why-do-some-versions-of-legend-of-zelda-on-the-nes-have-the-hold-reset-caution
- https://gaming.stackexchange.com/a/229861
- https://www.reddit.com/r/nes/comments/9xsi98/holding_reset_when_you_turn_the_power_off/
The 6502 and the RESET line
- https://doc.lagout.org/science/0_Computer%20Science/0_Computer%20History/old-hardware/mosTechnology/_dataBooks/1982_MOS_Technology_Data_Catalog.pdf - Straight from Commodore, the manufacturers of the 6502. Page 31 describes the RESET signal in more detail.
The NES’s RESET button and the CIC
- https://forums.nesdev.org/viewtopic.php?t=11517
- https://wiki.nesdev.org/w/index.php/CIC_lockout_chip#Overview
NES Schematics
- https://raw.githubusercontent.com/schenkzoola/NES/main/NES-001%20Console/NES-001.pdf - The console
- https://raw.githubusercontent.com/schenkzoola/NES/main/Cartridges/NES/NES-NROM-128-03/NES-NROM-128-03.pdf - NROM cartridge w/o RAM
- https://github.com/schenkzoola/NES/blob/main/Cartridges/NES/NES-SNROM-02/NES-SNROM-02.pdf - SNROM w/ RAM chip. Note the power inputs (+5V vs/ CR2032) into the cartridge. I think I read it right!
MMC1 and MMC3
- https://wiki.nesdev.org/w/index.php/MMC1#Hardware - Power fluctuation handling improved with MMC1 over time
- https://wiki.nesdev.org/w/index.php/MMC3#PRG_RAM_protect_.28.24A001-.24BFFF.2C_odd.29 - The MMC3 “door knocking scheme”, which is PRG RAM protect
- Note that this is tough to test in an emulator because the protection facility is not typically implemented - https://wiki.nesdev.org/w/index.php/MMC3#iNES_Mapper_004_and_MMC6
- It’s also enabled by default on real hardware - https://www.romhacking.net/forum/index.php?topic=22592.msg316850#msg316850
Less than 1/10,000 chance?
- https://theindustriousrabbit.com/content/2021-10-08-holding-down-reset-when-powering-off-nes/mmc1_bad_data_worksheet.xlsx - The spreadsheet I used to do the calculations. If I missed something let me know!
Batteries don’t last forever
Textures
- High Quality Tileable Light Wood Texture 1 by webtreats (https://flickr.com/photos/webtreatsetc/4727355663) - CC-BY 2.0
- Seamless Whitewashed Grunge Textures 6 by webtreats (https://flickr.com/photos/webtreatsetc/4902964656) - CC-BY 2.0
Music
- Inner Sanctum by Kevin MacLeod (https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1100196) - CC-BY 3.0
- Bit Quest by Kevin MacLeod (https://incompetech.com/music/royalty-free/index.html?isrc=USUAN1500073 - CC-BY 3.0
Changelog
- 2021-10-08: Initial post.
- 2023-07-23: Migrate to MakerTube.