CGA (Color Graphics Adapter - 1981) is one of the most iconic and constrained graphics systems in history.
Understanding it gives you insight into how early computers handled color, why dithering became essential, and how creative developers got around extreme hardware limitations.
CGA Modes
CGA offered several video modes.
Graphics modes:
- 160 × 100 in 16 colors, chosen from a 16-color palette, utilizing a specific configuration of the 80 × 25 text mode. This used 4 bits per pixel, with a total memory use of (160 * 100 * 4) / 8 = 8 kilobytes.
- 320 × 200 in 4 colors, chosen from 3 fixed palettes, with high- and low-intensity variants, with color 1 chosen from a 16-color palette. This used 2 bits per pixel, with a total memory use of (320 * 200 * 2) / 8 = 16 kilobytes.
- 640 × 200 in 2 colors, one black, one chosen from a 16-color palette. This used 1 bit per pixel, with a total memory use of (640 * 200) / 8 = 16 kilobytes. Some software achieved greater color depth by utilizing artifact color when connected to a composite monitor.
Text modes:
- 40 × 25 with 8 × 8 pixel font (effective resolution of 320 × 200)
- 80 × 25 with 8 × 8 pixel font (effective resolution of 640 × 200) IBM intended that CGA be compatible with a home television set. The 40 × 25 text and 320 × 200 graphics modes are usable with a television, and the 80 × 25 text and 640 × 200 graphics modes are intended for a monitor.
Color Palette
...
Mode 0
This is the iconic mode
320x200 - 4 colors - 2x2 fixed palettes (optional intensity bit)
Games loved it: Nearly all CGA games — Commander Keen, King’s Quest I, Lode Runner — used Mode 0.
Palette trickery: Clever devs used dithering or even palette-switching hacks (like composite color modes on NTSC monitors) to simulate more colors.
If you wanted "colorful and fun" in CGA, Mode 0 was your only real choice.
Resources
https://www.youtube.com/watch?v=niKblgZupOc
- CGA https://www.shadertoy.com/view/3tfSDX