Help debugging SNAC problem
-
- Posts: 3
- Joined: Tue Aug 04, 2020 9:52 pm
Help debugging SNAC problem
I got the SNAC adaptor today, connecting it to the Digital I/O board v1.2... and it doesn’t work. I have completely disassembled the NES controller to confirm that’s working, and checked all the soldering on the SNAC board. The problem seems to be pin 3 on the SNAC, which is the latch signal. On the oscilloscope that signal is never dropping below about 3.4 volts on the 5v side, and on the 3.3v side of the SNAC the latch pulses are barely distinguishable from noise. Tracked the pin back to the Digital I/O board and can see that the connection is good. That pin seems to go to a resistor array and then connects (I think) to the 2nd pin from the right closest to the serial port connector on the arduino header. On the scope there’s a clear latch pulse on that pin, but that signal is not getting through the resistor array (as far as I can tell). No latch, no NES controller.
Really trying to understand what’s going on here and where the fault actually is. Any help would be appreciated!!
Really trying to understand what’s going on here and where the fault actually is. Any help would be appreciated!!
Re: Help debugging SNAC problem
Head-slap questions first...
You're using the NES core, and under Input Options you've set Serial Mode to SNAC?
What have you set the SNAC Zapper setting to, and are you using a Zapper?
Any chance that the Swap Joysticks option helps?
Have you tried setting Multitap to Disabled and Periphery to None? Unsure how these interact with SNAC, try ruling them out.
What about the UART mode (push right on the NES core menu)? I doubt it'll make a difference, but if it's not set to None maybe some Miracle Keyboard stuff might get in the way of SNAC...?
Are you actually playing a game that's trying to read the controller? If I understand correctly, SNAC is only connected to the simulated console, you'll need something else to navigate MiSTer menus.
You're using the NES core, and under Input Options you've set Serial Mode to SNAC?
What have you set the SNAC Zapper setting to, and are you using a Zapper?
Any chance that the Swap Joysticks option helps?
Have you tried setting Multitap to Disabled and Periphery to None? Unsure how these interact with SNAC, try ruling them out.
What about the UART mode (push right on the NES core menu)? I doubt it'll make a difference, but if it's not set to None maybe some Miracle Keyboard stuff might get in the way of SNAC...?
Are you actually playing a game that's trying to read the controller? If I understand correctly, SNAC is only connected to the simulated console, you'll need something else to navigate MiSTer menus.
I think the "official" adapter comes in two parts... There are console-specific SNAC adapters but also a main SNAC board that just converts voltage levels and goes between the I/O board and the console-specific adapter. Do you have both? Or maybe some other adapter?GoreMcspace wrote: ↑Tue Aug 04, 2020 9:59 pm I got the SNAC adaptor today, connecting it to the Digital I/O board v1.2... and it doesn’t work.
What type of controller? Just a normal one with a d-pad + select + start + B + A buttons? Zappers don't use the latch signal, for instance.GoreMcspace wrote: ↑Tue Aug 04, 2020 9:59 pm I have completely disassembled the NES controller to confirm that’s working, and checked all the soldering on the SNAC board.
That sounds bad...GoreMcspace wrote: ↑Tue Aug 04, 2020 9:59 pm The problem seems to be pin 3 on the SNAC, which is the latch signal. On the oscilloscope that signal is never dropping below about 3.4 volts on the 5v side, and on the 3.3v side of the SNAC the latch pulses are barely distinguishable from noise.
I'm not sure I follow you, but if my notes are correct, I traced the NES latch signal back to the SCL pin which is the pin on the 10-pin Arduino connector closest to the power jack. I think you're talking about the SDA pin, which is the NES clock signal and next to the SCL pin. But maybe I'm wrong.GoreMcspace wrote: ↑Tue Aug 04, 2020 9:59 pm Tracked the pin back to the Digital I/O board and can see that the connection is good. That pin seems to go to a resistor array and then connects (I think) to the 2nd pin from the right closest to the serial port connector on the arduino header.
On the I/O board, each SNAC data pin should be pulled up to 3.3v via a 10k ohm resistor in an array, and goes through a 100 ohm series resistor in another array. The SNAC board converts voltage levels using a BSS138 and resistors. Just a guess, if I was wrong above, maybe one of the resistor arrays on the I/O board has the wrong value or isn't connected?GoreMcspace wrote: ↑Tue Aug 04, 2020 9:59 pm On the scope there’s a clear latch pulse on that pin, but that signal is not getting through the resistor array (as far as I can tell). No latch, no NES controller.
-
- Posts: 3
- Joined: Tue Aug 04, 2020 9:52 pm
Re: Help debugging SNAC problem
Appreciate the “head slap” questions, could have done that that earlier. Is NES core (tried PAL, NTSC and Dendy modes), SNAC is enabled, Zapper set to Off, Periphery set to None, Swap Joysticks make no difference, Multitap disabled. UART is turned off. Am playing game trying to read the controller, have separate device for navigating menu. Is definitely a SNAC board and a NES adapter board for the SNAC.
Controller is a NES-004.
I could have traced the pins incorrectly, especially cos I was just trying to do it via looking at the board and there’s some silkscreen printing obscuring where the wires go next between two resistor arrays, but I’ll have another look at what the MiSTER is actually outputting on that pin then...
.. right, okay, I see that the furtherest right in is showing a 0v to 3.3v pulse at around 121hz which... that sounds pretty fast for something meant to be happening once a frame (I would expect 60hz) but maybe this is normal. I guess the question I need to figure out now is why this signal isn’t getting to the SNAC board (assuming it’s the right pin, although I have now found a PDF version of the schematic so that should help!)
Thanks for the help!!
Controller is a NES-004.
I could have traced the pins incorrectly, especially cos I was just trying to do it via looking at the board and there’s some silkscreen printing obscuring where the wires go next between two resistor arrays, but I’ll have another look at what the MiSTER is actually outputting on that pin then...
.. right, okay, I see that the furtherest right in is showing a 0v to 3.3v pulse at around 121hz which... that sounds pretty fast for something meant to be happening once a frame (I would expect 60hz) but maybe this is normal. I guess the question I need to figure out now is why this signal isn’t getting to the SNAC board (assuming it’s the right pin, although I have now found a PDF version of the schematic so that should help!)
Thanks for the help!!
- Brettster
- Posts: 105
- Joined: Mon May 25, 2020 9:44 am
- Location: Leeds, UK
- Has thanked: 36 times
- Been thanked: 11 times
Re: Help debugging SNAC problem
Have you tried another version of the core? I had a similar issue with the Nes core and a none official SNAC adapter and an older version of the core worked fine
Arcade, Video Game and Tech Junkie
-
- Posts: 3
- Joined: Tue Aug 04, 2020 9:52 pm
Re: Help debugging SNAC problem
Okay I tried going back to a year old version and didn’t make any difference, not sure how far back it’s worth going tbh. As far as I can tell the core is generating the right signals, it’s just not getting to the SNAC board
Re: Help debugging SNAC problem
That sounds normal for games that read the controller at least twice per frame to work around the NES hardware bug that playing back DPCM samples can occasionally corrupt controller input. If you check an NTSC game that doesn't use DPCM sample playback, it will more likely latch closer to 60hz.GoreMcspace wrote: ↑Wed Aug 05, 2020 7:28 am .. right, okay, I see that the furtherest right in is showing a 0v to 3.3v pulse at around 121hz which... that sounds pretty fast for something meant to be happening once a frame (I would expect 60hz) but maybe this is normal.
Sorry I don't have any other ideas to add.
Re: Help debugging SNAC problem
It's been a while and no one posted the answer. I was having the same problem. But just found that if you go to Audio & Video, then to Audio Enable. And change it to Internal, the controller starts working. After that it magically works with no problem. You can even change back the Audio Enable option. Hope it helps.
Re: Help debugging SNAC problem
I also have problem connecting a nes 004 controller to the latest nes core. My zapper works.
OP of this thread did not get help to solve the problem.
My conclusion is that the nes 004 controller does work with this the latest version of this core!
Can anyone with a working nes 004 controller on the latest version of this core prove otherwise
I have opened an issue for this on the nes cores github page.
OP of this thread did not get help to solve the problem.
My conclusion is that the nes 004 controller does work with this the latest version of this core!
Can anyone with a working nes 004 controller on the latest version of this core prove otherwise
I have opened an issue for this on the nes cores github page.