mod to remove need to hold reset?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
mod to remove need to hold reset?
by on (#124600)
Hello! I'm new around here, so sorry if this has been answered already (I did take a minute to search but couldn't find it).

I'm interested in modifying a toaster style NES so that it's no longer required to hold reset while you press power on games that feature saving (like Zelda). What I've found on the topic says:
  • The toploader NES didn't need you to do this. Can anyone confirm?
  • Some newer cartridges didn't need this, even though the games might still suggest that you do it. Can anyone confirm?
  • The lose of saves is caused by power spikes. The solution (holding reset) works because reset disables the power to the cartridge, thus avoiding a spike. Can anyone confirm?

So, my idea is to somehow modify the power button so that it asserts the RESET signal before (and while) it cuts the power. I'm pretty new to electronics and soldering, but I have some experience and access to tools. My training is primarily in software.

Does anyone know how nintendo worked around it with the toploader NES?

Thank you in advance!
Re: mod to remove need to hold reset?
by on (#124604)
If "The toploader NES didn't need you to do this" is true, there's only three possible reasons:

1- The toploader has no CIC, so there's no possibility of repeatedly rebooting the game and having it write stuff into save memory, confusing the game.
or
2- The toploader has a less lousy cartridge connector, so there's no possibility of random lines being connected to random other lines and writing stuff into save memory.
or
3- The toploader has a significantly better power supply design, with larger and lower-ESR capacitors for all the ICs. But this feels unlikely; my NES-001 has a 10nF ceramic capacitor for every IC.

Either way, simply automating the process of holding down reset won't solve it. Disabling the CIC would be a good first step.

dagit wrote:
The loss of saves is caused by power spikes. The solution (holding reset) works because reset disables the power to the cartridge, thus avoiding a spike. Can anyone confirm?
That, on the other hand, is utter nonsense. The cartridge is powered whenever the NES is, and vice versa.
The only possible reason that holding the reset button has any effect is that it keeps the CPU from doing anything.
Re: mod to remove need to hold reset?
by on (#124617)
Thanks!

lidnariq wrote:
Disabling the CIC would be a good first step.

Why would that help? Again, I'm not all that knowledgable when it comes to electrical engineering. FWIW, I do plan to disable the CIC.
lidnariq wrote:
That, on the other hand, is utter nonsense. The cartridge is powered whenever the NES is, and vice versa.
The only possible reason that holding the reset button has any effect is that it keeps the CPU from doing anything.

Hmm...So I decided to google a bit more. I found this: http://board.zsnes.com/phpBB3/viewtopic ... 592#p28592

I would describe that as a more detailed explanation of what you're saying. Low voltage => spastic CPU and holding reset keeps the CPU in a known state where it won't attempt any "spastic" reads/writes to the save data on the cartridge.

So then, it seems to me that if holding the reset button forces the CPU into a known state that we should be able to simulate that by asserting the reset signal before and during the power off. I'm assuming that you'd need to start sending the reset signal before the voltage starts to drop. I'm not sure how long that needs to be, but I'm hoping it's just several milliseconds at most. I would assume the amount of time is determined by how many cycles it takes for the 6502 to go into the reset state.
Re: mod to remove need to hold reset?
by on (#124618)
dagit wrote:
Low voltage => spastic CPU and holding reset keeps the CPU in a known state where it won't attempt any "spastic" reads/writes to the save data on the cartridge.

So then, it seems to me that if holding the reset button forces the CPU into a known state that we should be able to simulate that by asserting the reset signal before and during the power off. I'm assuming that you'd need to start sending the reset signal before the voltage starts to drop. I'm not sure how long that needs to be, but I'm hoping it's just several milliseconds at most. I would assume the amount of time is determined by how many cycles it takes for the 6502 to go into the reset state.

If this is the cause, I agree. Maybe you could add a brownout circuit that held the CPU in reset if the supply voltage got even a little below normal. If you really wanted to get fancy, you could totally decouple power control from the front switch and have a controller that did the proper sequence behind the scenes (very quickly so you wouldn't even notice it working differently).
Re: mod to remove need to hold reset?
by on (#124638)
They sell reset generators (they reset when voltage drops too low as you described) in 3 pin packages. I used one on a computer product. (Don't have the part number handy right now though, maybe later)
Re: mod to remove need to hold reset?
by on (#124646)
I've spent a lot of time trying to corrupt saves by power cycling. The only time I was ever able to was when tapping the power button repeatedly, leaving the NES on for just the right amount of a split second.

IMO, if you rely on statistics solely, you can get by with never using reset button. Just don't attack the power switch like a woodpecker. My naive 10yr old self never bothered with the reset button. and I don't recall shedding tears about losing a save. Although I did own a toploader which is apparently better for some reason???

In reality, you're only going to decrease your chances of losing a save. The only way to mitigate losing it is backing it up. That and you have to account for the power going out/removed from the NES during play. That's going to be pretty tough to prevent completely without modification of the cartridge. Not to mention the battery has a limited lifespan.

I will say though, that I've have heard stories of others easily loosing saves. I'd wonder how many of them were while using large flash carts like the powerpak though.
Re: mod to remove need to hold reset?
by on (#124647)
Quote:
2- The toploader has a less lousy cartridge connector, so there's no possibility of random lines being connected to random other lines and writing stuff into save memory.

That is probably the good one.

I never really understood this thing. I've kept my saves countless times without holding the RESET button, and I've lost my saves countless times, even by holding the RESET button. In fact I don't know if there is a proofed correlation between how you loose your saves and the RESET button.
The problem is that if there is bad contact and you power the system up, the CPU can get in an known state and write stuff to $6000-$7fff, because you powered ON the system, without holding RESET.

I've lost my save so numerous times it's hard to tell. Especially on NES and GBA, but also on SNES and GB(C), but much less frequently.
Re: mod to remove need to hold reset?
by on (#124648)
Kirby's Adventure on NES advised that I would need to hold reset in order to save the game.

I have never, ever done this, and it has never failed to save.
Re: mod to remove need to hold reset?
by on (#124672)
I imagine saves can definitely be lost if your cartridge is dirty or the connector in the system is dirty or making poor contact. It might be why alot of people lost saves in the past. I too never held reset and don't ever remember losing save data. But I understand the theory behind holding reset.
Re: mod to remove need to hold reset?
by on (#124793)
I erased the zelda games of the friend of my older brother when I was a kid because I got excited to discover the scrolling intro when you don't press any button. So it can definitely happen and they were pretty pissed about it.
Re: mod to remove need to hold reset?
by on (#124805)
SkinnyV wrote:
I erased the zelda games of the friend of my older brother when I was a kid because I got excited to discover the scrolling intro when you don't press any button. So it can definitely happen and they were pretty pissed about it.

So you jerked the cord and locked the system then? Or the console lost power?

That's kinda my point, you are still subject to these types of faults even if you make some sort of circuit interlock with the power and reset switch. Pressing the power button without the reset button isn't the only way to loose saves, as your case points out.
Re: mod to remove need to hold reset?
by on (#124811)
I basicly just turned off the system without holding reset and ran outside to tell them I found the "secret" menu showing all the item xp
Re: mod to remove need to hold reset?
by on (#124812)
My Zelda 2 cart still has its saves on it from the original battery, and I've had it from brand new, and I never once held reset. Its outlasted 2 NES systems!
Re: mod to remove need to hold reset?
by on (#125165)
lidnariq wrote:
1- The toploader has no CIC, so there's no possibility of repeatedly rebooting the game and having it write stuff into save memory, confusing the game.

This can't be the only reason since the Famicom also doesn't have a CIC and still requires you to hold reset.
Re: mod to remove need to hold reset?
by on (#125173)
Pokun wrote:
lidnariq wrote:
1- The toploader has no CIC, so there's no possibility of repeatedly rebooting the game and having it write stuff into save memory, confusing the game.

This can't be the only reason since the Famicom also doesn't have a CIC and still requires you to hold reset.


I have never held reset on my Famicom and Kirby's Adventure and Final Fantasy 3 save with no issues.
Re: mod to remove need to hold reset?
by on (#125188)
Yeah I never did either as a kid, not until I was old enough to read and started reading the manuals, and still never lost a save on a NES game. But most Famicom games with battery backup comes with an orange paper that tells you to always hold reset when powering off among other warnings. Also most RPGs with battery backup has this in-game warning when saving and quitting.

It's in Japanese but here is a screenshot of the warning in DQIII or IV (I think): http://blog.livedoor.jp/suzukiko/archives/51499457.html
Re: mod to remove need to hold reset?
by on (#125190)
Even stranger, if I remember well, Dragon Quest V (for the Super NES) also has this warning, and is the only Super NES game I've ever seen with this warning.
Re: mod to remove need to hold reset?
by on (#125537)
Even if this could be fixed, I would still hold reset out of habit/fear. Never heard of the NES2 not needing it, I'm not too concerned with proving or disproving.

The only times I've ever lost saves was back in the days of "blow in it a bunch, then wiggle it around a bunch".
Re: mod to remove need to hold reset?
by on (#130645)
Bregalad wrote:
Even stranger, if I remember well, Dragon Quest V (for the Super NES) also has this warning, and is the only Super NES game I've ever seen with this warning.

I checked Dragon Quest V and no mention of holding reset appears (not in the version I played anyway) when saving and quitting (they just say to rest well or something like that).
However I just played Actraiser (Japanese version) and noticed that when saving and quitting the angel reminds you to not forget to hold reset, so maybe it was that game you thought of. I guess Enix put the message there as an old habit?
Re: mod to remove need to hold reset?
by on (#130663)
Ok I can confirm I made this up, no version of DQ5 mention having to hold reset.

I have a fan translated DQ6 that however does mention having to hold reset. But I suspect it could have been inserted by the fan translators, on the japanese version I see no mention of レセット, so either it is written in totally native japanese, or it has been made up by fan translators.
Re: mod to remove need to hold reset?
by on (#130680)
Bregalad wrote:
レセット

I believe that the first katakana should be RI, not RE.
Re: mod to remove need to hold reset?
by on (#130681)
Yep. I imagine he'd have noticed that if it was there anyway.

If I recall correctly the problem is a combination of the CPU being in an unreliable state (accessing random addresses) combined with NES cartridges having to resort to weird methods to write to save RAM (since they didn't check if it was a write access or not). This made them way more likely to respond to spurious accesses.

In other words, if you want to get rid of this problem for real, you'd need to mess with the mappers in each cartridge, not with the console.
Re: mod to remove need to hold reset?
by on (#130685)
レセット that's how I've always pronounced it (since it spelled like that) and still often do even after learning proper English pronunciation. Especially when talking about game consoles and reset buttons.

I've gotta check out the DQ VI saving message later.
Re: mod to remove need to hold reset?
by on (#130688)
It might be possible to mod a game to remove the need to hold reset by modding the game to use something that doesn't respond to accidental writes. One method involves putting in a bigger flash memory, making PRG writable, and storing saved games in a log-structured file system in the otherwise unused space. Flash memory has built-in protection against stray writes.
Re: mod to remove need to hold reset?
by on (#130689)
I have an idea...

Put an extra switch (like a reset button from an extra NES) inside the case of the NES, as close to the 'on/off' switch as possible, so that it sits under the large cap on the switch (the thing you press) in a way that when you press the on button both switches are tripped.
Since you push in both to turn it on and off, this would ensure that a signal would be sent from it when you hit the button. Connect the new switch to ground on one side (if you need to know a place to ground it to, pin 8 on the CIC is a convenient location). Connect the other side of the switch to the CIC on a reset pin.
I'm not sure which one of these will work, because IIRC, there's inverse logic on at least one of the following pins. My different project worked for me on pin 10. Maybe my lo\gic was inverted. :p The other pins to try are 7 and 9 - I think 7 is the one connected to the reset pin, so try that if in doubt.

Now when you hit the power switch it will press inwards, triggering your new reset button. :)

A bit of a cheap and dirty solution, but it's the simplest thing that popped into my head, relying on the physical pressing of the switch. I hope you find something that works!


P.S. - while I ruined my NES top loader at least 10 years ago, I clearly remember losing save data by failing to hold reset (which was broken on my top loader, anyway.)

I broke it when the reset button was rusted down and while trying to repair it I shorted something. I was 10; give me a break. I kept it and will be replacing every chip on the thing with the parts from a toaster, and a new reset button when I find a broken SNES or find the part for sale somewhere, but I don't know what to look for.

By the way, if anyone knows where to find that reset button part (same as on a SNES), that would be great.
Re: mod to remove need to hold reset?
by on (#130709)
Quote:
I believe that the first katakana should be RI, not RE.

Oh dear, horrible american accent transcribed in katakanas :(
Why not ウイサット while they're at it !

The DQ6 message is as following :
Image

There is no trace of any katakana in this message, so unless they mention the reset button in totally native japanese without using anglicism, which is very unlikely, the message about it was added by the fan translators.
Re: mod to remove need to hold reset?
by on (#130711)
Yes it must have been added by the translators as a joke.

My translation:
Thank you for today
please turn off the power at this state.

I don't think there's a non-loanword for "reset" in Japanese since it's kind of a modern technical word. Or if there is one (the Japanese tended to invent new words during the war when loanwords were shunned), most Japanese people would probably not understand it anyway.

Bregalad wrote:
Quote:
I believe that the first katakana should be RI, not RE.

Oh dear, horrible american accent transcribed in katakanas :(
Why not ウイサット while they're at it !

I believe it's pronounced [risett] in British English too. English never had the spelling reforms that most European languages had so there's tons of exceptions in the spelling rules. I understand that it's good to preserve the history, but this is a PITA for the rest of the world that has to learn the language. lol
Re: mod to remove need to hold reset?
by on (#130718)
Bregalad wrote:
Quote:
I believe that the first katakana should be RI, not RE.

Oh dear, horrible american accent transcribed in katakanas :(

Trading partners get first dibs at setting the pronunciation of loanwords. For example, Sonny Resetti from Animal Crossing goes by リセットさん Risetto-san in Japanese towns.

Quote:
The DQ6 message is as following :
Image

So I looked up the hiragana in a chart I found through Google Images and typed them into a real time hiragana transliterator, and then I ran the kanji through this visual kanji search tool.

otsukaresamadeshita.
おつかれさまでした。
konomama dengenwo o{ki}rikudasai.
このまま でんげんを お切りください。

The kanji 切, pronounced "ki" here, means "sharp" or "cut". The suffix ください, pronounced "kudasai", means "please". Wiktionary says つかれ, pronounced "tsukare", means "fatigue".

The first line is "Was cheers for good work" according to Google Translate.
The second is "Please turn off the power in this state."
My guess is "If you're feeling tired, go ahead and turn off the power now."
Re: mod to remove need to hold reset?
by on (#130728)
tepples wrote:
My guess is "If you're feeling tired, go ahead and turn off the power now."
"Thanks for the hard work. You can turn off the power now."

The first line is an idiom. Although つかれ means "fatigue", the phrase おつかれさま is a way to show appreciation for someone's help.
Re: mod to remove need to hold reset?
by on (#130768)
Yes おつかれさま is a set phrase usually said to your collogues when going home from work. I didn't translate it literally because that wouldn't make any sense. http://jisho.org/words?jap=otukaresama&eng=&dict=edict

There's no conditional form of any verb (Japanese "if") anywhere so we can't put in an "if" there. Kiri means "cutting" as you say and literary it would become "please cut the power"." Kono mama" means "this condition/state" so translating it to "now" is totally OK in my book. If you want to go further you could even say "It's OK to turn off the power now", but that would be a lot less literal.

I'm quite picky about not get things lost in translation so I'm usually very literal when I translate Japanese, but nowdays I have gotten a bit more practical and try to aim more for proper English while still trying to preserve everything.