List of 8-bit computer hardware palettes

From Wikipedia, the free encyclopedia
Jump to: navigation, search

This is a list of notable 8-bit color palettes, which were primarily manufactured from 1975 to 1985. Although some of them use RGB palettes, more commonly they have 4, 16 or more color palettes that are not bit nor level combinations of RGB primaries, but fixed ROM/circuitry colors selected by the manufacturer. Due to mixed-bit architectures, the n-bit distinction is not always a strict categorization.

Sample image Color test chart 3-bit, 8-color palette 6-bit, 64-color palette
RGB 24bits palette sample image.jpg RGB 24bits palette color test chart.png 3-bit RGB Cube.gif 6-bit RGB Cube.gif

World System Teletext[edit]

Level 1[edit]

World System Teletext Level 1 (1976) uses a 3-bit RGB, 8-color palette. Teletext has 40×25 characters per page of which the first row is reserved for a page header. Every character cell has a background color and a text color. These attributes along with others are set through control codes which each occupy one character position. Graphics characters consisting of 2×3 cells can used following a graphics color attribute. Up to a maximum of 72×69 blocky pixels can be used on a page.

Level 1 teletext test.png Teletext palette color test chart.png


Apple II series[edit]

The Apple II series features a 16-color composite video palette, based on the YIQ color space used by the NTSC color TV system.[1][2]

AppleII palette sample image.png AppleII palette color test chart.png height=200px

The Apple II featured "lowres" and "hires" modes. The 40x48 pixel lowres mode allowed 15 different colors plus a duplicate gray.[3] The majority of Apple graphic applications used the Hires mode, which had 280×192 pixels (effectively 140x192 on a color monitor). The Hires mode allowed six colors: black, white, blue, orange, green, and purple

Number — name Y Pb (rel.) Pr (rel.) Number — name Y Pb (rel.) Pr (rel.)
0 — black 0 0 0 8 — brown 0.25 −0.5 0
1 — magenta 0.25 0 0.5 9 — orange 0.5 −1 1
2 — dark blue 0.25 0.5 0 10 — grey #2 0.5 0 0
3 — purple 0.5 1 1 11 — pink 0.75 0 0.5
4 — dark green 0.25 0 −0.5 12 — green 0.5 −1 −1
5 — grey #1 0.5 0 0 13 — yellow 0.75 −0.5 0
6 — medium blue 0.5 1 −1 14 — aqua 0.75 0 −0.5
7 — light blue 0.75 0.5 0 15 — white 1 0 0

Atari 400/800/XL/XE[edit]

The early Atari 400 and 800 computers use a palette of 128 colours (a bit similar to the one used on the Atari 2600 console, and the Commodore 16 and Plus 4), using 4 bits for chrominance, and 3 for luminance. Screen modes may vary from 320×192 (384x240 with overscan) to 40×24, using 2 or 4 simultaneous colours, or 80×192 (96x240 with overscan) using 16 colours. After 2 years (late 1981) the CTIA graphics chip was replaced with the GTIA chip thus increasing the palette to 256 colours (CTIA and GTIA).

The ANTIC chip in the Atari 8-bit family computers (400, 800, XL and XE models) has an instruction set to run programs (called display list) which permits many more colours on the screen at once. There are a number of possible software-driven graphics modes. An example is the game Alternate Reality:The City (link to image).

Atari800Mode10 palette sample image.png Atari800CTIA palette color test chart.png

Mattel Aquarius[edit]

The Mattel Aquarius computer has only a text mode with 40×24 characters, which graphic mode is obtained from low resolution blocks, providing an 80×72 resolution. The colour attribute area is also on this 40×24 characters area, and used from a pixel group of 2×3. The colours used in the palette are fixed and 16.[4]

Mattel Aquarius palette sample image.png Mattel Aquarius palette color test chart.png


