Page 1 of 1

Need help about gameboy pin30 /reset signal

Posted: Sun Mar 19, 2017 7:39 pm
by byemu
Need help about gameboy pin30 /reset signal:

Is it /reset signal is a input signal.
How it works?

Re: Need help about gameboy pin30 /reset signal

Posted: Sun Mar 19, 2017 7:46 pm
by lidnariq
I would assume that the /RESET signal is an open-collector bidirectional signal; grounded by the LR35902 until it's ready to start executing code, and probably ground-able by the cart to cause the GBCPU to reboot.

Re: Need help about gameboy pin30 /reset signal

Posted: Mon Mar 20, 2017 12:37 am
by byemu
If set /reset as input on a cpld cartridge, the cartridge can't boot on GB, but on GBC or GBA is OK.

Re: Need help about gameboy pin30 /reset signal

Posted: Mon Mar 20, 2017 10:59 am
by lidnariq
The pin has to be allowed to float high...

Re: Need help about gameboy pin30 /reset signal

Posted: Tue Mar 21, 2017 5:15 am
by byemu
Yes, when I setup a pullup resistance on the /reset signal,it can boot on GB.
BTW, is there a reboot command yet? for example write 00 to FF50 ,then jp $000,system will reshow Gamboy LOGO (sorry it's not work,only show a possible).

Re: Need help about gameboy pin30 /reset signal

Posted: Tue Mar 21, 2017 11:30 am
by lidnariq
There's no software way back into the Gameboy bootstrap. ($FF50 is write-once). You should be able to just jump back to the DMG's reset location after the bootstrap finishes, though. ($0100)

Re: Need help about gameboy pin30 /reset signal

Posted: Wed Mar 22, 2017 6:40 pm
by nitro2k01
/reset is an input on the CPU. It's weakly pulled up to Vcc with something like a 100k resistor. Probably, your FPGA is sinking the voltage too low. Try adding something like a 10k pull-up on your cart and see if it improves stability.
lidnariq wrote:grounded by the LR35902 until it's ready to start executing code
Have you confirmed this behavior or is it conjecture?

Re: Need help about gameboy pin30 /reset signal

Posted: Wed Mar 22, 2017 7:06 pm
by byemu
on my GB,play a cartridge:
Image
Image
Image

Re: Need help about gameboy pin30 /reset signal

Posted: Wed Mar 22, 2017 7:12 pm
by lidnariq
It may not be the LR35902 itself, but there's definitely something keeping /RESET from rising until 8.6ms after +5V has stabilized:

Re: Need help about gameboy pin30 /reset signal

Posted: Mon Apr 03, 2017 5:57 pm
by nitro2k01
lidnariq wrote:It may not be the LR35902 itself, but there's definitely something keeping /RESET from rising until 8.6ms after +5V has stabilized:
That looks weird. 1) How the power seems to rise linearly rather than converge exponentially. (Capacitor charge curve.) 2) How the /reset signal DOES have a capacitor charge curve type curve.

On a DMG (unless I've missed something!) the only things connected to the reset line are the CPU, a pull-up resistor and the cartridge bus. To get a rise time of 50 ms, there would have to be a ~100 nF capacitor present, which afaik doesn't exist on the boar, but might exist on some cartridges? I'd have to look into this myself. Definitely seems like something holds the /reset line until the power is stable though.

Re: Need help about gameboy pin30 /reset signal

Posted: Mon Apr 03, 2017 6:56 pm
by lidnariq
nitro2k01 wrote:That looks weird. 1) How the power seems to rise linearly rather than converge exponentially. (Capacitor charge curve.)
I have to assume it's an artifact of the flyback converter used inside the DMG. Evidently the flyback counts as a constant-current source charging a capacitor, hence the linear rise.
On a DMG (unless I've missed something!) the only things connected to the reset line are the CPU, a pull-up resistor and the cartridge bus. To get a rise time of 50 ms, there would have to be a ~100 nF capacitor present, which afaik doesn't exist on the board
... now that's a very good question. I think your math is a little off (the time constant looks to me like it's somewhere around 15ms, so it's an unexplained 13nF, but 13nF is still too big to be plausibly on-die in late 1980s technology)
but might exist on some cartridges?
I did this test without a cart.

Re: Need help about gameboy pin30 /reset signal

Posted: Mon Apr 03, 2017 7:20 pm
by nitro2k01
lidnariq wrote:I think your math is a little off (the time constant looks to me like it's somewhere around 15ms, so it's an unexplained 13nF, but 13nF is still too big to be plausibly on-die in late 1980s technology)
I would say the time constant is closer to 20 ms (two divisions) but around that ballpark, yeah. By plugging 0.1 and 180000 into this calculator, I get a time constant of 18 ms. 13 nF would give a much shorter TC given the 180k resistor on the board.

http://www.digikey.com/en/resources/con ... e-constant

Re: Need help about gameboy pin30 /reset signal

Posted: Mon Jul 03, 2023 1:46 pm
by gekkio
This is an old thread but here are some fresh findings about the reset behaviour on DMG. I did a bunch of tests and used an oscilloscope to plot the behaviour of the main +5V rail and the RESET signal.

Green = +5V rail
Yellow = RESET

Bare SoC + minimum extra circuitry

This is a test with just a bare DMG-CPU B SoC on a breakout board and 100 nF + 47 k on the reset line.
SCR01.PNG
RESET is clearly delayed only by the RC circuit.

DMG console + Tetris cart + DC supply

Powered using +5V from a programmable supply to DC jack. Console power switch was in the on position and power was controlled using the supply's power toggle only.
Note that the timescale is different since the DMG regulator slew rate is slow! (x10 compared to the bare SoC)
SCR02.PNG
RESET is once again only delay by the RC circuit.

DMG console + Tetris cart + batteries + power switch
SCR03.PNG
This time RESET has an extra delay where it's pulled low by something before the RC circuit takes over.

DMG console + Tetris cart + batteries + power switch in the on position

This time I removed one of the batteries, left the power switch in the on position, and powered the system on by quickly shoving the missing battery in.
SCR04.PNG
The extra delay is gone!

Explanation

DMG power switch is an SPDT switch that also switches a RESET<->GND connection in addition to the main power rail. This detail is not included for example in Jeff Frohwein's schematics, but it's there if you look closely at the board and it's also included in the official schematics (in the World Class Service Manual).

In practice when you move the power switch to turn the system on, there's a short time period where the main power rail is connected and RESET is still connected to GND. This power switch feature adds a slight extra mechanical delay to RESET before the RC circuit can pull it high, and also guarantees it's pulled strongly low when you turn off the system.

The RESET pin on the DMG SoC is just an input so the SoC never drives it low. Note that the cartridge is allowed to assert the signal, and all Nintendo carts with save RAM use a supervisor chip that keeps RESET low until the system voltage reaches a certain point.