SNES controller interface - marcosassis/gamepaduino GitHub Wiki

SNES | Super Nintendo | Super Famicom _controllers_communication protocol and pinout

The SNES gamepad!

physical interface - connector pins

 _________________
| o o o o | o o o )  looking into the controller cable
  1 2 3 4   5 6 7
+5V C L D   x x GND
    ↑ ↑ ↓
  1. +5V
  2. data clock: data driven by by console, clocks controller's shift registers
  3. data latch: console drives when ready to read controller, latches shift registers
  4. serial data: on each clock pulse (and after latch pulse) controller sends next button state
  5. unused
  6. unused
  7. ground

communication protocol

             ->|   |<- 12us
                ___          ->| |<- 6us
data latch  ___|   |___________________________________________________________________
            _________   _   _   _   _   _   _   _   _   _   _   _   _   _   _   _   ___
data clock           |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| |_| 
            _______ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ _______________________
serial data        |_B_|_Y_|___|___|___|___|___|___|_A_|_X_|_L_|_R_| ?   ?   ?   ?  
                     0   1   2   3   4   5   6   7   8   9   10  11  12  13  14  15
button name/id              /   /    |    \   \   \
                        select start up down left right 

serial data is 0V when button is pressed

example:

                ___    B and select pressed
data latch  ___|   |_________________...
            _________   _   _   _   _   
data clock           |_| |_| |_| |_| ... 
                ___     ___     _____...
serial data ___|   |___|   |___|
                   |<->| 12us 
                  

The SNES mouse!

physical interface - connector pins

communication protocol

biblio

Super Nintendo Entertainment System: pinouts & protocol 1996 gamefaqs mouse 2008 etc

Hardware Report - Thomas D 2008

https://tresi.github.io/nes/

https://gamesx.com/wiki/doku.php?id=controls:nes_snes_controller

https://learn.adafruit.com/usb-snes-gamepad/disassemble-the-snes-controller

https://dragaosemchama.com/2015/11/snes-controller-to-pc-adapter-with-arduino-micro/

http://uzebox.org/files/NES-controller-Hydra-Ch6All-v1.0.pdf