Expansion port: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
(→‎Famicom: add direction arrows; use same capitalization as NES expansion port)
Line 16: Line 16:


( Female DA-15 on peripheral )
( Female DA-15 on peripheral )
              /\
                /\
            |  \
                |  \
         GND | 01  \
         Gnd -- | 01  \
            |  09 | /OE for joypad 2
                |  09 | -> /OE for joypad 2 ($4017 read strobe)
       SOUND | 02  |
       SOUND <- | 02  |
            |  10 | Out 2 ($4016.2)
                |  10 | -> out 2 ($4016 write data, bit 2)
         /IRQ | 03  |
         /IRQ ?? | 03  |
            |  11 | Out 1 ($4016.1)
                |  11 | -> out 1 ($4016 write data, bit 1)
  Joypad 2 D4 | 04  |
  joypad 2 D4 -> | 04  |
            |  12 | Out 0 ($4016.0, Strobe)
                |  12 | -> out 0 ($4016 write data, bit 0, strobe on pads)
  Joypad 2 D3 | 05  |
  joypad 2 D3 -> | 05  |
            |  13 | Joypad 1 D1
                |  13 | <- joypad 1 D1
  Joypad 2 D2 | 06  |
  joypad 2 D2 -> | 06  |
            |  14 | /OE for Joypad 1
                |  14 | -> /OE for joypad 1 ($4016 read strobe)
  Joypad 2 D1 | 07  |
  joypad 2 D1 -> | 07  |
            |  15 | +5V
                |  15 | -- +5V
  Joypad 2 D0 | 08  /
  joypad 2 D0 ?? | 08  /
            |  /
                |  /
              \/
                \/


===Signal descriptions===
===Signal descriptions===


;Digital inputs to the Famicom:Joypad 1 D1, Joypad 2 D1…D4
;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
;Digital outputs from the Famicom:Out 0, 1, 2; /OE for both joypads
;Open-collector bidirectional: IRQ
;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.)
;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 context: 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)
;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 ==
== NES ==

Revision as of 04:26, 15 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