The Super Nintendo controller has a relatively simple protocol. It uses two 8-bit shift registers in parallel, totaling 16-bits. 12 button state bits followed by 4 device ID bits.
The shift registers can be read by signaling a latch pulse to start the read cycle, followed by 16 clock pulses for each of the 16 data bits to be read in.
A latch pulse tells the controller that the console is about to send clock pulses and read in the button data. Each time the clock signal goes low the next button data bit is read in.
For example, the first bit is B
, second bit is Y
, third is Select
and so on. In the image above you can see what it looks like when Y
and Start
buttons are held and released together, over and over.
Text editor powered by tinymce.