Skip to the content
2 layers40.6 × 86.6 mmNES PRG CHR Combo Adapter 1-0, the printed circuit board in 3D

NES PRG CHR Combo Adapter 1-0

MouseBiteLabs/ROM-Adapter-Boards23

A collection of ROM adapter boards for different use cases

Size
40.6 × 86.6 mm
Copper layers
2
Thickness
1.6 mm
Parts
20
Nets
48
Pads
109
Tracks, vias
542, 140
Pours
4
Routed
Yes
KiCad
KiCad 9.0 (file 20241229)
Created
24 Apr 2025
Updated
9 Jun 2026

Overview

NES PRG CHR Combo Adapter 1-0 is an open-source printed circuit board by MouseBiteLabs, from the MouseBiteLabs/ROM-Adapter-Boards repository on GitHub, published under the CC-BY-SA-4.0 licence. It is a 2-layer board of 40.6 × 86.6 mm with 20 parts on 48 nets, routed with 542 tracks and 140 vias.

Its parts include 8 resistors, 2 ICs and 1 capacitor. It belongs with the interfaces and adapters and retro computing and games boards of this library.

README

29F160 to UV EPROM/README.md

29F160 to UV ERPOM Adapter

This board is used to recreate the old UV EPROMs 27C160 and 27C322 with brand new 29F160 EEPROMs. The UV EPROMs are typically only available to purchase used from places like AliExpress and eBay, and are known to occasionally arrive damaged or completely inoperable. The 29F160, however, is brand new NOR Flash manufactured by Alliance, for purchase at major electronics distributors.

Here is a link to the component on Mouser.

With one of these chips, you can make a replacement for the 27C160. With two, you can make a replacement for the 27C322. In fact, with the 29F160's /BYTE pin, you can even make an 8-bit bus version of the 27C322 which was only ever a feature of the 27C160.

(In this image, the board is set up as a drop-in replacement for the 27C322)

image

image

All gerbers and source files can be found in this repo, as this project is fully open source. Please read all instructions associated with this board before assembling.

Board Characteristics and Order Information

The zipped folder contains all the gerber files for this board. You can generally choose whatever thickness you want, but I usually stick to at least 1.0mm. The surface finish can also be whatever you want, but I find ENIG easier to solder the small-pitch parts, personally. Also note that this is a four-layer board.

You can order this board on OSH Park, which is a great option if you only need a small quantity: https://oshpark.com/shared_projects/efulo1p1

Alternatively, you can use the zipped folder at any board fabricator you like. You may also buy the board from PCBWay using this link (NOT YET AVAILABLE) (disclosure: I receive 10% of the sale value to go towards future PCB orders of my own):

PCB from PCBWay

Required Equipment

  • You will need basic tools, like a soldering iron, hot plate, and/or hot air rework station. Drag soldering will be indispensible for this board.
  • To program the 29F160 chips, you can use the T48 programmer with the TSOP48 adapter.

Programming Adapter

