Mask ROM pinout: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
m (→‎128/256/512 KBytes (28/32pin) ROMs: USA NES games with Konami boards apparently uses Nintendo's pinout (looking at the # of pins on bootgod's database).)
(combined everything into one narrow diagram as Blarg wishes, added info/speculaiton about unused pins)
Line 4: Line 4:


For some unknown reasons, unused address lines on smaller ROMs '''had to be''' put to +5V, as Nintendo made different boards for each size (as opposed to place EPROMs of different sizes into the same slot). Some boards, such as CNROM, features solder pads in order to force those pins to +5V though.
For some unknown reasons, unused address lines on smaller ROMs '''had to be''' put to +5V, as Nintendo made different boards for each size (as opposed to place EPROMs of different sizes into the same slot). Some boards, such as CNROM, features solder pads in order to force those pins to +5V though.
As Nintendo liked to use Mask ROMs from various manufacturers, apparently unused pins could be either not connected or additional active high CE enable lines. This would ensure that if Nintendo would order mask ROMs with additional enable lines that aren't used, they could place them on the board without having the fear of having them disabled accidentally.


This doesn't apply to CHR ROMs - i.e. a smaller ROM can always fit a slot made with a larger ROM in mind.
This doesn't apply to CHR ROMs - i.e. a smaller ROM can always fit a slot made with a larger ROM in mind. Probably as the game will work if the ROM is "accidentally" disabled before the first write to CHR bankswitching registers.


<pre style="display:inline-block">
<pre style="display:inline-block">
Line 27: Line 28:
               -------
               -------
</pre>
</pre>
<pre style="display:inline-block">
              PRG ROM pinout
                  ---_---
[+5V] PRG A15 - |01  28| - +5V
      PRG A12 - |02  27| - PRG A14 [+5V]
      PRG A7  - |03  26| - PRG A13 [N/C]
      PRG A6  - |04  25| - PRG A8
      PRG A5  - |05  24| - PRG A9
      PRG A4  - |06  23| - PRG A11
      PRG A3  - |07  22| - PRG /CE
      PRG A2  - |08  21| - PRG A10
      PRG A1  - |09  20| - GND
      PRG A0  - |10  19| - PRG D7
      PRG D0  - |11  18| - PRG D6
      PRG D1  - |12  17| - PRG D5
      PRG D2  - |13  16| - PRG D4
      GND    - |14  15| - PRG D3
                  -------
</pre>
<pre style="display:inline-block">
              CHR ROM pinout
                  ---_---
[+5V] CHR A15 - |01  28| - +5V
      CHR A12 - |02  27| - CHR A14 [+5V]
      CHR A7  - |03  26| - CHR A13 [N/C]
      CHR A6  - |04  25| - CHR A8
      CHR A5  - |05  24| - CHR A9
      CHR A4  - |06  23| - CHR A11
      CHR A3  - |07  22| - /OE (CHR /RD)
      CHR A2  - |08  21| - CHR A10
      CHR A1  - |09  20| - /CE (CHR A13)
      CHR A0  - |10  19| - CHR D7
      CHR D0  - |11  18| - CHR D6
      CHR D1  - |12  17| - CHR D5
      CHR D2  - |13  16| - CHR D4
      GND    - |14  15| - CHR D3
                  -------
</pre>
        CHR ROM, PRG ROM, and 27C64/128/256/512 EPROM pinouts compared
CHR      PRG      EPROM                  EPROM      PRG      CHR
                              ---_---
+5V  [+5V] A15  [+5V] A15 - |01  28| - +5V
                      A12 - |02  27| - A14 [PGM]  A14 [+5V]  PRG A14
                      A7  - |03  26| - A13 [NC]  A13 [NC]  PRG A13
                      A6  - |04  25| - A8
                      A5  - |05  24| - A9
                      A4  - |06  23| - A11
                      A3  - |07  22| - /OE        /CE      /OE (CHR /RD)
                      A2  - |08  21| - A10
                      A1  - |09  20| - /CE        GND      /CE (CHR A13)
                      A0  - |10  19| - D7
                      D0  - |11  18| - D6
                      D1  - |12  17| - D5
                      D2  - |13  16| - D4
                      GND - |14  15| - D3
                              -------
PRG and CHR pins are listed only if they differ from EPROM. On PRG, all address lines are from PRG bus. On CHR, all address lines are from CHR bus, unless noted.


== 128/256/512 KBytes (28/32pin) ROMs ==
== 128/256/512 KBytes (28/32pin) ROMs ==


