The SNES controller is very similar to the NES' standard controller, with a collection of digital inputs that are latched and read in series. With a suitable adapter, reading the SNES controller is like reading an NES controller with 4 extra buttons.
The 16 bit report:
Note that the first 8 values map directly to the original NES controller's 8 inputs (SNES B = NES A, and SNES Y = NES B).
The last 4 bits will always read 0 from a standard SNES controller. Other values here may indicate other devices.
After the 16 bit report, subsequent bits will read as 1.
- FullSNES: SNES Controller Hardware ID Codes