For all the following computers of this brand, the Pb and Pr coordinates for the YPbPr composite video colors are always the cosine and the sine, respectively, of angles multiple of 22.5 degrees (i.e. a quarter of 90°), as the engineerers were inspired by the NTSC color wheel, a radial way to figure out the Pb and Pr coordinates of points equidistant from the center of the chroma plane, the gray. You can find the formula needed to convert YPbPr to RGB at Consumers in Europe (which uses PAL) considered the Commodore colours to be more "washed out" and less vivid than those provided by computers such as the Spectrum.[5]


The Commodore VIC-20 features a MOS Technology VIC chip which produces a 16-color YPbPr composite video palette.[6] The palette lacks any intermediate shade of gray, and it has only 5 levels of luminance.

The VIC-20 lacks any true graphic mode, but a 22×11 text mode with 200 definable characters of 8×16 bits each arranged as a matrix of 20×10 characters is usually used instead, giving a 3:2(NTSC)/5:3(PAL) pixel aspect ratio, 160×160 pixels, 8-color "high-res mode" or a 3:1(NTSC)/10:3(PAL) pixel aspect ratio, 80×160 pixels, 10-color "multicolor mode".

Sample image
CommodoreVIC20 palette sample image.png CommodoreVIC20 palette color test chart.png CommodoreVIC20 palette.png

In the 8-color high-res mode, every 8×8 pixels can have the background color (shared for the entire screen) or a free foreground color, both selectable among the first eight colors of the palette. In the 10-color multicolor mode, a single pixel of every 4×8 block (a character cell) may have any of four colors: the background color, the auxiliary color (both shared for the entire screen and selectable among the entire palette), the same color as the overscan border (also a shared color) or a free foreground color, both selectable among the first eight colors of the palette.

Multicolor mode High-res mode
Screen color test CommodoreVIC20 Multicolor.png Screen color test CommodoreVIC20 HighRes.png
Number — name Y Pb (rel.) Pr (rel.) Number — name Y Pb (rel.) Pr (rel.)
0 — black 0 0 0 8 — orange 0.5 −0.707 0.707
1 — white 1 0 0 9 — light orange 0.75 −0.707 0.707
2 — red 0.25 −0.383 0.924 10 — light red 0.5 −0.383 0.924
3 — cyan 0.75 0.383 −0.924 11 — light cyan* 1 0.383 −0.924
4 — purple 0.5 0.707 0.707 12 — light purple 0.75 0.707 0.707
5 — green 0.5 −0.707 −0.707 13 — light green 0.75 −0.707 −0.707
6 — blue 0.25 1 0 14 — light blue 0.5 1 0
7 — yellow 0.75 −1 0 15 — light yellow* 1 −1 0

Note: the colors marked with an asterisk (*) are out of the RGB gamut.


What the palette looks like using the Color NTSC Sony CXA2025 decoder matrix.[7]

The MOS Technology VIC-II is used in the Commodore 64 (and Commodore 128 in 40-column mode), and features a 16-color YPbPr composite video palette.[8] This palette is largely based on that of the VIC, but it substitutes three colors by three levels of gray, and there are more values for the luminance.

Sample image
Commodore64 palette sample image.png Commodore64 palette color test chart.png Commodore64 palette.png

The Commodore 64 has two graphic modes: Multicolor and High Resolution.

In the Multicolor 160×200, 16-color mode, every cell of 4×8, 2:1 aspect ratio pixels can have one of four colors: one shared with the entire screen, the two background and foreground colors of the corresponding text mode character, and one more color also stored in the color RAM area, all of them freely selectable among the entire palette.

In the High Resolution 320×200, 16-color mode, every cell of 8×8 pixels can have one of the two background and foreground colors of the correspondent text mode character, both freely selectable among the entire palette.