Nintendo used the JEDEC pinout for (extremely rare) prototype boards intended to take a 27C010/020/040 EPROM.
Nintendo used the standard pinout for (extremely rare) prototype boards intended to take a 27C010/020/040 EPROMs.
But retail Game Paks made by Nintendo have mask ROMs with a different pinout which is not JEDEC compatible.
But retail Game Paks made by Nintendo have mask ROMs with a different pinout which is not JEDEC compatible.
This pinout, with reshuffled enable lines and higher address lines (highlighted in **), allows a 32-pin hole to take a 28-pin 128 KB PRG ROM in pin 3 to pin 30.
This pinout, with reshuffled enable lines and higher address lines, allows a 32-pin hole to take a 28-pin 128 KB PRG ROM in pin 3 to pin 30.
 
Other licenced or unlicenced companies producing Famicom or NES boards with ROMs of those sizes, used either epoxy blobs or standard EPROM pinout. The only known exception to this is Konami boards for NES games however, uses Nintendo's 'PRG' pinout (for both the PRG and CHR), using an additional 74HC32 to combine CHR /RD and CHR /A13 into a single /CE signal like SL1ROM and TL1ROM. This doesn't apply to Famicom Konami boards, which uses standard pinout.


Other licenced or unlicenced companies producing Famicom or NES boards with ROMs of those sizes, used either epoxy blobs or standard EPROM pinout. The only known exception to this is Konami boards for NES games however, uses Nintendo's PRG pinout (for both the PRG and CHR), using an additional 74HC32 to combine CHR /RD and CHR /A13 into a single /CE signal like SL1ROM and TL1ROM (this doesn't apply to Famicom Konami boards, which uses EPROM pinouts).
On Nintendo's boards where PRG A18 is never used, pin 2 is connected with pin 22.


On boards where PRG A18 is never used, pin 2 is connected with pin 22.
Nintendo's MMC5 boards which supports up to 1MB of data. Both PRG and CHR ROMs are the same pinout, and even 128 KB PRG ROMs are 32-pin so they can have a VCC pin.


<pre style="display:inline-block">
<pre style="display:inline-block">
  27C010/020/040/80 EPROM pinout
        CHR ROM, PRG ROM, and 27C010/020/040/080 EPROM pinouts compared
        (JEDEC standard)
            ---_---
[VPP] A19 - |01  32| - +5V
      A16 - |02  31| - A18 [PGM]
      A15 - |03  30| - A17 [NC]
      A12 - |04  29| - A14
      A7  - |05  28| - A13
      A6  - |06  27| - A8
      A5  - |07  26| - A9
      A4  - |08  25| - A11
      A3  - |09  24| - /OE
      A2  - |10  23| - A10
      A1  - |11  22| - /CE
      A0  - |12  21| - D7
      D0  - |13  20| - D6
      D1  - |14  19| - D5
      D2  - |15  18| - D4
      GND - |16  17| - D3
            -------
</pre>
<pre style="display:inline-block">
          Nintendo PRG ROM pinout
   
   
                  ---_---
  MMC5    CHR       PRG     EPROM                  EPROM       PRG  CHR   MMC5
      PRG A17 - |01  32| - +5V
                                        ---_---
**[/CE]PRG A18 - |02  31| - +5V **
  A17    A17 [+5V] A17     [VPP] A19 - |01  32| - +5V
      PRG A15 - |03  30| - +5V **
A18    /CE        A18 [/CE]      A16 - |02  31| - A18 [PGM]    +5V    /CE    /CE
      PRG A12 - |04  29| - PRG A14
                                  A15 - |03  30| - A17 [NC]    +5V   +5V    A19
      PRG A7 - |05  28| - PRG A13
                                  A12 - |04  29| - A14
       PRG A6  - |06  27| - PRG A8
                                  A7  - |05  28| - A13
       PRG A5  - |07   26| - PRG A9
                                  A6  - |06  27| - A8
      PRG A4  - |08   25| - PRG A11
                                  A5  - |07  26| - A9
      PRG A3  - |09  24| - PRG A16 **
                                  A4  - |08  25| - A11
      PRG A2  - |10  23| - PRG A10
                                  A3  - |09  24| - /OE          A16    A16    A16
      PRG A1  - |11  22| - PRG /CE
                                  A2  - |10  23| - A10
      PRG A0 - |12  21| - PRG D7
                                  A1  - |11  22| - /CE
      PRG D0  - |13  20| - PRG D6
                                  A0  - |12  21| - D7
      PRG D1  - |14  19| - PRG D5
                                  D0  - |13  20| - D6
      PRG D2  - |15  18| - PRG D4
                                  D1  - |14  19| - D5
      GND    - |16  17| - PRG D3
                                  D2  - |15  18| - D4
                  -------
                                  GND - |16  17| - D3
</pre>
                                        -------
