Difference between revisions of "Atari 7800 Color Documentation"

From 8BitDev.org - Atari 7800 Development Wiki
Jump to: navigation, search
Line 5: Line 5:
  
 
==Technical Overview of Color Generation==
 
==Technical Overview of Color Generation==
[[File:YIQ-warm-ideal.png|thumb|Atari 7800 "ideal" hue values, overlaid on Y=0.5 IQ colorspace.]]
+
[[File:YIQ-7800-warmup.gif|thumb|Atari 7800 hue values shifting as the console warms up, overlaid on Y=0.5 IQ colorspace.]]
 
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.
 
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.
  
Line 15: Line 15:
  
 
==Consistency Issues==
 
==Consistency Issues==
[[File:YIQ-7800-warmup.gif|thumb|Atari 7800 hue values shifting as the console warms up, overlaid on Y=0.5 IQ colorspace.]]
 
 
There are a number of factors that result in inconsistency between the palettes of 7800 consoles:
 
There are a number of factors that result in inconsistency between the palettes of 7800 consoles:
  

Revision as of 06:34, 20 November 2015

NTSC and PAL Palettes

The 7800 uses very similar palettes for NTSC and PAL consoles, with some minor differences with the color quality at any one register. With some careful selection of color indexes, most 7800 games should be able to use a common palette between the 2 platforms.


Technical Overview of Color Generation

Atari 7800 hue values shifting as the console warms up, overlaid on Y=0.5 IQ colorspace.

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 (or hue value), and the bottom nibble determines the voltage level (or luminance) of the pixel.

The 7800 color system uses a uniform level of saturation for all of its color values, except for color values from $00 to $0F, which are displayed without any saturation. This allows for the display of black, shades of grey, and white.

Consistency Issues

There are a number of factors that result in inconsistency between the palettes of 7800 consoles:

  • Each 7800 console has a tunable inductor inside, which is used to modify the colorburst frequency. On any given console this inductor may be adjusted a number of different ways, with at least 2 historic standards in play - one with hues ~25.7 degrees apart, and another with hues ~26.7 degrees apart.
  • As a 7800 console warms up, so do the components that produce the colorburst frequency, and the distance between the various hues in the palette stretch out. When cold, the console's hue values have ~24.7 degrees of separation, and as the console warms up, up to ~27.7 degrees of separation can be seen between the hues. This effect is more pronounced with higher hue values; the $Ex hue can shift from being green to yellow, and $Fx will shift from being yellow to
  • The NTSC and PAL standards don't consistently display the same colors from TV to TV, and almost all TVs allow the viewer to tune colors to their liking.