16-color multicolor mode 16-color High-res mode
Screen color test Commodore64 Multicolor.png Screen color test Commodore64 HighRes.png
Number — name Y Pb (rel.) Pr (rel.) Number — name Y Pb (rel.) Pr (rel.)
0 — black 0 0 0 8 — orange 0.375 −0.707 0.707
1 — white 1 0 0 9 — brown 0.25 −0.924 0.383
2 — red 0.313 −0.383 0.924 10 — light red 0.5 −0.383 0.924
3 — cyan 0.625 0.383 −0.924 11 — dark grey 0.313 0 0
4 — purple 0.375 0.707 0.707 12 — grey 0.469 0 0
5 — green 0.5 −0.707 −0.707 13 — light green 0.75 −0.707 −0.707
6 — blue 0.25 1 0 14 — light blue 0.469 1 0
7 — yellow 0.75 −1 0 15 — light grey 0.625 0 0

C-16 and Plus/4[edit]

The MOS Technology TED was used in the Commodore 16 and Commodore Plus/4. It has a palette of 121 YPbPr composite video colors[9] consisting of sixteen hues (including black and white) at eight luminance levels. Black is the same color at every luminance level, so there are not 128 different colors. On the Plus/4, twelve colors formed a "default" palette of sorts accessible through keyboard shortcuts;[10] these colors are underlined in the table below (RGB equivalents at a saturation level of 34%).

CommodorePlus4 palette sample image.png CommodorePlus4 palette color test chart.png CommodorePlus4 palette.png

The Commodore 16 and Plus/4 have two graphic modes very similar to those of the Commodore 64: Multicolor and High Resolution.

In the Multicolor 160×200, 121-color mode, every cell of 4×8, 2:1 aspect ratio pixels can have one of four colors: two shared with the entire screen and the two background and foreground colors of the correspondent text mode character, all of them freely selectable among the entire 121-color palette (hue 0 to 15 and luminance 0 to 7 are set individually for any of them).

In the High Resolution 320×200, 121-color mode, every cell of 8×8 pixels can have one of the two background and foreground colors of the corresponding text mode character, both freely selectable among the entire 121-color palette (again setting both the hue and the luminance).

121-color Multicolor mode 121-color High-res mode
Screen color test CommodorePlus4 Multicolor.png Screen color test CommodorePlus4 HighRes.png
luma # 0 1 2 3 4 5 6 7
Y 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1
hue # Pb (rel.) Pr (rel.) . . . . . . . .
0 — black 0 0 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7
1 — white 0 0 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7
2 — red −0.383 0.924 2,0 2,1 2,2 2,3 2,4 2,5 2,6* 2,7*
3 — cyan 0.383 −0.924 3,0* 3,1 3,2 3,3 3,4 3,5 3,6 3,7*
4 — purple 0.707 0.707 4,0* 4,1 4,2 4,3 4,4 4,5 4,6* 4,7*
5 — green −0.707 −0.707 5,0* 5,1 5,2 5,3 5,4 5,5 5,6* 5,7*
6 — blue 1 0 6,0 6,1 6,2 6,3 6,4 6,5* 6,6* 6,7*
7 — yellow −1 0 7,0* 7,1* 7,2 7,3 7,4 7,5 7,6 7,7*
8 — orange −0.707 0.707 8,0* 8,1 8,2 8,3 8,4 8,5 8,6* 8,7*
9 — brown −0.924 0.383 9,0* 9,1* 9,2 9,3 9,4 9,5 9,6 9,7*
10 — yellow-green −0.924 −0.383 10,0* 10,1* 10,2 10,3 10,4 10,5 10,6 10,7*
11 — pink 0 1 11,0 11,1 11,2 11,3 11,4 11,5 11,6* 11,7*
12 — blue-green 0 −1 12,0* 12,1 12,2 12,3 12,4 12,5 12,6 12,7*
13 — light blue 0.707 −0.707 13,0* 13,1 13,2 13,3 13,4 13,5 13,6* 13,7*
14 — dark blue 0.924 0.383 14,0 14,1 14,2 14,3 14,4 14,5* 14,6* 14,7*
15 — light green −0.383 −0.924 15,0* 15,1 15,2 15,3 15,4 15,5 15,6* 15,7*