<pre style="display:inline-block">
 
          Nintendo CHR ROM pinout
PRG and CHR pins are listed only if they differ from EPROM. On PRG, all address lines are from PRG bus. On CHR, all address lines are from CHR bus, unless noted.
 
                  ---_---
**[+5V]CHR A17 - |01  32| - +5V
**(CHR /RD)/OE - |02  31| - /CE (CHR A13) **
      CHR A15 - |03  30| - +5V **
      CHR A12 - |04  29| - CHR A14
      CHR A7  - |05  28| - CHR A13
      CHR A6  - |06  27| - CHR A8  
      CHR A5  - |07  26| - CHR A9
      CHR A4  - |08  25| - CHR A11
      CHR A3  - |09  24| - CHR A16 **
      CHR A2  - |10  23| - CHR A10
      CHR A1  - |11  22| - GND (/OE ?)
      CHR A0  - |12  21| - CHR D7
      CHR D0  - |13  20| - CHR D6
      CHR D1  - |14  19| - CHR D5
      CHR D2  - |15  18| - CHR D4
      GND     - |16  17| - CHR D3
                  -------
</pre>
</pre>
== Variants ==
== Variants ==


Here is a list of multiple variants of Nintendo's pinouts above. Only a couple of enable pins typically differs (which are shown in bold).
Here is a list of multiple variants of Nintendo's pinouts above. Only a couple of enable pins typically differs (which are shown in bold).
=== Nintendo MMC5 PRG/CHR ROM pinouts - 128/256/512/1024 kBytes (32pin) ===
Variant of Nintendo's pinouts just above for MMC5 boards which supports up to 1MB of data. Both PRG and CHR ROMs are the same pinout, and even 128 KB PRG ROMs are 32-pin so they can have a VCC pin.
{|
|
      Nintendo MMC5 PRG ROM pinout
          ----_----
PRG A17 - |01  32| - +5V
PRG A18 - |02  31| - PRG /CE
PRG A15 - |03  30| - '''PRG A19 '''
PRG A12 - |04  29| - PRG A14
  PRG A7 - |05  28| - PRG A13
  PRG A6 - |06  27| - PRG A8
  PRG A5 - |07  26| - PRG A9
  PRG A4 - |08  25| - PRG A11
  PRG A3 - |09  24| - PRG A16
  PRG A2 - |10  23| - PRG A10
  PRG A1 - |11  22| - '''/OE (GND)'''
  PRG A0 - |12  21| - PRG D7
  PRG D0 - |13  20| - PRG D6
  PRG D1 - |14  19| - PRG D5
  PRG D2 - |15  18| - PRG D4
    GND - |16  17| - PRG D3
            -------
|
      Nintendo MMC5 CHR ROM pinout
          ----_----
CHR A17 - |01  32| - +5V
'''CHR A18''' - |02  31| - '''/CE (CHR A13)'''
CHR A15 - |03  30| - '''CHR A19'''
CHR A12 - |04  29| - CHR A14
  CHR A7 - |05  28| - CHR A13
  CHR A6 - |06  27| - CHR A8
  CHR A5 - |07  26| - CHR A9
  CHR A4 - |08  25| - CHR A11
  CHR A3 - |09  24| - CHR A16
  CHR A2 - |10  23| - CHR A10
  CHR A1 - |11  22| - '''/OE (CHR /RD)'''
  CHR A0 - |12  21| - CHR D7
  CHR D0 - |13  20| - CHR D6
  CHR D1 - |14  19| - CHR D5
  CHR D2 - |15  18| - CHR D4
    GND - |16  17| - CHR D3
            -------
|}


=== Nintendo AOROM PRG ROM pinout - 128/256/KBytes (32pin) ===
=== Nintendo AOROM PRG ROM pinout - 128/256/KBytes (32pin) ===

Revision as of 10:37, 8 December 2010

8kB / 16kB / 32kB / 64kBytes (28pin) ROMs

