# Color Graphics Adapter

La Color Graphics Adapter (originariamente Color/Graphics Monitor Adapter), introdotta nel 1981, è stata la prima scheda video a colori prodotta da IBM e il primo standard per i PC IBM. La scheda è basata su un controller video Motorola 6845, è dotata di due modalità testuali (40×25 e 80×25 caratteri) e due principali risoluzioni grafiche, 320×200 e 640×200 pixel, mentre la profondità di colore è di 4 bit (16 colori).

## La palette CGA

Palette CGA completa :
| 0 | nero #000000 | 8 | grigio #555555 |
| 1 | blu #0000AA | 9 | blu chiaro #5555FF |
| 2 | verde #00AA00 | 10 | verde chiaro #55FF55 |
| 3 | ciano #00AAAA | 11 | ciano chiaro #55FFFF |
| 4 | rosso #AA0000 | 12 | rosso chiaro #FF5555 |
| 5 | magenta #AA00AA | 13 | magenta chiaro #FF55FF |
| 6 | marrone #AA5500 | 14 | giallo #FFFF55 |
| 7 | grigio chiaro #AAAAAA | 15 | bianco #FFFFFF |
Con la CGA è possibile ottenere 16 colori, partendo dal modello RGB, ovvero rosso, verde e blu; ciano, magenta e marrone sono ottenibili "mescolando" due dei precedenti. La seconda metà è composta dalle versioni più chiare delle precedenti, sebbene il colore "dark grey" (grigio scuro) sulla maggior parte dei monitor dell'epoca fosse praticamente indistinguibile dal nero.
I colori sono visualizzabili contemporaneamente nelle sole modalità testuali, mentre in quelle grafiche sono limitati a 4 in contemporanea.
* In 320×200 è possibile utilizzare, ufficialmente, due tipi di tavolozze:
* ciano, magenta, bianco e un altro colore (nero di default).
* rosso, verde, marrone o giallo e un altro colore (nero di default).
Esiste una terza tavolozza "non ufficiale", ottenibile disabilitando il bit del segnale del colore composito, composta da rosso, ciano, bianco e un altro colore (nero di default).
* In 640×200 è possibile utilizzare solamente nero e un colore a scelta (bianco di default).

### Monitor compositi

Se al posto della normale uscita per monitor RGB viene utilizzata l'uscita video composito (per TV NTSC), i colori non vengono visualizzati in maniera corretta: infatti la separazione fra crominanza e luminanza non è corretta, i colori si sovrappongono e producono artefatti, rendendo i testi poco comprensibili alla lettura. Tuttavia, questa imperfezione all'epoca è stata sfruttata come un vantaggio: infatti, se ben utilizzata, i colori che si sovrappongono ne formano altri, aumentando così le possibilità grafiche della scheda. Alcuni videogiochi usciti all'inizio degli anni ottanta sfruttavano questo bug: ad esempio le versioni DOS di BurgerTime, Jumpman, King's Quest e Ms. Pac-Man.
| N. | Tavolozza 1 | Tavolozza 1 in alta intensità |
| 0 | default | default |
| 1 | 3 — ciano | 11 — ciano chiaro |
| 2 | 5 — magenta | 13 — magenta chiaro |
| 3 | 7 — grigio chiaro | 15 — bianco |
| N. | Tavolozza 0 | Tavolozza 0 in alta intensità |
| 0 | default | default |
| 1 | 2 — verde | 10 — verde chiaro |
| 2 | 4 — rosso | 12 — rosso chiaro |
| 3 | 6 — marrone | 14 — giallo |
| N. | 3ª tavolozza | 3ª tavolozza in alta intensità |
| 0 | default | default |
| 1 | 3 — ciano | 11 — ciano chiaro |
| 2 | 4 — rosso | 12 — rosso chiaro |
| 3 | 7 — grigio chiaro | 15 — bianco |

## Specifiche
### Connettore

Numerazione dei piedini (pin) e immagine del connettore femmina:
Il Piedino 1 è quello in alto a destra, il 5 in altro a sinistra, il 9 in basso a sinistra
Identificazione dei pin :
| Pin | Funzione |
| 1 | Massa |
| 2 | Massa |
| 3 | Rosso |
| 4 | Verde |
| 5 | Blu |
| 6 | Intensità |
| 7 | non utilizzato |
| 8 | Sincronismo orizzontale |
| 9 | Sincronismo verticale |

### Specifiche di segnalazione

| Tipo | Digitale, TTL |
| Risoluzione | 640×200, 320×200 |
| Freq. Orizz. | 15,75 kHz |
| Freq. Vert. | 60 Hz |
| Colori | 16 |

### Modalità video

Modalità video CGA :
| Modo | Tipo | Risoluzione | caratteri | colori |
| 0h,1h | Testo | 320×200 | 40×25 | 16 |
| 2h,3h | Testo | 640×200 | 80×25 | 16 |
| 4h,5h | Grafica | 320×200 | 40×25 | 4 |
| 6h | Grafica | 640×200 | 80×25 | 2 |
| 7h | Testo | 640×200 | 80×25 | Mono |

## Esempi

* Prima palette in alta intensità
* Prima palette in bassa intensità
* Seconda palette in alta intensità
* Seconda palette in bassa intensità
* Terza palette in alta intensità
* Terza palette in bassa intensità