Note: every YPbPr color marked with an asterisk (*) is out of the RGB gamut. This was intentionally done by the designers to achieve the maximum number of colors for composite video monitors.


Tandy Color Computer 3[edit]

The Tandy Color Computer 3 could display all of the modes of the Tandy Color Computer 1 and 2, except the Semigraphics modes, plus resolutions of 160, 256, 320, or 640 pixels wide by 192 to 225 lines from a palette of 64 colors. The 320 mode allowed 16 simultaneous colors, while the 640 mode allowed 4.

TandyCoCo3 Mode320x192x16 palette sample image.jpg TandyCoCo3 Mode320x192x16 palette color test chart.png


For Thomson computers, a popular brand in France, the most common display modes are 320×200, with 8×1 attribute cells with 2 colours. The Thomson TO7 can only display the 8 "saturated" colors. The TO7/70 and MO5 have the 16 color palette shown below as a fixed palette (just like on C64 or MSX1). On later models, these 16 colours can be chosen from 4096 and other video modes are available, removing the block constraints but reducing either the color count or the horizontal resolution.

Screen color test Thomson MO5.png

BBC Micro[edit]

BBC Micro has 8 display modes, with resolutions like 640×256 (max. 2 colours), 320×256 (max. 4 colours) and 160×256 (max. 16 logical colours). No display modes have cell attribute clashes. The palette available has only 8 physical colours, plus a further 8 flashing colours (each being one of the eight non-flashing colours alternating with its physical complement), and the display modes can have 16, 4 or 2 simultaneous colours.

BbcMicro palette sample image.png BbcMicro palette color test chart.png


ZX Spectrum[edit]

The ZX Spectrum (and compatible) computers use a variation of the 4-bit RGBI palette philosophy. This results in each of the colors of the 3-bit palette to have a basic and bright variant, with the exception of black. This was accomplished by having a maximum voltage level for the bright variant, and a lower voltage level for the basic variant. Due to this, black is the same in both variants.

The attribute byte associated to every 8×8 pixels cell dedicates (from LSB to MSB): three bits for the background color; three bits for the foreground color; one bit for the bright variant for both, and one bit for the flashing effect (alternate foreground and background colors evenly in time). So the colors are not selectable as indices of a true palette (there are not color numbers 8 to 15).

The color numbers can be employed with the following statements to choose:

  • BORDER n, the color for the surrounding area outside the pixel graphical area.
  • PAPER n, the background (pixel bit value of 0) color for an 8×8 pixels cell.
  • INK n, the foreground (pixel bit value of 1) color for an 8×8 pixels cell.
Simulated image Sample image
Screen color test ZXSpectrum.png ZXSpectrum palette sample image.png ZXSpectrum palette color test chart.png ZXSpectrum palette.png
Color number Binary value BRIGHT 0 BRIGHT 1
0 000 black black
1 001 basic blue bright blue
2 010 basic red bright red
3 011 basic magenta bright magenta
4 100 basic green bright green
5 101 basic cyan bright cyan
6 110 basic yellow bright yellow
7 111 basic white bright white

SAM Coupé[edit]

The 128 colour master palette used by the SAM Coupé is produced via a unique method — it effectively contains 2 groups of 64 "RGB" colours of mildly different intensity, and ultimately derived from a 512 colour space.[11] The closest equivalent in more popular and well-known machines would be the Commodore-Amiga's 64-colour "Extended HalfBrite" mode (with 32 explicitly set colours using 5 bitplanes, which are displayed with full or half brightness depending on the bit setting of a 6th plane).

Two bits are used for each of Red, Green and Blue and give a similar result to a normal 6-bit RGB palette (as seen with the IBM EGA or Sega Master System); the seventh bit encodes for "brightness", which has a similar but more subtle effect to the Spectrum, increasing the output of all three channels by half the intensity of the lower bits of the main six (in this way, it does make a genuine 128 colours — rather than what would have been 127 with "two blacks" and only a 7-level greyscale). The layout of the byte that encodes each colour is complicated and appears like a Spectrum colour nybble transferred to a full byte's width, and an extra RGB bit-triplet then prefixed to it, with the MSB left unused.

