# Color Graphics Adapter

Le CGA ou Color Graphics Adapter est une carte électronique mise sur le marché par IBM en 1981. Premier adaptateur couleur destiné aux ordinateurs individuels, il a institué un standard de fait et a engendré une norme d’affichage. La définition est de 320×200 pixels en deux bits couleurs (soit quatre couleurs) ou 640×200 en un bit couleurs (soit deux couleurs).
Dans le mode deux bits couleurs, la couleur du fond peut être choisie parmi les seize disponibles en mode texte. Les trois autres couleurs sont fixées en choisissant une palette. Il existe quatre palettes différentes, qui se différencient par l’intensité des couleurs et par la présence, ou l'absence, de la composante bleue.
Le format d'image est de 8/5. La taille de mémoire vidéo est de 16 Kio quel que soit le mode utilisé, située à l’adresse B800:0000.
La carte CGA a été suivie en 1984 de la carte graphique EGA d'IBM.

## Conception

L'architecture de la carte graphique CGA d'IBM a été conçue autour du contrôleur mémoire Motorola 6845 adressant une mémoire vidéo de seize kilooctets, pour permettre de gérer différents modes d'affichage, graphiques ou texte : la résolution d'écran, quel que soit le mode, était 640×200 pixels, et le codage des couleurs se faisait sur quatre bits (soit seize couleurs possibles).
On pouvait connecter la carte CGA soit directement à un écran cathodique doté d'une interface RGBI TTL quatre bits, comme le moniteur couleur IBM 5153 ; à un simple écran de téléviseur couleur compatible NTSC, ou un moniteur vidéo CVBS via un connecteur RCA. Toutefois, les connecteurs RCA n'assuraient qu'un codage vidéo en ligne, de sorte que pour brancher une carte CGA à un poste de télévision domestique CVBS, il fallait un modulateur FR séparé.
Le moniteur couleur d'IBM auquel cette carte était destinée (5153 Personal Computer Color Display) avait pris du retard et il ne put être commercialisé qu'en mars 1983.

## Couleurs

En mode texte, un écran est capable d'afficher seize couleurs :
Palette CGA 16 couleurs en mode texte :
| 0 noir #000000 | 1 bleu #0000AA | 2 vert #00AA00 | 3 cyan #00AAAA | 4 rouge #AA0000 | 5 magenta #AA00AA | 6 marron #AA5500 | 7 gris clair #AAAAAA |
| 8 gris foncé #555555 | 9 bleu clair #5555FF | 10 vert clair #55FF55 | 11 cyan clair #55FFFF | 12 rouge clair #FF5555 | 13 magenta clair #FF55FF | 14 jaune #FFFF55 | 15 blanc #FFFFFF |
L'Amstrad PC-1512 sorti cinq ans plus tard, en 1986, possède un moniteur de type CGA mais permettant l'affichage de ces seize couleurs en mode graphique 640x200 en utilisant quatre plans de bits pour le mode CGA monochrome 640x200.
Certains émulateurs CGA utilisent une mauvaise version de la couleur 6 :
* 6
* jaune-vert #AAAA00

## Modes

Un moniteur CGA possède deux modes texte, où les octets de la mémoire vidéo alternent entre caractère et couleur (donc il faut deux octets par caractère) :
* 40 colonnes par 25 lignes (16 couleurs), soit 2 000 octets par page (8 pages en mémoire) ;
* 80 colonnes par 25 lignes (16 couleurs), soit 4 000 octets par page (4 pages en mémoire).
Il possède également deux types de mode graphique :
* 320x200 en 4 couleurs (différentes palettes possibles) ;
* 640x200 en 2 couleurs : noir et l'une des 16 couleurs (gris clair par défaut).
Le mode graphique en quatre couleurs permet d'utiliser l'une des six palettes de couleurs ci-dessous. La couleur 0 pouvant être choisie librement parmi les seize couleurs (noir par défaut).
Noir, Cyan, Magenta, Gris clair :
| 0 noir #000000 | 3 cyan #00AAAA | 5 magenta #AA00AA | 7 gris clair #AAAAAA |
Noir, Cyan, Rouge, Gris clair :
| 0 noir #000000 | 3 cyan #00AAAA | 4 rouge #AA0000 | 7 gris clair #AAAAAA |
Noir, Vert, Rouge, Marron :
| 0 noir #000000 | 2 vert #00AA00 | 4 rouge #AA0000 | 6 marron #AA5500 |
Noir, Cyan clair, Magenta clair, Blanc :
| 0 noir #000000 | 11 cyan clair #55FFFF | 13 magenta clair #FF55FF | 15 blanc #FFFFFF |
Noir, Cyan clair, Rouge clair, Blanc :
| 0 noir #000000 | 11 cyan clair #55FFFF | 12 rouge clair #FF5555 | 15 blanc #FFFFFF |
Noir, Vert clair, Rouge clair, Jaune :
| 0 noir #000000 | 10 vert clair #55FF55 | 12 rouge clair #FF5555 | 14 jaune #FFFF55 |