Expansion port: Difference between revisions
(→Famicom: add direction arrows; use same capitalization as NES expansion port) |
(→Extra notes: IRQ is usually not usefully open collector) |
||
Line 85: | Line 85: | ||
** e.g. D0 is unavailable if a [[Standard controller]] or [[Four score]] is plugged in, and | ** e.g. D0 is unavailable if a [[Standard controller]] or [[Four score]] is plugged in, and | ||
** D3 and D4 are unavailable if a [[Zapper]], [[Arkanoid controller]], or [[Power Pad]] is plugged in. | ** D3 and D4 are unavailable if a [[Zapper]], [[Arkanoid controller]], or [[Power Pad]] is plugged in. | ||
* | * /NMI is open-collector | ||
* /IRQ depends on the cartridge—most ASICs seem to use a push-pull driver instead of relying on the pull-up resistor inside the console | |||
* See [[Cartridge connector#Signal descriptions]] for notes about the ten EXP pins. | * See [[Cartridge connector#Signal descriptions]] for notes about the ten EXP pins. | ||
* See [[Standard controller]] and [[Controller port pinout]] for more information about controller connections. | * See [[Standard controller]] and [[Controller port pinout]] for more information about controller connections. |
Revision as of 18:51, 19 January 2022
Both the NES and Famicom have expansion ports that allow peripheral devices to be connected to the system.
See also: Input devices
Famicom
The Famicom has a 15-pin (male) port on the front edge of the console.
Because its two default controllers were not removable like the NES, peripheral devices had to be attached through this expansion port, rather than through a controller port as on the NES.
This was commonly used for third party controllers, usually as a substitute for the built-in controllers, but sometimes also as a 3rd and 4th player.
Pinout
( Female DA-15 on peripheral )
/\ | \ Gnd -- | 01 \ | 09 | -> /OE for joypad 2 ($4017 read strobe) SOUND <- | 02 | | 10 | -> out 2 ($4016 write data, bit 2) /IRQ ?? | 03 | | 11 | -> out 1 ($4016 write data, bit 1) joypad 2 D4 -> | 04 | | 12 | -> out 0 ($4016 write data, bit 0, strobe on pads) joypad 2 D3 -> | 05 | | 13 | <- joypad 1 D1 joypad 2 D2 -> | 06 | | 14 | -> /OE for joypad 1 ($4016 read strobe) joypad 2 D1 -> | 07 | | 15 | -- +5V joypad 2 D0 ?? | 08 / | / \/
Signal descriptions
- Digital inputs to the Famicom
- Joypad 1 D1, Joypad 2 D1-D4
- Digital outputs from the Famicom
- Out 0, 1, 2; /OE for both joypads
- Depends on cart
- /IRQ (Some games use a push/pull driver, which doesn't permit anything else to disagree)
- Analog outputs
- SOUND (In the original Famicom, before expansion audio is mixed in. In the AV Famicom, after expansion audio is mixed in.)
- Depends on model
- Joypad 2 D0 (In the original Famicom, permanently connected to player 2 controller, so an output. On the AV Famicom, the player 2 controller could be removed, and allow for this to be an input)
NES
The NES has a 48-pin card edge located on the underside of the NES, beneath a plastic tab which must be cut or broken to expose the connector. The thickness of the connector is exceptionally thick (2.6mm), thicker than standard PCB thicknesses.
Because the NES had controller ports on the front that allowed different devices to be plugged in, the expansion port was a kind of "back up plan" for Nintendo that was never used commercially.
Pinout
+-------\ +5V -- |01 48| -- +5V Gnd -- |02 47| -- Gnd Audio in -> |03 46| -- NC /NMI <> |04 45| -> out 2 ($4016 write data, bit 2) A15 <- |05 44| -> out 1 ($4016 write data, bit 1) EXP9 ?? |06 43| -> out 0 ($4016 write data, bit 0, strobe on sticks) EXP8 ?? |07 42| ?? EXP0 EXP7 ?? |08 41| ?? EXP1 EXP6 ?? |09 40| ?? EXP2 EXP5 ?? |10 39| ?? EXP3 ($4017 read strobe) /OE for joypad 2 <- |11 38| ?? EXP4 joypad 1 D1 -> |12 37| -> /OE for joypad 1 ($4016 read strobe) joypad 1 D3 xx |13 36| xx joypad 1 D4 /IRQ <> |14 35| xx joypad 1 D0 joypad 2 D2 -> |15 34| -> duplicate of pin 37 joypad 2 D3 xx |16 33| <- joypad 1 D2 duplicate of pin 11 <- |17 32| <> CPU D0 joypad 2 D4 xx |18 31| <> CPU D1 joypad 2 D0 xx |19 30| <> CPU D2 joypad 2 D1 -> |20 29| <> CPU D3 Video out <- |21 28| <> CPU D4 Audio out <- |22 27| <> CPU D5 unregulated power adapter vdd -- |23 26| <> CPU D6 4.00MHz CIC CLK <- |24 25| <> CPU D7 +-------/
Extra notes
- All joypad input lines D0-4 are logically inverted before reaching the CPU. A high signal will be read as a 0 and vice versa.
- xx in above pinout: Joypad 1 and 2 D0, D3, and D4 are available as an input if no peripheral is connected to the corresponding joystick port that uses those bits:
- e.g. D0 is unavailable if a Standard controller or Four score is plugged in, and
- D3 and D4 are unavailable if a Zapper, Arkanoid controller, or Power Pad is plugged in.
- /NMI is open-collector
- /IRQ depends on the cartridge—most ASICs seem to use a push-pull driver instead of relying on the pull-up resistor inside the console
- See Cartridge connector#Signal descriptions for notes about the ten EXP pins.
- See Standard controller and Controller port pinout for more information about controller connections.