Need help about gameboy pin30 /reset signal
Need help about gameboy pin30 /reset signal
Need help about gameboy pin30 /reset signal:
Is it /reset signal is a input signal.
How it works?
Is it /reset signal is a input signal.
How it works?
Re: Need help about gameboy pin30 /reset signal
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
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
The pin has to be allowed to float high...
Re: Need help about gameboy pin30 /reset signal
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).
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
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
/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.
Have you confirmed this behavior or is it conjecture?lidnariq wrote:grounded by the LR35902 until it's ready to start executing code
Re: Need help about gameboy pin30 /reset signal
on my GB,play a cartridge:
Re: Need help about gameboy pin30 /reset signal
It may not be the LR35902 itself, but there's definitely something keeping /RESET from rising until 8.6ms after +5V has stabilized:
- Attachments
-
- dmg_reset_starts_rising_noticeably_after_5v_is_stable.png (3.15 KiB) Viewed 9901 times
Re: Need help about gameboy pin30 /reset signal
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.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:
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
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.nitro2k01 wrote:That looks weird. 1) How the power seems to rise linearly rather than converge exponentially. (Capacitor charge curve.)
... 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)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
I did this test without a cart.but might exist on some cartridges?
Re: Need help about gameboy pin30 /reset signal
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.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)
http://www.digikey.com/en/resources/con ... e-constant
Re: Need help about gameboy pin30 /reset signal
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.
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)
RESET is once again only delay by the RC circuit.
DMG console + Tetris cart + batteries + power switch
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.
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.
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.
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)
RESET is once again only delay by the RC circuit.
DMG console + Tetris cart + batteries + power switch
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.
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.