This is a slightly modified version of my original color-fix page. I have moved the description of my simple Luma-fix (widely known as the Spiff colorfix) to where this page was before, since it seems this is the information that most people are looking for.

A few things on this page have been updated, now that I have a frame grabber. This makes the comparison more fair than the old pictures taken of the TV screen with a digital camera.

DTV Colorfix

On this page, I will describe the findings of trying to fix the color problems on the PAL-version of the C64 DTV. Actually this bug is also found in the Hummer Racing Game, and so these considerations and fixes applies here as well. The problems are described on Daniel Kahlin's Color Fix page. Basically a design flaw in the resistor network used for the video-DAC in the PAL DTV causes some bad colors.

The problem is particularly evident when looking at combinations of white and cyan, used both in Winter Games and Impossible Mission (both of which are available on the DTV).

Impossible Mission before colorfix

(The old image is here)

As the above image shows, reading cyan text on a white background is nearly impossible (the "white" box says Searching). It is also easy to see that the white is not very bright, which we will confirm in a moment by looking at the scope pictures. Clearly, some fixes to the faulty video-DAC should be able to improve this.

Unmodified

The image below clearly shows the problem. The picture shows what the palette looks like (from Daniel Kahlin's displaytest.prg).

Palette before fixing video-DAC

(The old image is here)

As seen on the image, the intensity (luma) has a very large step in the middle (the highest bit) and also somewhat large steps for the second highest bit. In essence the reason for this problem is the faulty design of the video DAC, where the resistor values in the R2R-network have been swapped, and a resistor to ground is missing.

Looking at the video-signal on a scope also shows the problem very clearly:

Scope image of faulty video DAC

The image shows the first scan-line of the palette (gray). The level on the left side is the gray border on the screen. Then comes the palette, supposed to be a nice stairway signal. The lower bits are almost totally gone, and only the highest two bits are visible, with the highest bit changing the signal by almost half of the entire amplitude. On the right is the black-level (the black background on the screen). As shown by the cursors, the difference between the black-level and white-level is 516mV, slightly less than specified for a PAL-signal.

First (complicated) fix

The first fix attempted was to my own (modified with joystick, keyboard and IEC connectors) DTV. The modifications were based on the authorative fix by Daniel Kahlin and Mr. Latch-up, but keeping the original values of 330Ω and 680Ω. Specifically, for the luma, the resistors R12, R14, R18, R22 and R26 were changed to 680Ω, R16, R20 and R24 were changed to 330Ω and a 680Ω resistor (RX) was added from the point between R14 and R16 to ground.

For the chroma, a similar swap was made, with R15, R19, R23 and R27 changed to 2kΩ, R17, R21 and R25 changed to 1kΩ and a 2kΩ resistor (RY) added from the point between R15 and R17 to ground. Since 2kΩ is not a standard value in E12, I used 22kΩ and 2.2kΩ in parallel, which gives exactly 2kΩ.

All in all, this fix was rather complicated, mainly due to the many SMD resistors that needed to be swapped. They are 0603 footprint, and the only spare parts I had lying arround were 0805, so a steady hand was required.

The results, however, speak for themselves:

Palette after fixing video-DAC

(The old image is here)

Clearly the palette is now much better. Taking a look at the scope picture also shows the much improved result:

Scope image of fixed video DAC

This image clearly shows how the generated video signal is now very close to linear, in terms of the stairway signal (again, this is the first scan-line of the palette). From the left you can see the back porch (black-level), the horizontal sync (at 0V), the front porch including the colorburst, the gray border, the actual palette line (stairway) and finally the black-level background. Notice how the addition of the pull-down resistor (RX) has caused the signal to be attenuated, so the delta between the black and white level is now only 424mV. This also causes the lightest color to not be pure white, but a shade of gray (as seen on the screenshot of the palette).

The easy and better fix

The description of what was previously known as the easy and better fix, but which has now become known as the Spiff lumafix (or Spiff colorfix) has moved.

Last updated: 2007.12.24