To make programming this board easier, I made this mouthful of an adapter board: the TSOP NOR Flash Programming Adapter for T48. It is untested (I haven't received them yet) but if it works, it will let you program both of the 29F160 chips on this breakout board without having to desolder them. You will still need the TSOP48 adapter because there's a proprietary EEPROM chip on there to communicate with the main programmer, but this makes it easier nonetheless.

Remember: this adapter is untested. I will update this repository after testing it.

510523127-d1044af2-7147-4e0c-a4b0-313e5c86717a

Board Configurations

Most of the configurations are self-explanatory or are described on the back of the board, but here's a breakdown.

JP1 - 27C160 Mode Jumper

Bridge this solder pad if you are only using one 29F160 chip to replicate a 27C160. Note that this pad is located underneath U4 - meaning you should not solder JP1 if you have U4 on the board. U4 is required if you are using two 29F160 chips.

R2 - The Byte Mode Resistor

This is a special three-way set of pads that sets the mode for the databus output. These sets of pads configures the 29F160's /BYTE pin, which tells the chip to output data in an 8-bit bus or a 16-bit bus. The 27C160 had the same pin feature (as pin 32) but the 27C322 was forced to output a 16-bit bus. The /BYTE pin(s) on U2 and U3 are connected to the middle-right pad. Solder a resistor between the top or bottom set of pads, or directly connect this pad to the left (labeled "P32") according to the following criteria:

  • Solder the resistor R2 to the bottom footprint to force the data output to be a 16-bit bus. This is how the 27C322 operates natively, and one of the modes the 27C160 can operate in. If you are using two 29F160 chips, then soldering to the bottom pad will produce a drop-in replacement for the 27C322.
  • Solder the resistor R2 to the top footprint to force the data output to be an 8-bit bus. The 27C160 can output an 8-bit bus, but the 27C322 was never able to!
  • Directly solder to the left (or use a zero-ohm resistor) to replicate the 27C160 as a drop-in replacement. This is ONLY if you are replicating the 27C160, NOT the 27C322. Soldering to the left will connect the 29F160's /BYTE pin to the through-hole pin 32, which is where the 27C160's /BYTE pin is located. Do not solder to the left if you are using two 29F160 chips! Pin 32 in this case is the top address pin for switching between the two chips, so it is already in use!

image

NOTE: Instead of a solder blob for P32 connection, a zero-ohm resistor may be used instead. Do not use any resistance value other than zero ohms for R2 if connecting to P32.

The /WE, /RP, and /BYTE Holes

R1 and R3 are pull-up resistors for /WE and /RP pins on the 29F160s. When in normal operation, these two pins need to be pulled to VCC to operate properly. The /BYTE pin, as described in the section above, needs to be pulled to VCC or GND through R2 (or controlled through pin 32 elsewhere on the main board this is connecting to). The /BYTE pin is connected to the hole on the right side, also labeled /BYTE.

These holes are for easy access for potential on-board programming (these are used by the aformentioned 29F160 to UV EPROM Programmming Adapter for the T48). If you are using this adapter board on one of my cartridges, there may be support for in-circuit programming through these pins. See the repository for the cartridge in question for more information.

Bill of Materials (BOM): 27C160 (16 Mbit or 2 MB)

ReferenceValue/Part NumberPackageDescriptionSource
C10.1uF0603Capacitor (MLCC)https://mou.sr/3ENc15O
R1100k0603Resistorhttps://mou.sr/49bgMnu
R2 (*NOTE)100k0603Resistorhttps://mou.sr/49bgMnu
R2 (*NOTE)Zero ohms0603Resistor (Jumper)https://mou.sr/4e1ABQg
R3100k0603Resistorhttps://mou.sr/49bgMnu
U2M29F160TSOP-48Flash EEPROMhttps://mou.sr/3HIjb09

NOTE: As described above, R2 is zero ohms (or a short circuit) to the P32 pad if you are using this board as a drop-in replacement for 27C160.

Bill of Materials (BOM): 27C322 (32 Mbit or 4 MB)

ReferenceValue/Part NumberPackageDescriptionSource
C10.1uF0603Capacitor (MLCC)https://mou.sr/3ENc15O
C20.1uF0603Capacitor (MLCC)https://mou.sr/3ENc15O
R1100k0603Resistorhttps://mou.sr/49bgMnu
R2100k0603Resistorhttps://mou.sr/49bgMnu
R3100k0603Resistorhttps://mou.sr/49bgMnu
U2M29F160TSOP-48Flash EEPROMhttps://mou.sr/3HIjb09
U3M29F160TSOP-48Flash EEPROMhttps://mou.sr/3HIjb09
U474HCT139TSSOP-16Decoderhttps://mou.sr/4eqzppn

Revision History

v2.0 - Release II

  • Added /WE, /RP, and /BYTE holes for a stronger connection for external programming.
  • Added R1, R2, and R3 pull-up resistors to remove the need for soldering/desoldering solder jumpers for switching between programming and operational modes.

v1.2 - Release I

  • Added /WE pad (JP3) for experimental on-board programming. Bridging JP3 tied the /WE pin to VCC for normal operation.

v1.1 - Alpha

v1.0 - Prototype

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. You are able to copy and redistribute the material in any medium or format, as well as remix, transform, or build upon the material for any purpose (even commercial) - but you must give appropriate credit, provide a link to the license, and indicate if any changes were made.

©MouseBiteLabs 2025

Parts

20
QtyValueFootprintReferences
8RBucketmouse:R_0603_1608Metric_Boxed_SHORTED_DASHEDR1, R2, R3, R4, R5, R6, R7, R8
7Jumper_3_OpenBucketmouse:SJ_2SJ1, SJ2, SJ3, SJ5, SJ6, SJ8, SJ9
239SF040Bucketmouse:DIP-32_W15.24mmU1, U3
2Jumper_2_OpenBucketmouse:SJSJ4, SJ7
10.1uFBucketmouse:THT_SMT_0803C1

More from MouseBiteLabs/ROM-Adapter-Boards

5
  • 4 layers54.4 × 17.8 mm29F160 to 27C322 2-0, the printed circuit board in 3D

    29F160 to 27C322 2-0

    MouseBiteLabs/ROM-Adapter-Boards

    A collection of ROM adapter boards for different use cases

    17 parts23CC-BY-SA-4.0
  • 2 layers89.9 × 64.2 mmSNES 27C322 Extender 1-0, the printed circuit board in 3D

    SNES 27C322 Extender 1-0

    MouseBiteLabs/ROM-Adapter-Boards

    A collection of ROM adapter boards for different use cases

    9 parts23CC-BY-SA-4.0
  • 2 layers51.4 × 20 mmSNES to TSOP 1-4, the printed circuit board in 3D

    SNES to TSOP 1-4

    MouseBiteLabs/ROM-Adapter-Boards

    A collection of ROM adapter boards for different use cases

    9 parts23CC-BY-SA-4.0
  • 2 layers58.8 × 61.3 mmSNES 27C160 Extender 1-0, the printed circuit board in 3D

    SNES 27C160 Extender 1-0

    MouseBiteLabs/ROM-Adapter-Boards

    A collection of ROM adapter boards for different use cases

    4 parts23CC-BY-SA-4.0
  • 2 layers53.3 × 20.3 mmSNES 27C160 Slim 1-0, the printed circuit board in 3D

    SNES 27C160 Slim 1-0

    MouseBiteLabs/ROM-Adapter-Boards

    A collection of ROM adapter boards for different use cases

    2 parts23CC-BY-SA-4.0

Similar boards

  • 2 layers66.9 × 74.5 mmDeskHop Rev1, the printed circuit board in 3D

    DeskHop Rev1

    hrvach/deskhop

    Fast Desktop Switching Device

    20 parts7.9kGPL-3.0
  • 2 layers86.4 × 64.8 mmSlot machine, the printed circuit board in 3D

    Slot machine

    google/google-ctf

    Google CTF

    20 parts5.1kApache-2.0
  • 2 layers36.2 × 26.8 mmEsp32 minimal, the printed circuit board in 3D

    Esp32 minimal

    atopile/atopile

    Design circuit boards with code! ✨ Get software-like design reuse 🚀, validation, version control and collaboration in hardware; starting with electronics ⚡️

    20 parts4kMIT
  • 2 layers108.1 × 393.8 mmSweep compact ble, the printed circuit board in 3D

    Sweep compact ble

    davidphilipbarr/Sweep

    Sweep - a small promicro based keyboard inspired by the Ferris.

    20 parts2.1k
  • 2 layers26 × 15.9 mmTPS54340 Buck Regulator, the printed circuit board in 3D

    TPS54340 Buck Regulator

    rusefi/rusefi

    rusefi - GPL internal combustion engine control unit

    20 parts1.2k
  • 2 layers67.6 × 30.5 mmRgb to hdmi, the printed circuit board in 3D

    Rgb to hdmi

    hoglet67/RGBtoHDMI

    Bare-metal Raspberry Pi project that provides pixel-perfect sampling of Retro Computer RGB/YUV video and conversion to HDMI

    20 parts1kGPL-3.0
  • 2 layers44.3 × 28.7 mmLin bus adapter esp32, the printed circuit board in 3D

    Lin bus adapter esp32

    hackclub/OnBoard

    💡 Join 1,000 teenagers and make your first PCB with a $100 grant!

    20 parts915
  • 2 layers89.5 × 61.6 mmFreeDeck TH 2020-02, the printed circuit board in 3D

    FreeDeck TH 2020-02

    FreeYourStream/freedeck-hardware

    all the stuff you need to build your own FreeDeck

    20 parts772

Questions

How big is the NES PRG CHR Combo Adapter 1-0 PCB?

It measures 40.6 × 86.6 mm and has 2 copper layers, 1.6 mm thick.

What parts does the NES PRG CHR Combo Adapter 1-0 use?

20 parts. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.

Where can I download the NES PRG CHR Combo Adapter 1-0 KiCad files?

From the MouseBiteLabs/ROM-Adapter-Boards repository on GitHub, at the commit this page was made from: the board is NES ROM Adapter/NES_PRG_CHR_Combo_Adapter_1-0.kicad_pcb and its schematic 29F160 to UV EPROM/29F160_to_27C322_2-0.kicad_sch. PCBKit opens the board in the browser, with nothing to install.

Can I use the NES PRG CHR Combo Adapter 1-0 design in my own project?

Its repository publishes it under the CC-BY-SA-4.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).