Atari 7800 Color Documentation
Technical Overview
The the color system in the 7800 is designed to efficiently generate color signals that are PAL or NTSC ready, with very little silicon and support circuitry. To better understand 7800 colors, it helps to have an understanding of NTSC and PAL color encoding.
Both NTSC and PAL TV standards have a short colorburst signal near the beginning of each scanline. The colorburst serves 2 purposes. Its presence signals to the TV that the scanline will contain color information, but it also serves as a phase reference. If the same frequency is later detected by the TV during the display of a pixel, the TV will determine the frequency's phase relative to the original colorburst, and use the result as an index to a hue in the YIQ colorspace(NTSC) or YUV colorspace(PAL).
To drive this system, 7800 color registers are split into 2 nibbles. The top nibble determine the amount of phase-shift, and the bottom nibble determines the luminance or brightness of the pixel. Its also worth noting here that the 7800 color system uses a uniform level of saturation for all of its colors.
Consistency Issues
As the 7800 warms up, the distance between the various hues in the palette stretches out.
The NTSC and PAL standards aren't known for their consistency from TV to TV, and that tends to be exasperated by TV display preference settings and different TV display technologies.