SNES controller: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
Rainwarrior (talk | contribs) (created article) |
m (bits 12-15 are the input type identifier - see http://problemkaputt.de/fullsnes.htm#snescontrollershardwareidcodes) |
||
Line 42: | Line 42: | ||
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'''). | 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 a third party clone, or some other problem. After the 16 bit report, subsequent bits will read as 1. | The last 4 bits will always read 0 from a standard SNES controller. Other values here may indicate a third party clone, a device that isn't a joypad, or some other problem. After the 16 bit report, subsequent bits will read as 1. | ||
== See also == | == See also == |
Revision as of 04:14, 6 January 2019
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:
bit | input |
---|---|
0 | B |
1 | Y |
2 | Select |
3 | Start |
4 | Up |
5 | Down |
6 | Left |
7 | Right |
8 | A |
9 | X |
10 | L |
11 | R |
12 | 0 |
13 | 0 |
14 | 0 |
15 | 0 |
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 a third party clone, a device that isn't a joypad, or some other problem. After the 16 bit report, subsequent bits will read as 1.