SNAC not working with SNES Controller

Discussion of keyboards, gamepads, joysticks and other input related peripherals.
PikWik
Posts: 279
Joined: Sat May 30, 2020 7:00 pm
Has thanked: 208 times
Been thanked: 74 times

SNAC not working with SNES Controller

Unread post by PikWik »

hey there!
i have a strange SNAC problem with a OEM SNES controller that has me stumped :oops:

i have 2 original SNES controllers (the same 2 controllers that came with my SNES from the 90s).
one controller works without issue but has seen better days, PCB input contacts are worn, and shell is banged up.

the beatup controller works just fine with the MiSTer via SNAC, but the gently used controller is registering button presses all kinds of weird.
L trigger is registering as X
R trigger is registering as L Trigger
Y is Y
B is B
A doesn't register any button being pressed at all
X is A
Start/Select are registering correctly
and the d-pad functions correctly as well

and yes both controllers work just fine on my SNES (just tested again to verify)

i have heard solutions about SNAC problems being remedied after installing an old version of a SNES core, but just today the SNES core was updated to a 20210222 and still has the same issue ... :?:

again, both controllers work just fine on my SNES, but only one of them functions with correct button presses using SNAC on the MiSTer
PikWik
Posts: 279
Joined: Sat May 30, 2020 7:00 pm
Has thanked: 208 times
Been thanked: 74 times

Re: SNAC not working with SNES Controller

Unread post by PikWik »

as an update, i tried a bunch of different versions of the SNES core,

SNES_20200530.rbf
SNES_20200908.rbf
SNES_20201027.rbf
SNES_20201106.rbf
SNES_20210121.rbf
SNES_20210210.rbf
SNES_20210222.rbf

same issue with button presses on one OEM controller

-----------------------

i also asked this same question in the MiSTer discord, and someone posted the bits list for a SNES controller

0 - B
1 - Y
2 - Select
3 - Start
4 - Up
5 - Down
6 - Left
7 - Right
8 - A
9 - X
10 - L
11 - R

which looking at that and comparing to what im seeing, there is a pattern, and inputs are shifted 1 down starting at input 8.
it seems like an issue with the SNAC at this point, but the SNAC works hot-swapping with the "good controller" while in a game

it could be an issue with slightly low voltage due to old connections on the PCB.
i will try to reflow the IC legs and cable connector solder points sometime soon and report back if that fixed it
PikWik
Posts: 279
Joined: Sat May 30, 2020 7:00 pm
Has thanked: 208 times
Been thanked: 74 times

Re: SNAC not working with SNES Controller

Unread post by PikWik »

UPDATE:
i cleaned all the contacts with cleaner, reflowed all the solder points on the ICs/capacitor/cable connector (even L/R triggers, just because) and :cry: same issue.
controller works on the SNES, but inputs are broken on the MiSTer via SNAC.

controller is a SNS-005, btw, and not a SNS-102.

WBxDj80.jpg
WBxDj80.jpg (111.91 KiB) Viewed 1968 times

my next experiment will be to buy a couple replacement 8bit PISO register ICs, originals are mitsumi W545 (or the available equivalent, 74HC165D SOP14), and replace the capacitor to see if that fixes things
paulbnl
Core Developer
Posts: 217
Joined: Sun May 24, 2020 8:48 pm
Has thanked: 50 times
Been thanked: 301 times

Re: SNAC not working with SNES Controller

Unread post by paulbnl »

Can you measure the voltages on the Mitsumi chips when connected with SNAC? It sounds like it is not getting enough voltage if it does work in your original SNES and not with SNAC.

The shift clock is high most of the time so you should get at least 2 pins of 5volt (Vcc and Clock).
PikWik
Posts: 279
Joined: Sat May 30, 2020 7:00 pm
Has thanked: 208 times
Been thanked: 74 times

Re: SNAC not working with SNES Controller

Unread post by PikWik »

just tested with a multi-meter with the SNES core running and connected via SNAC.
both ICs are getting ~4.65v on most pins, with an exception of "ICA" getting 16mv on one pair of pins, where "ICB" is getting 158mv on the same two pins.

i dont have a data sheet of the mitsumi W545, so what i did to test was pointed one end of my multi-meter on the top right pin from the picture above (lets say this is pin 7) and then ran the other end of the multi-meter across each bottom pin.

ICA

Pin8 - 4.65v
Pin9 - 16mv
Pin10 - 4.65v
Pin11 - 4.65v
Pin12 - 4.65v
Pin13 - 4.65v
Pin14 - 187mv

ICB

Pin8 - 4.65v
Pin9 - 158mv
Pin10 - 4.65v
Pin11 - 4.65v
Pin12 - 4.65v
Pin13 - 4.65v
Pin14 - 187mv

Capacitor - 4.86v

-------------------------
Working controller readings
-------------------------

ICA

Pin8 - 4.75v
Pin9 - 41mv
Pin10 - 4.75v
Pin11 - 4.75v
Pin12 - 4.75v
Pin13 - 4.75v
Pin14 - 98mv

ICB

Pin8 - 4.75v
Pin9 - 69mv
Pin10 - 4.75v
Pin11 - 4.75v
Pin12 - 4.75v
Pin13 - 4.75v
Pin14 - 98mv

Capacitor - 4.87v

if i had to guess, i would say ICA in the "bad" controller is the bad chip, as its the one thats reporting the under voltage,
but im not 100%

ill report back after i swap out the ICs with the 74HC165D SOP14 i found
PikWik
Posts: 279
Joined: Sat May 30, 2020 7:00 pm
Has thanked: 208 times
Been thanked: 74 times

Re: SNAC not working with SNES Controller

Unread post by PikWik »

well, the 74HC165D SOP14 was incompatible and didnt work.
i swapped it back with the original IC, and the controller is back to the same issue as before (working on a SNES but not on the MiSTer).

SOLUTION - i bought a super famicom controller, swapped out the stock japan cable for the longer US cable from my "non-working" controller, cleaned up all the contacts on the SFC controller, replaced the rubber pads with new ones, did my tape mod to the D-pad contacts, and the SFC controller works just fine on both my original SNES and the MiSTer :mrgreen:

one thing i did notice right away, is that the hard plastic D-pad on the super famicom is slightly thicker and sits lower on the controller, compared to the US controller. like, just a hair thicker but definitely different to the US controller's D-pad. to me, it feels easier to roll inputs and is smoother/less poppy when doing quick left-to-right inputs. noting, both my US SNES controller and the japan SFC controller have the same replacement rubber pads and the shells look to be exactly the same, but the D-pad feels notably different (in a good way) on the SFC controller.
Post Reply