Sample image with SAM Coupé palette.png Colour chart of SAM Coupé hardware palette.png Hardware palette of SAM Coupé.png


CPC series[edit]

The Amstrad CPC 464/664/6128 series of computers generate the available palette with 3 levels (not bits) for every RGB primary. Thus, there are 27 different RGB combinations, from which 16 can be simultaneously displayed in low resolution mode, four in medium resolution mode and two in high resolution mode.[12]

AmstradCPC palette sample image.png AmstradCPC palette color test chart.png AmstradCPC palette.png

Simulations of actual images on the Amstrad's color monitor in each of the modes (160×200, 16 colors; 320×200, 4 colors and 640×200, 2 colors) follows. A cheaper green monochrome display was also available from the manufacturer; in this case, the colors are viewed as a 16-tone green scale, as shown in the last simulated image, as it interprets the overall brightness of the full colour signal, instead of only considering the green intensity as might, e.g., the Philips CM8833 line.

2 colors 4 colors 16 colors 16-tone green scale
Screen color test AmstradCPC 2colors.png Screen color test AmstradCPC 4colors.png Screen color test AmstradCPC 16colors.png Screen color test AmstradCPC 16colors mono.png
0 – Black (5) 1 – Blue (0,14) 2 – Bright blue (6) 3 – Red 4 – Magenta 5 – Violet 6 – Bright red (3) 7 – Purple 8 – Bright magenta (7)
9 – Green 10 – Cyan (8) 11 – Sky blue (15) 12 – Yellow (9) 13 – Grey 14 – Pale blue (10) 15 – Orange 16 – Pink (11) 17 – Pale magenta
18 – Bright green (12) 19 – Sea green 20 – Bright cyan (2) 21 – Lime green 22 – Pale green (13) 23 – Pale cyan 24 – Bright yellow (1) 25 – Pale yellow 26 – Bright white (4)

