The original Nintendo Entertainment System (NES) was never intended to be used with high-quality CRT televisions or modern upscaling technology. As a result, it only had RF, composite video, and mono sound outputs. These technologies were designed for quick and easy connectivity, not optimal visuals.
The NESRGB mod, developed by Tim Worthington, is an FPGA chip that enables the extraction of beautiful analog RGB signals from the NES Picture Processing Unit (PPU).
In this article, I will review and give my insight into the installation and use of the NESRGB.
Jumpers
Overview of all jumpes on the NESRGB
On the NESRGB board, there are eleven (11) jumpers that can be shorted to activate various functionalities on the FPGA board. Below is a complete list of all the jumpers, and what functionality they control.
- J1 - Palette switching with gamepad.
- Open = Disabled. You will need to use mechanical switches.
- Closed = Enabled.
- J2 - Palette switch bank selection
- Open = Palette 1,2,3
- Closed = Palett 4,5,6
- J3 - Power from NES
- Open = External PSU
- Close = NES PSU
- J4 - Video encoding
- Open = NTSC
- Closed = PAL
- J5 - Luna trap prequenzy
- Open = PAL
- Closed = NTSC
- J6 - Reset switch polarity
- Open = Negative / Famicom, NES top loader,
- Closed = Positive / NES front loader.
- J7 - PPU type
- Open = NTSC
- Closed = PAL
- J8 - Composite sync
- Open = TTL
- Closed = CSYNC (75 ohm - recommended to prevent damage to video receiver!)
- J9 - Low-pass filter on RGB output.
- Open - Off (sharper image)
- Closed - On (softer image - less EMC)
- J10 - Dejitter circuit
- Open - Disabled / Standard timing
- Closed - Enabled (only affects NTSC)
- J11 - Status LEDs activation
- Open - Status LEDs show current status
- Closed = Status LEDs are turned off
PAL config
What jumpers to close on PAL systems
For NES in the PAL region, close the following jumpers if you have the classic gray front loader system.
- J1 - Palette switching with gamepad (Enabled)
- J3 - Power from NES (Enabled) - Only if you have replaced the PSU
- J4 - Video encoding (PAL)
- J6 - Reset switch polarity (Positive / NES front loader).
- J7 - PPU type (PAL)
- J8 - Composite sync (CSYNC)
NTSC config
What jumpers to close on NTSC systems
For NES in the NTSC regions, close the following jumpers if you have the classic gray front loader system.
- J1 - Palette switching with gamepad (Enabled)
- J3 - Power from NES (Enabled) - Only if you have replaced the PSU
- J5 - Luna trap prequenzy (NTSC)
- J6 - Reset switch polarity (Positive / NES front loader).
- J8 - Composite sync (CSYNC)
- J10 - Dejitter circuit (Enabled)
Controller commands
Making it possible to have full controll without addotional switches.
From NESRGB v4.0 and newer, it's possible to use controller inputs to control the NESRGB. This introduces a few quality-of-life improvements, and makes the installation look a lot prettier.
The NESRGB controller inputs will not conflict with EverDrive N8 Pro commands.
To enable the controller commands, you first need to close jumper J1. Then, connect three wires from the NESRGB to the player one controller port of the NES.
- NESRGB 1D (Data) ----> Controller pin 3
- NESRGB 2C (Clock) ---> Controller pin 1
- NESRGB 3L (Latch) ---> Controller pin 2
To enable in-game reset, you must select the correct reset switch polarity by having jumper J6 open (Famicom / NES top loader) or closed (NES front loader). Then, you have to connect a wire from the NESRGB to the reset pin on the NES.
- NESRGB 0R (Reset) ---> Reset pin
When jumper J1 (Palette switching with gamepad) and J6 (Reset switch polarity) are set correctly and all the wires are connected, you can use button combinations on the player one gamepad to control the NESRGB.
The following commands are available:
- Start+Select+Left = Next palette.
- Start+Select+Right = Previous palette.
- Start+Select+Left (hold for 2 seconds) = Disable/Enable NESRGB board.
- Start+Select+Right (hold for 2 seconds) = Set to palette 1.
- Start+Select+A+B = In-game reset.
Power Module swap
Replacing the old powersupply
The Nintendo (NES) motherboard has a relatively large Power Module with an integrated IO unit.
The Power Module works perfectly fine, but since the NESRGB requires additional power, you either have to install a separate power regulator for the NESRGB inside the case to provide power to the NESRGB, or you can replace the PSU/IO unit with a new one that also gets rid of the unused RF module, and replaces it with an RGB supported connector.
Another factor that makes this mod attractive, is the fact that old capacitors tend to start leaking. The fluid that leaks from capacitors is very corrosive to copper, and will damage the traces and components on the circuit boards they leak onto. The original power module has a giant capacitor that may or may not last a long time before eventually starting to leak.
By replacing the Power Module, you can solve several problems at once, allowing for a very clean NESRGB installation. After the Power Module is replaced, you can short jumper J3 to power the NESRGB from the new Power Module.