User Tools

Site Tools


controls:nes_snes_controller

This is an old revision of the document!


NES/SNES/Famicom Pad Pinouts

NES Controller PortSNES Controller PortFamicom Controller Port

This page is divided into two halves: The pinouts (above) 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.

Pinout Data
Pin NameNES Pin #SNES Pin #Famicom Pin #
GND118
P/S (Latch)3512
Clock7610
Data5411
Vcc +5v279
Data 21)4N/AN/A
Data 36N/AN/A

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 4021 to 'load' each button as one bit.

If you imagine the inside of the 4021 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 4021 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 pink. 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 the changes: Button A routed to pin 1, B to pin 15, pin 11 routed to ground.

For a more complicated explanation of the SNES communication protocol, see our old page.

On SNES controller boards manufactured by Mitsumi a single custom chip is used. The schematic is shown below for reference.

1)
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.
controls/nes_snes_controller.1244737269.txt.gz · Last modified: 2019/08/27 20:44 (external edit)