SNES controller schematic
Moderator: Moderators
Forum rules
- For making cartridges of your Super NES games, see Reproduction.
SNES controller schematic
Hello everyone. I was trying to build an arcade controller for my SNES, I found and build two versions of the controller (one using 2x 4021 and the other one using 2x 74ls165 and 1x 74ls04). I was following these schematics:
http://www.raphnet.net/electronique/arc ... rol_en.php
http://www.gamesx.com/controldata/nessnes.htm
My goal was to connect my custom db15 neogeo compatible controller to the snes by using one of the above scenarios, so far without success. Unfortunately I have no idea what im missing here. Both scenarios are not working for me and i have no idea what may be the cause (assuming the schematics are fine). I very quickly made simple one sided boards in eagle, take a look at it, maybe You will find some flaws in it:
Both controllers act the same, only "B" button is working fine, other buttons are not working at all. The strange thing is - when I hold the B button, im able to use left, right, start, select and A buttons - I wonder if schematics found on the web are correct, or maybe I made some mistakes while designing that simple boards. I have already build an arcade controller for NES and Sega MD without bigger issues.
Looking forward for some help!
http://www.raphnet.net/electronique/arc ... rol_en.php
http://www.gamesx.com/controldata/nessnes.htm
My goal was to connect my custom db15 neogeo compatible controller to the snes by using one of the above scenarios, so far without success. Unfortunately I have no idea what im missing here. Both scenarios are not working for me and i have no idea what may be the cause (assuming the schematics are fine). I very quickly made simple one sided boards in eagle, take a look at it, maybe You will find some flaws in it:
Both controllers act the same, only "B" button is working fine, other buttons are not working at all. The strange thing is - when I hold the B button, im able to use left, right, start, select and A buttons - I wonder if schematics found on the web are correct, or maybe I made some mistakes while designing that simple boards. I have already build an arcade controller for NES and Sega MD without bigger issues.
Looking forward for some help!
Re: SNES controller schematic
That sounds kinda like the B button is shorted to P/S. Or at least, something is definitely wrong with IC1's P/S pin, anyway.hyvax wrote:Both controllers act the same, only "B" button is working fine, other buttons are not working at all. The strange thing is - when I hold the B button, im able to use left, right, start, select and A buttons - I wonder if schematics found on the web are correct, or maybe I made some mistakes while designing that simple boards
Re: SNES controller schematic
This is the sch I use (works of course).
this is for a single controller. so for 2 controllers, you'd need x 2.
Edit: resistor network is 10k value
this is for a single controller. so for 2 controllers, you'd need x 2.
Edit: resistor network is 10k value
Last edited by Markfrizb on Sat Dec 10, 2016 9:33 am, edited 1 time in total.
Re: SNES controller schematic
I don't have Eagle so I can't view your files.
Re: SNES controller schematic
PNG versions here:
whicker wrote:I don't have Eagle so I can't view your files.
- Attachments
-
- snes_controll_PNGs.zip
- (84.74 KiB) Downloaded 295 times
Re: SNES controller schematic
Yes, that's correct
Re: SNES controller schematic
Good news
while looking for the answer and a possible solution to the problem I found this schematic on the web:
http://arcadecontrols.com/images/stephan_snes_cc.gif
it caught my attention, that not used "SI" pin11 on the 2nd 4021 is not grounded there, so I tried it and un-grounded this pin in my circuit... and everything is working like a charm now! That did the trick.
So... I guess (in mine experience) that unused serial data input on the 2nd 4021 should not be grounded ! Any idea why on almost every schematic on the web it is? Strange...
http://arcadecontrols.com/images/stephan_snes_cc.gif
it caught my attention, that not used "SI" pin11 on the 2nd 4021 is not grounded there, so I tried it and un-grounded this pin in my circuit... and everything is working like a charm now! That did the trick.
So... I guess (in mine experience) that unused serial data input on the 2nd 4021 should not be grounded ! Any idea why on almost every schematic on the web it is? Strange...
Re: SNES controller schematic
so what happens if you pull that SI pin up to +5V instead of leaving it floating?
Re: SNES controller schematic
That SI pin is not "not used". It is used to define the padding bits that appear after reading the first 16 bits. That bits are used for detecting if a controller is connected - and as far as I can tell they should be LOW, so GNDing that pin was correct.
When not GNDing it, at least some games should stop working (if they contain a controller detection function). I don't know why your circuit worked better without GNDing - unless maybe you did have shortcut SI with some nearby pin(?).
Aside from that, if you want to use the circuit on a PAL console, then you will need pull-up resistors on the open-collector outputs from SNES side, ie. on the CLK and LATCH lines.
Maybe... if you are using a PAL console, then your floating open-collectors signals might have been "healed" by leaving SI floating, too. But of course, relying on floating signals wouldn't be a good solution.
When not GNDing it, at least some games should stop working (if they contain a controller detection function). I don't know why your circuit worked better without GNDing - unless maybe you did have shortcut SI with some nearby pin(?).
Aside from that, if you want to use the circuit on a PAL console, then you will need pull-up resistors on the open-collector outputs from SNES side, ie. on the CLK and LATCH lines.
Maybe... if you are using a PAL console, then your floating open-collectors signals might have been "healed" by leaving SI floating, too. But of course, relying on floating signals wouldn't be a good solution.
Re: SNES controller schematic
Thanks for that explanation nocash!nocash wrote:That SI pin is not "not used". It is used to define the padding bits that appear after reading the first 16 bits. That bits are used for detecting if a controller is connected - and as far as I can tell they should be LOW, so GNDing that pin was correct.
When not GNDing it, at least some games should stop working (if they contain a controller detection function). I don't know why your circuit worked better without GNDing - unless maybe you did have shortcut SI with some nearby pin(?).
Aside from that, if you want to use the circuit on a PAL console, then you will need pull-up resistors on the open-collector outputs from SNES side, ie. on the CLK and LATCH lines.
Maybe... if you are using a PAL console, then your floating open-collectors signals might have been "healed" by leaving SI floating, too. But of course, relying on floating signals wouldn't be a good solution.
Im using this circuit on a PAL console
https://projects.drogon.net/wp-content/ ... ematic.png
and it was not working
Maybe signal lines are to close to eachother on the PCB are interferencing somehow... no idea, im not that good in electronics. Also, IC's used in original controller from what I saw are 4021B - IC's that I put in mine are 4021N (not sure about that "N" - will check and confirm - anyway they differs) maybe some characteristics of that ICs differ... ?
Re: SNES controller schematic
hi all,
I ran into the exact same problem using multiple schematics from the web, so just the B button works, and refused to give up.. turns out that the exact value for the pull-up resistors for latch/data/clock is pretty important.
on a breadboard version of the schematics from raphael assenat, I ended up using a 1.2kohm resistor just on clock, and on an (identical) PCB version that I made the same value wouldn't even work, so I went down to 467ohm.. now everything is working consistently.
note that I use 10kohm pull-ups for all buttons. I also put a little bit of aluminum tape on the conductive little plates under the select and start buttons, or there was too much resistance in them. looks like this might be solvable as well by varying the 10kohm resistors, but I've had enough..
here's a link to my project, which also includes a precisely 3d-modeled and printed controller (electronics go inside):
http://www.thingiverse.com/thing:337896
I hope to write a detailed summary of this project on my blog soon:
http://blogfarts.blogspot.nl/
I ran into the exact same problem using multiple schematics from the web, so just the B button works, and refused to give up.. turns out that the exact value for the pull-up resistors for latch/data/clock is pretty important.
on a breadboard version of the schematics from raphael assenat, I ended up using a 1.2kohm resistor just on clock, and on an (identical) PCB version that I made the same value wouldn't even work, so I went down to 467ohm.. now everything is working consistently.
note that I use 10kohm pull-ups for all buttons. I also put a little bit of aluminum tape on the conductive little plates under the select and start buttons, or there was too much resistance in them. looks like this might be solvable as well by varying the 10kohm resistors, but I've had enough..
here's a link to my project, which also includes a precisely 3d-modeled and printed controller (electronics go inside):
http://www.thingiverse.com/thing:337896
I hope to write a detailed summary of this project on my blog soon:
http://blogfarts.blogspot.nl/
