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)
(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 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.
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.

See also

References

  1. FullSNES: SNES Controller Hardware ID Codes