SNES controller: Difference between revisions
From NESdev Wiki
Jump to navigationJump to search
m (bits 12-15 are the input type identifier - see http://problemkaputt.de/fullsnes.htm#snescontrollershardwareidcodes) |
Rainwarrior (talk | contribs) (why not add that link you just dropped into the comment to the article as a reference?) |
||
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 | The last 4 bits will always read 0 from a standard SNES controller. Other values here may indicate other devices<ref>[http://problemkaputt.de/fullsnes.htm#snescontrollershardwareidcodes FullSNES:] SNES Controller Hardware ID Codes</ref>. | ||
After the 16 bit report, subsequent bits will read as 1. | |||
== See also == | == See also == | ||
Line 48: | Line 50: | ||
* [[Standard controller]] | * [[Standard controller]] | ||
* [[Controller reading]] | * [[Controller reading]] | ||
== References == | |||
<References/> |
Revision as of 04:26, 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 other devices[1].
After the 16 bit report, subsequent bits will read as 1.