SNES controller: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(linking Virtual Boy controller to point out correspondence)
(Adds an SNES controller image.)
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
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 [[Controller port pinout|suitable adapter]], reading the SNES controller is like reading an NES controller with 4 extra buttons.
[[File:SNES-Controller-Flat.jpg|400px|thumb|right|Standard SNES controller]]
The '''Super NES Controller''' (SHVC-005, SNS-005, SNS-102) is very similar to the NES's [[standard controller]], with a collection of digital inputs that are latched and read in series. With a [[Controller port pinout|suitable adapter]], reading the SNES controller is like reading an NES controller with 4 extra buttons.


[[Category:Controllers]]
[[Category:Controllers]]
[[Category:Super NES]]


The 16 bit report:
The 16 bit report will read, in order:
{| class="wikitable"
! 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''').
  0 - B
  1 - Y
  2 - Select
  3 - Start
  4 - Up
  5 - Down
  6 - Left
  7 - Right


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>.
  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 [[Virtual Boy controller]] likewise returns button states in nearly the same order, with the right Control Pad corresponding to ABXY on the Super NES.
 
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> such as a [[mouse]] or a Virtual Boy controller.


After the 16 bit report, subsequent bits will read as 1.
After the 16 bit report, subsequent bits will read as 1.
== Games ==
An incomplete list of NES games with special support for SNES controllers:
* ''Spook-O-Tron''
* ''Nova the Squirrel''<ref>[https://forums.nesdev.org/viewtopic.php?p=198552#p198552 Nova the Squirrel (WIP)] - forum post discussing SNES controller support.</ref>
* ''Full Quiet''<ref>[https://twitter.com/ecmyers/status/1600574149092589569 Tweet by E.C. Myers]</ref>


== See also ==
== See also ==
* [[Controller port pinout]]
* [[Controller port pinout]]
* [[Standard controller]]
* [[Controller reading]]
* [[Controller reading]]
* [[Mouse|SNES mouse]]
* [[Virtual Boy controller]] - Has a mostly compatible corresponding bit report.


== References ==
== References ==
:*[//snes.nesdev.org/wiki/Standard_controller Standard controller] at SNESdev Wiki
<References/>
<References/>

Latest revision as of 05:26, 18 January 2024

Standard SNES controller

The Super NES Controller (SHVC-005, SNS-005, SNS-102) is very similar to the NES's 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 will read, in order:

 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 Virtual Boy controller likewise returns button states in nearly the same order, with the right Control Pad corresponding to ABXY on the Super NES.

The last 4 bits will always read 0 from a standard SNES controller. Other values here may indicate other devices,[1] such as a mouse or a Virtual Boy controller.

After the 16 bit report, subsequent bits will read as 1.

Games

An incomplete list of NES games with special support for SNES controllers:

  • Spook-O-Tron
  • Nova the Squirrel[2]
  • Full Quiet[3]

See also

References

  1. FullSNES: SNES Controller Hardware ID Codes
  2. Nova the Squirrel (WIP) - forum post discussing SNES controller support.
  3. Tweet by E.C. Myers