For a long time I was completely unaware of this: the composite video output that comes out of the NES is pretty terrible.
When I got my first HDTV in 2007 and tried my Nintendo with it, I was able to see the problem clearly: straight edges were jagged, shapes staggered oddly as they moved across the screen, and other strange artifacts were appearing as well, like “checkerboard” echoes of on-screen shapes elsewhere in the frame. Initially I thought my NES was in need of repair, but all these things are pretty much normal for the system. It’s all part of how the system renders video. It all looks fine on an old, low resolution TV, but it starts to look pretty terrible when you hook up to higher-quality displays.
My first thought was to look for instructions on how to modify the system for S-video. (In S-video, brightness and color information for the image are carried on different wires, which reduces some of the problems associated with composite video, in which all this information is encoded on a single wire) Unfortunately that turned out to be rather difficult: no matter how deep you dig into the internals of a NES, composite video is all you’ll find. People got around this by using parts from the Playchoice 10, the arcade version of the NES hardware, but there are two big problems with this: First, people have been doing this modification for years, and it’s been gradually depleting the supply of Playchoice systems available for purchase. Second, while the Playchoice played the same software as the NES, the graphics chip didn’t behave quite the same in all cases. The colors were different and some features of the chip didn’t work the same as on the NES. Most NES software looks a bit weird on a Playchoice graphics chip, and some just looks completely wrong. Despite all these drawbacks, for a while I had hoped to someday perform the modification on one of my systems.
Fortunately, fans of the system have been working on new ways to improve its output. One of the more exciting recent developments is a product called NESRGB. It works together with the system’s original graphics chip to produce a much clearer version of the same image – compared to using Playchoice parts to upgrade a NES, it’s more affordable, more compatible, and its output looks better.
The board was unfortunately out of stock for a while, so I had to be patient. Toward the end of May I finally was able to get my hands on it and immediately started modifying my NES to use the board. The first step, removing the NES’s graphics chip, is by far the hardest part, at least if you don’t have specialized equipment to do it. It must be done carefully and gently, or the system could be badly damaged in the process. Once that’s done, the rest of the project is pretty simple – add a few connectors to the back of the machine and wire them up, and do a little basic soldering to get everything in place.
The kit included video connectors designed for installation on the back panel of the machine: a 4-pin mini-DIN for S-Video, and an 8-pin mini-DIN for RGB. Although I don’t (yet) have a use for the RGB connection, I installed both ports as well as an optional feature, the “palette switch”. NESRGB can render colors in three different style: one meant to simulate the colors from an unmodified console, one meant to simulate the brighter look often seen on NES emulators, and one meant to simulate the look of Playchoice-10 hardware. Additionally, the NESRGB can be turned off to allow the original graphics chip to produce the picture. The kit includes a 3-position toggle switch for palette selection, but I wanted something a little sleeker. I installed a small tactile pushbutton on the side of the case, next to the A/V jacks, and I used this together with an Arduino to switch between the different palettes and modes.
As long as I had the machine open, I decided to do another modification: In the Japanese version of the NES, the “Famicom”, there’s a cartridge pin through which cartridges can produce their own sound effects or music. The NES doesn’t have this. So I added a resistor so I can hear these additional sounds when playing certain Japanese games on my NES.
After a few days of working on the project, tending to detail after detail of the video connections and the palette switch, I was finally ready to seal it all up. There have been a few small issues with the video output, but the result is far, far better than what’s obtained from an unmodified console.
There are some trade-offs, of course: basically, since the NES had lousy video output, many games were designed for lousy video output, with the assumption that you wouldn’t be able to see individual pixels, that they’d blend together. For instance, the sidewalk in the first stage of “Ninja Gaiden” is a big checkerboard, but on the original hardware it all smooths out to a medium gray.
Below are more comparison shots of the NES with and without the mod.