Input devices

From NESdev Wiki
Revision as of 05:22, 20 January 2024 by Fiskbit (talk | contribs) (Reworks the signal table to be better organized and easier to read. Adds more devices. Fixes the zapper audio signal.)
Jump to navigationJump to search

Usage of port pins by hardware type

type output Joypad 1 Joypad 2 audio output
signal OUT2 OUT1 OUT0 /OE1 D4 D3 D2 D1 D0 /OE2 D4 D3 D2 D1 D0 AUDIO
access method write $4016 [1] read $4016 [2] read $4017
available on these ports
Controller port 1 (AV Famicom) OUT0 /OE1 D0
Controller port 1 (Famicom (internal)) OUT0 /OE1 D0
Controller port 1 (NES) OUT0 /OE1 D4 D3 D0
Controller port 2 (AV Famicom) OUT0 /OE2 D0
Controller port 2 (Famicom (internal)) OUT0 D2 /OE2 D0
Controller port 2 (NES) OUT0 /OE2 D4 D3 D0
Expansion port (Famicom) OUT2 OUT1 OUT0 /OE1 D1 /OE2 D4 D3 D2 D1 D0 AUDIO
Expansion port (NES) OUT2 OUT1 OUT0 /OE1 D4 D3 D2 D1 D0 /OE2 D4 D3 D2 D1 D0 AUDIO
used by these devices
Controller (port 1)[3] OUT0 /OE1 D0
Controller (port 2)[3] OUT0 /OE2 D0
Controller (Famicom controller 2)[4] OUT0 D2 /OE2 D0
Controller (expansion port) OUT0 /OE1 D1 AUDIO[5]
Arkanoid controller (port 2)[3] OUT0 /OE2 D4 D3
Arkanoid controller (expansion port) OUT0 D1 /OE2 D1
Arkanoid II controller (2 controllers) OUT0 D1 /OE2 D4 D3 D1
Bandai Hyper Shot OUT2 OUT1 OUT0 /OE1 D1 D4 D3 AUDIO
Exciting Boxing Punching Bag OUT1 /OE2 D4 D3 D2 D1
FAM-NET Keyboard OUT2 OUT1 OUT0 D4 D3 D2 D1
Family Trainer Mat OUT2 OUT1 OUT0 D4 D3 D2 D1
Family BASIC Keyboard OUT2 OUT1 OUT0 D4 D3 D2 D1
Famicom 3D System OUT1
Famicom Network System controller OUT0 /OE1 D1
Four player adapter (Four Score) OUT0 /OE1 D0 /OE2 D0
Four player adapter (Hori 4 Players Adapter) OUT0 /OE1 D1 /OE2 D1
Hori Track OUT0 /OE2 D1
Jissen Mahjong controller OUT2 OUT1 OUT0 /OE2 D1
Konami Hyper Shot OUT2 OUT1 /OE2 D4 D3 D2 D1
Oeka Kids tablet OUT1 OUT0 D3 D2
Pachinko controller OUT0 /OE1 D1
Party Tap OUT0 /OE2 D4 D3 D2
Power Pad (port 2)[3] OUT0 /OE2 D4 D3
Port test controller OUT0 /OE1 D4 D3 D0 /OE2 D4 D3 D0
TV-NET controller OUT0 /OE1 D1
TV-NET Rank 2 controller OUT0 /OE1 D1
Zapper (port 2) D4 D3
Zapper (expansion port) D4 D3 [6]
Zapper (Vs. System) (port 1)[3] OUT0 /OE1 D0
  1. /OE1 is activated by reading $4016.
  2. /OE2 is activated by reading $4017.
  3. 3.0 3.1 3.2 3.3 3.4 Controllers using NES ports can be plugged into either port, using that port's /OE and data lines. However, games may expect a controller to only be in a specific port.
  4. The Famicom controller 2 has a microphone that sends audio input over $4016 D2. This is not affected by OUT0 nor /OE2.
  5. A Famicom expansion controller may connect the audio output signal to a headphone jack (for example: IQ502 joypad).
  6. The Casel Zapper plays audio when the trigger is pulled, but this is done entirely by the controller independent of the console's audio out.