Input devices
From NESdev Wiki
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 |
- ↑ /OE1 is activated by reading $4016.
- ↑ /OE2 is activated by reading $4017.
- ↑ 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.
- ↑ The Famicom controller 2 has a microphone that sends audio input over $4016 D2. This is not affected by OUT0 nor /OE2.
- ↑ A Famicom expansion controller may connect the audio output signal to a headphone jack (for example: IQ502 joypad).
- ↑ 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.