Game pcb reset button - Any risks?

ebo0763

Active member

Donor 2012, 2016
Joined
Dec 23, 2011
Messages
725
Reaction score
20
Location
NB, Canada
As you know I have the Nintendo Super System. One thing I don't really like is that once you're playing one of the three games, you can't go back to the game selection menu until your timer runs out. Free play won't fix it either since it's also based on time.

Rebooting the machine does bring you to the game selection menu but it's very inconvenient. So I though of installing a reset button (hidden to preserve the authentic look).

The pushbutton would be normaly closed (on) and off when pushed. Cutting the power to the board only (not the whole cab) hence resting the game and accessing the game selection menu.

Is there a risk to regularly reseting the board? Is it bad for the board to have a quick off and on?

Also, is there a specific voltage (12V, +5V and -5V) that should be turned off? Or two or all of them? Any suggestions?
 
I'd personally just find the reset pin and toggle that... momentarily cutting power isn't good, and the switch would have to be a high current switch (or relay) if you plan to cut just the +5V (instead of the AC to the power supply).

I'm not at home, so I can't check my NSS board, but simply resetting the Z80 should do it.

DogP
 
I'd personally just find the reset pin and toggle that... momentarily cutting power isn't good, and the switch would have to be a high current switch (or relay) if you plan to cut just the +5V (instead of the AC to the power supply).

I'm not at home, so I can't check my NSS board, but simply resetting the Z80 should do it.

DogP

Good idea. Ill check when i get home too.
 
Oh... right, I was suggesting that you toggle the Z80 reset pin directly. The Z80 controls the arcade side of things (menu, timer, etc), so resetting that should reset the whole system.

IIRC, it's a 44 pin surface mount (QFP) Z80. The pinout is available on this page: http://gaby.de/z80/zinout.htm . You'll see pin 23 is the reset, which is active low... I'd trace that back a little bit and see if you can find a convenient point made for resetting manually... if not, I'd lift the pin and add your own. You'll have to look at the circuit to determine the best way to do it, but probably a 1k-10k resistor back to whatever drives the reset, and then a switch to ground would do the trick.

By resetting like that, you'll almost certainly lose the seconds you had on the timer, but if you have it on free play it really doesn't matter. Of course hacking the BIOS to do this would be a much cleaner fix, but I haven't had the time to look into it.

DogP
 
Oh... right, I was suggesting that you toggle the Z80 reset pin directly. The Z80 controls the arcade side of things (menu, timer, etc), so resetting that should reset the whole system.

IIRC, it's a 44 pin surface mount (QFP) Z80. The pinout is available on this page: http://gaby.de/z80/zinout.htm . You'll see pin 23 is the reset, which is active low... I'd trace that back a little bit and see if you can find a convenient point made for resetting manually... if not, I'd lift the pin and add your own. You'll have to look at the circuit to determine the best way to do it, but probably a 1k-10k resistor back to whatever drives the reset, and then a switch to ground would do the trick.

Very good DogP!


I would have thought that the pin 23 should be ground to reset, so a circuit like this:

(pin 23) -- (normaly open switch) -- (ground)


Is what you mean by the resistor is this?

(pin 23) -- (1k-10k resistor) -- (normaly open switch) -- (5V)
 
Last edited:
No... you do need to ground it to reset the CPU, but you don't want to simply ground the pin, because whatever circuitry is driving it high will then be shorted to ground (which could easily damage the components).

The reset input on the CPU is high impedance, so adding a series resistor won't affect normal operation of the board, but it will limit the current when you use the switch to short it to ground.

Attached is a diagram of what I'm talking about. I don't have the actual circuit in front of me (I'm out of town), so you may need to improvise, but the basic idea should work.

attachment.php


DogP
 

Attachments

  • nss.jpg
    nss.jpg
    6.9 KB · Views: 67
Ok. Thank you very much. I will try this. But as far as the resistor goes, I think I'll use a 10k potentiometer, start low and work my way up until I find the right resistance.

But I'm curious why the resistance is necessary... just wondering.
 
I would NOT use a potentiometer... I'd go with the 10k first, and in the odd case that it doesn't work, go with the 1k. Using a potentiometer is completely unnecessary, and if you turn it to too low of a resistance, you're essentially making there be no resistor again.

The reason the resistor is needed is that there's other circuitry that's telling the CPU to NOT be in reset (outputting +5V). If you simply connect a switch and ground that pin, you're going to be shorting that 5V output to ground, which is trying to tell the game to run.

Maybe this beautiful M$ Paint pic will help:
attachment.php


I've got voltages marked, and notice if there's no resistor, +5V trying to come out from the rest of the circuitry, and you're trying to force 0V there with the switch. With a resistor there, 5V is still 5V when the switch is open, but when you connect it to ground, the voltage is easily dropped across the resistor with very little current, and 0V makes it to the reset pin.

DogP
 

Attachments

  • nss.jpg
    nss.jpg
    52.5 KB · Views: 43
Thats how we do it my man! Well explained.
Cant wait to try it.
 
Last edited:
Back
Top Bottom