The number in parentheses means the primary ink number for the Locomotive BASIC PEN, PAPER and INK statements (that is, "(1)" means ink #1 defaults to this color). Inks can also have a secondary color number, meaning they flash between two colors. By default, ink #14 alternates between colors 1 and 24 (blue and bright yellow) and ink #15 alternates between colors 11 and 16 (sky blue and pink). In addition, the paper defaults to ink #0 and the pen to ink #1, meaning bright yellow text on a blue background.

MSX systems[edit]

Original MSX[edit]

The MSX compatible computers feature a Texas Instruments TMS9918 chip which uses a proprietary 15-color YPbPr-encoded palette[13] plus a transparent color, intended to be used by the hardware sprites and simple video overlay. When used as an ordinary background color, it is rendered using the same color as the screen border.

MSX palette sample image.png MSX palette color test chart.png MSX palette.png

The MSX series has two graphic modes. The MSX BASIC Screen 3 mode is a low-resolution mode with 15 colors, in which every pixel can be any of the 15 available colors. Screen mode 2 is a high-resolution mode with 15 colors, in which every eight consecutive pixels can be one of two out of the 15 available colors.

15-color screen 3 mode 15-color screen mode 2
Screen color test MSX Screen3.png Screen color test MSX Screen2.png
Number — name Y Pb (rel.) Pr (rel.) Number — name Y Pb (rel.) Pr (rel.)
0 — transparent 0 0 0 8 — medium red 0.53 −0.377 0.868
1 — black 0 0 0 9 — light red 0.67 −0.377 0.868
2 — medium green 0.53 −0.509 −0.755 10 — dark yellow 0.73 −0.755 0.189
3 — light green 0.67 −0.377 −0.566 11 — light yellow 0.80 −0.566 0.189
4 — dark blue 0.40 1 −0.132 12 — dark green 0.47 −0.453 −0.642
5 — light blue 0.53 0.868 −0.075 13 — magenta 0.53 0.377 0.491
6 — dark red 0.47 −0.321 0.679 14 — gray 0.80 0 0
7 — cyan 0.73 0.434 −0.887 15 — white 1 0 0


The MSX2 series features a Yamaha V9938 video chip, which manages a 9-bit RGB palette (512 colors) and has some extended graphic modes. Although its graphical capabilities are similar, or even better than of those of 16-bit personal computers, MSX2 and MSX2+ (see below) are pure 8-bit machines.

MSX2 Screen8 palette sample image.png MSX2 Screen8 palette color test chart.png MSX2 Screen8 palette.png

Screen mode 6 is a 512×212-pixel mode with a 4-color palette chosen from the available 512 colors.

Screen modes 5 and 7 are high-resolution 256×212-pixel and 512×212-pixel modes, respectively, with a 16-color palette chosen from the available 512 colors. Each pixel can be any of the 16 selected colors.

Screen mode 8 is a high-resolution 256×212-pixel mode with an 8-bit color depth, giving a palette of 256 colors.[14] From the MSB to LSB, there are three green bits, three red bits, and two blue bits. This mode uses half of the available colors overall, and can be considered a palette in its own right.

4-color screen mode 6 16-color screen mode 5 256-color screen mode 8
Screen color test MSX2 Screen6.png Screen color test MSX2 Screen5.png Screen color test MSX2 Screen8.png


The MSX2+ series features a Yamaha V9958 video chip which manages a 15-bit RGB palette internally encoded in YJK (up to 19,268 different colors from the 32,768 theorically possible)[15] and has additional screen modes. Although its graphical capabilities are similar, or even better than of those of 16-bit personal computers, MSX2 (see above) and MSX2+ are pure 8-bit machines. YJK color encoding can be viewed as a lossy compression technique; in the RGB to YJK conversion, the average red and green levels are preserved, blue is subsampled. As a result of every four pixels sharing a chroma value, in mode 12 it is not possible to have vertical lines of a single color. This is only possible in modes 10 and 11 due to the additional 16-color direct palette. This can be used to mix 16 indexed colors with a rich colorful background, in what can be considered a primitive video overlay technique.

MSX2plus YJK&YAE palette sample image.png MSX2plus YJK&YAE palette color test chart.png MSX2plus YJK&YAE palette.png

Screen modes 10 & 11 – 12,499 YJK colours plus a 16-color palette. In this mode, the YJK technique encodes 16 levels of luminance into the four LSBs of each pixel and 64 levels of chroma, from −32 to +31, shared across every four consecutive pixels and stored in the three higher bits of the four pixels. If the fifth bit of the pixel is set, then the lower four bits of the pixel points to an index in the 16-color palette; otherwise, they specify the YJK luminance level of the pixel.

Screen mode 12 is similar to modes 10 and 11, but uses five bits to encode 32 levels of luminance for every pixel, thus it does not use an additional palette and, with YJK encoding, 19,268 different colors can be displayed simultaneously with 8-bit color depth.

Screen mode 10 & 11 Screen mode 12
Screen color test MSX2plus Screen10&11.png Screen color test MSX2plus Screen12.png

IBM PC/XT and compatible systems[edit]

For the palettes of more advanced original IBM AT, IBM PS/2 and better PC compatibles hardware displays, please visit IBM PC-AT and compatible systems in the List of 16-bit computer hardware palettes article.

The original IBM PC launched in 1981 features an Intel 8088 CPU which was 8-bit data bus technology. It was offered with a Monochrome Display Adapter (MDA) or a Color Graphics Adapter (CGA). The MDA was a text mode-only display adapter, without any graphic ability beyond using the built-in code page 437 character set, and employed an original IBM green monochrome monitor; only black, green and highlighted green could be seen on its screen. Then, only the CGA had true graphic modes.

Despite the fact that the original IBM XT had a true 16-bit architecture, it already shipped both the original MDA or CGA display adapters, so this model is enumerated here too.


The Color Graphics Adapter (CGA) outputs what IBM called "digital RGB"[16] (that is, the R, G, B (and I) signals from the graphics card to the monitor can each only have two states: on or off). CGA supports a maximum of 16 colors. However, its 320×200 graphics mode is restricted to fixed palettes containing only four colors, and the 640×200 graphic mode is only two colors. 16 colours are only available in text mode or the "tweaked text" 160×100 mode. A different set of 16 colours is available in composite mode with composite monitor.

The full standard RGBI palette is a variant of the 4-bit RGBI schema. Although the RGBI signals have only two states, the CGA color monitor decodes them as if RGB signals had four levels. Darker colors are the basic RGB 2nd level signals except for brown, which is dark yellow with the level for the green component halved (1st level). Brighter colors are made by adding a uniform intensity one level signal to every RGB signal of the dark ones reaching the 3rd level (except dark gray which reaches only the 1st level), and in this case yellow is produced as if the brown were ordinary dark yellow.

CGA palette sample image.png CGA palette color test chart.png CGA palette.png
0 — black 8 — dark gray
1 — low blue 9 — high blue
2 — low green 10 — high green
3 — low cyan 11 — high cyan
4 — low red 12 — high red
5 — low magenta 13 — high magenta
6 — brown 14 — yellow
7 — light gray 15 — white

The color numbers above are not arbitrary; they are based on the following bitmask:

Binary Base-Ten Color
1000 8 intense, high, or bright
0100 4 red
0010 2 green
0001 1 blue

A few earlier non-IBM compatible CGA monitors lack the circuitry to decode color numbers as of four levels internally, and they cannot show brown and dark gray. The above palette is displayed in such monitors as follows:

0 — black 8 — black
1 — low blue 9 — high blue
2 — low green 10 — high green
3 — low cyan 11 — high cyan
4 — low red 12 — high red
5 — low magenta 13 — high magenta
6 — low yellow 14 — yellow
7 — light gray 15 — white
  • 16-color palette modes
16-color, 80×50 mode 16-color, 160×100 mode
Screen color test CGA 16colors 80x50.png Screen color test CGA 16colors 160x100.png
  • 2-color palette mode

In the 640×200 graphic mode (BIOS mode number 6), every pixel has only a single bit. A value of 0 is always black, while a value of 1 is the color set in the bits 0 to 3 (bit3=I, bit2=R, bit1=G, bit0=B) of the CRT Color Selector Register (in 3D9h). The foreground color can be set with a call to the function 0Bh of the BIOS's INT 10h. The default foreground color is white.

Screen color test CGA 2colors.png

2-color palette mode 0 — black 1 — [user-defined]
  • 4-color palette modes

In the 320×200 graphics mode, every pixel has two bits. A value of 0 is always a selectable background-plus-border color (with the same register and/or BIOS call used for the foreground color in the 640×200 graphic mode; black by default), and the three remaining values 1 to 3 are indices to one of the predefined color palette entries. The selection of a given fixed palette is a bit complex. There are two BIOS 320×200 graphic modes. The mode number 4 has enabled the composite color burst output (CRT Mode Control Register in 3D8H has cleared the bit 2), and the mode number 5 has it disabled (bit 2 set on the register). This gives two sets of palettes, one for "digital RGB" color monitors and one for monochrome composite video monitors, but the last has its own colors when viewed in a color monitor. The desired video mode, 4 or 5, can be set with the function 0h of the BIOS's INT 10h. For the BIOS mode 4, two palettes can be chosen: green-red-yellow and cyan-magenta-white (that is, the former plus the blue signal). The palette is selected with bit 5 of the CRT Color Selector Register in 3D9h. A value of 1 means the cyan-magenta-white palette (known as the "palette #1" because is the default for the mode 4), and 0 is the green-red-yellow (known as the "palette #2"). It can be set with the function 0Bh, subfunction 1, of the BIOS's INT 10h. The palette for the BIOS mode 5 is always cyan-red-white. In every of the 4 and 5 mode palettes, a low or high intensity can be chosen with the bit 4 of the CRT Color Selector Register in 3D9h. A value of 0 means the low intensity, and 1 means the high. No BIOS call exist to switch between the two intensity modes.

Mode 4, palette #1 Mode 4, palette #2 Mode 5
Low intensity Screen color test CGA 4colors Mode4 Palette1 LowIntensity.png Screen color test CGA 4colors Mode4 Palette2 LowIntensity.png Screen color test CGA 4colors Mode5 LowIntensity.png
High intensity Screen color test CGA 4colors Mode4 Palette1 HighIntensity.png Screen color test CGA 4colors Mode4 Palette2 HighIntensity.png Screen color test CGA 4colors Mode5 HighIntensity.png
Simulated Grayscale Screen color test CGA 4colors mono.png Screen color test CGA 4colors mono.png Screen color test CGA 4colors mono.png
Mode 4, palette #1, low intensity 0 — [user-defined] 1 — cyan 2 — magenta 3 — light grey
Mode 4, palette #1, high intensity 0 — [user-defined] 1 — bright cyan 2 — bright magenta 3 — bright white
Mode 4, palette #2, low intensity 0 — [user-defined] 1 — green 2 — red 3 — brown
Mode 4, palette #2, high intensity 0 — [user-defined] 1 — bright green 2 — bright red 3 — yellow
Mode 5, low intensity 0 — [user-defined] 1 — cyan 2 — red 3 — light grey
Mode 5, high intensity 0 — [user-defined] 1 — bright cyan 2 — bright red 3 — white

PCjr and Tandy 1000 series[edit]

The IBM PCjr, and near compatible Tandy 1000 series, feature a graphic chip known as "Video Gate Array", which is able to show all 16 CGA colors simultaneously on screen in the extended low-res graphic modes. This graphic adapter is better known as Tandy Graphics Adapter. All extended PCjr/Tandy 1000 graphics modes could reassign any color index to any palette entry, for color cycling effects.

Screen color test PCjr 16colors 160x200.png

See also[edit]


  1. ^ "The Laboratorium : Why Did the Apple II Have Six Colors?". 
  2. ^
  3. ^
  4. ^
  5. ^ "Spectrum vs C64" match, Italy, 1985 "The blue was simply stunning. The red made the room warm. The magenta was like an exotic icecream. The green was something like freshly rained grass. The cyan was like the ocean's water. The yellow seemed got off from a fluorescent pen. And the white was clean and soft ... The C64 screen first became black (but not too much), then became white (an exaggerated white), then orange, then something like bluish, then a vaguely magenta, then a poor water-greenish, then a bright bluish, then a faded yellow, then a weird brown, and then a light gray... well, all "pastel-like" colours"
  6. ^ "The 6561 VIC chip".  090420
  7. ^ "C64 Emulator Palette from my NTSC 1702 - Page 2 - Commodore 64 (C64) Forum". 
  8. ^ Philip 'Pepto' Timmermann (12 March 2001). "All you ever wanted to know about the colors of the commodore 64". 
  9. ^ Commodore Hacking #12 : Talking to TED
  10. ^ Color codes
  11. ^ Cooke, Simon; et al. (1994). "The Graphics Hardware" (PDF). The Unofficial SAM Coupé Technical Manual (sampler edition). Σntropy. pp. 16–20. Retrieved 5 February 2013. 
  12. ^ "The Amstrad CPC Firmware Guide"
  13. ^ VDP Registers 00h-07h: Basic MSX1/MSX2 Video Registers from "Portar MSX Tech Doc"
  14. ^ Bits M1-M5 of VDP register 0 and 1: Video Screen modes, Screen 8 from "Portar MSX Tech Doc"
  15. ^ "The MSX Plaza". 
  16. ^ Richard Wilton, Programmer's Guide to PC & PS/2 VIDEO SYSTEMS, 1987, Microsoft Press.