Nintendo used by default JEDEC standard compatible pinout for all their mask ROMs of 64 kByes and below. Names [in brackets] applies when the corresponding address pin is unused. On boards where an adress pin is never used (for example, A15 is never used on NROM boards as the ROM can't be greater than 32k), what is in brackets connects to the unused pin.

For some unknown reasons, unused address lines on smaller ROMs had to be put to +5V, as Nintendo made different boards for each size (as opposed to place EPROMs of different sizes into the same slot). Some boards, such as CNROM, features solder pads in order to force those pins to +5V though. As Nintendo liked to use Mask ROMs from various manufacturers, apparently unused pins could be either not connected or additional active high CE enable lines. This would ensure that if Nintendo would order mask ROMs with additional enable lines that aren't used, they could place them on the board without having the fear of having them disabled accidentally.

This doesn't apply to CHR ROMs - i.e. a smaller ROM can always fit a slot made with a larger ROM in mind. Probably as the game will work if the ROM is "accidentally" disabled before the first write to CHR bankswitching registers.

   27C64/128/256/512 EPROM pinout
 
               ---_---
  [+5V] A15 - |01   28| - +5V
        A12 - |02   27| - A14 [PGM]
        A7  - |03   26| - A13 [NC]
        A6  - |04   25| - A8
        A5  - |05   24| - A9
        A4  - |06   23| - A11
        A3  - |07   22| - /OE
        A2  - |08   21| - A10
        A1  - |09   20| - /CE
        A0  - |10   19| - D7
        D0  - |11   18| - D6
        D1  - |12   17| - D5
        D2  - |13   16| - D4
        GND - |14   15| - D3
               -------

128/256/512 KBytes (28/32pin) ROMs

Nintendo used the standard pinout for (extremely rare) prototype boards intended to take a 27C010/020/040 EPROMs. But retail Game Paks made by Nintendo have mask ROMs with a different pinout which is not JEDEC compatible. This pinout, with reshuffled enable lines and higher address lines, allows a 32-pin hole to take a 28-pin 128 KB PRG ROM in pin 3 to pin 30.

Other licenced or unlicenced companies producing Famicom or NES boards with ROMs of those sizes, used either epoxy blobs or standard EPROM pinout. The only known exception to this is Konami boards for NES games however, uses Nintendo's 'PRG' pinout (for both the PRG and CHR), using an additional 74HC32 to combine CHR /RD and CHR /A13 into a single /CE signal like SL1ROM and TL1ROM. This doesn't apply to Famicom Konami boards, which uses standard pinout.

On Nintendo's boards where PRG A18 is never used, pin 2 is connected with pin 22.

Nintendo's MMC5 boards which supports up to 1MB of data. Both PRG and CHR ROMs are the same pinout, and even 128 KB PRG ROMs are 32-pin so they can have a VCC pin.

        CHR ROM, PRG ROM, and 27C010/020/040/080 EPROM pinouts compared
 
 MMC5    CHR        PRG      EPROM                   EPROM        PRG   CHR   MMC5
                                         ---_---
 A17    A17 [+5V]  A17      [VPP] A19 - |01   32| - +5V
 A18    /CE        A18 [/CE]      A16 - |02   31| - A18 [PGM]    +5V    /CE    /CE
                                  A15 - |03   30| - A17 [NC]     +5V    +5V    A19
                                  A12 - |04   29| - A14
                                  A7  - |05   28| - A13
                                  A6  - |06   27| - A8
                                  A5  - |07   26| - A9
                                  A4  - |08   25| - A11
                                  A3  - |09   24| - /OE          A16    A16    A16
                                  A2  - |10   23| - A10
                                  A1  - |11   22| - /CE
                                  A0  - |12   21| - D7
                                  D0  - |13   20| - D6
                                  D1  - |14   19| - D5
                                  D2  - |15   18| - D4
                                  GND - |16   17| - D3
                                         -------

PRG and CHR pins are listed only if they differ from EPROM. On PRG, all address lines are from PRG bus. On CHR, all address lines are from CHR bus, unless noted.

Variants

Here is a list of multiple variants of Nintendo's pinouts above. Only a couple of enable pins typically differs (which are shown in bold).

Nintendo AOROM PRG ROM pinout - 128/256/KBytes (32pin)

Very slight variant of the standard PRG-ROM pinout above, where an additional active high enable line is used to prevent bus conflicts.

                 ---_---
      PRG A17 - |01   32| - +5V
      PRG /CE - |02   31| - CE (R/W)
      PRG A15 - |03   30| - +5V
      PRG A12 - |04   29| - PRG A14
      PRG A7  - |05   28| - PRG A13
      PRG A6  - |06   27| - PRG A8 
      PRG A5  - |07   26| - PRG A9
      PRG A4  - |08   25| - PRG A11
      PRG A3  - |09   24| - PRG A16
      PRG A2  - |10   23| - PRG A10
      PRG A1  - |11   22| - PRG /CE
      PRG A0  - |12   21| - PRG D7
      PRG D0  - |13   20| - PRG D6
      PRG D1  - |14   19| - PRG D5
      PRG D2  - |15   18| - PRG D4
      GND     - |16   17| - PRG D3
                 -------

Signal descriptions

A0-A12
address
D0-D7
data
/CE, /OE
The ROM will output data at adress A on pins D only if all it's CE and OE pins are active (CE active high, /CE active low).
PGM, VPP
Used only during EPROM programing / erasing process.

See here for other signals descriptions.