As you can see, the ports are very different for each system - but the chips used in all three are the same, so the pin labels are the same.
NES Controller Port
SNES Controller port
Famicom Controller Port
Data 2 & Data 3
Data 2 and Data 3 are not used for normal controllers. For the NES they're used for things like the Zapper and other specialized controls (Arkanoid paddle, etc). Ditto for the SNES - these lines are reserved for use with things like the Super Scope.
You can actually cut the end off a NES controller, attach a SNES controller plug, and expect it to work. The colours of the wires inside the cable are even the same!!
Please note! This page is no longer being updated. For current (ie: correct) info, please see this wiki page.
NES/SNES/Famicom Pad Pinouts
This page is divided into two halves: The pinouts (to your left) and the labels for them (immediately below). Farther down you'll a brief description of how it all works and a diagram detailing the internals of a SNES controller. Special thanks, as usual, to Game Lab magazine (Japanese only, sadly) and Kevin Horton who helped me wrap my head around this odd little IC.
|Pin Name||NES Pin #||SNES Pin #||Famicom Pin #
See sidebar for info on Data 2 & 3
There's not much to it. The 4021 IC is an 8-channel parallel to serial convertor. Every time the P/S line is switched on, the IC 'loads' each of the inputs. It makes each one a single 'bit' - 0 if not pressed, 1 if pressed. Every time the 'clock' line pulses, the IC shifts one bit out the serial output line.
This about it this way: The NES is constantly outputting a 'clock' signal - a pulse of electricity switching between on and off very rapidly. Every time the NES wants to know what buttons are being pressed, it briefly activates the 'P/S' line (think of it as a 'load' line) causing the 2014 to 'load' each button as one bit.
If you imagine the inside of the 2014 as a conveyor belt, it's just placed each 'bit' (A 1 or 0) onto the belt, each in it's own little pocket on the belt. The 'load' line turns off, and the conveyor belt moves in time to the 'clock' signal. Every time the clock 'pulses' the conveyor belt moves one bit over, and shoves the next bit out the serial line. When all the bits are gone, the NES activates the load line and loads the next 8 bits onto the conveyor.
There's only one more step to this with the SNES controller. As you can see below, there are two chips. One line of the 2014 is a serial input. Imagine two conveyor belts hooked together - the bottom chip shoves the bits into the end of the first one, making one long 16-bit conveyor belt. The SNES activates the 'load' line every sixteen bits and then waits while the 'clock' line shifts the conveyor 16-bits along. Once all sixteen bits are received, the load line is activated again, and the bits are reloaded onto the belt.
There's not too much to it. The blue lines are the inputs - each one is labelled. The green line is the 'conveyor belt' connector, bridging the serial output of the bottom IC into the input of the top one. The red line is the 'Load' line. The always-pulsing clock line is green. There are four extra buttons not used on the 2nd chip, you can see they're not attached. Each line is held "high" by the +5v power and the 10k ohm resistor (see the Controller Primer) until a switch is pressed, grounding the pin. To make a NES connector, simply ignore the second IC. Please note that button 'Y' above is button 'A' on a NES.
For a more complicated explanation, see our old page