CGA (ang. Color Graphics Adapter; także Color/Graphics Monitor Adapter) – jeden ze standardów kart graficznych dla komputerów z rodziny IBM PC[1][2], wprowadzony obok MDA wraz z pierwszym komputerem rodziny IBM PC w 1981 roku[2][3][4].
Oryginalna karta IBM CGA została zbudowana na kontrolerze Motorola 6845[1][2] i zawiera 16 kB pamięci obrazu[3] (display buffer) mapowanej w przestrzeni adresowej od (16 kB, bez parzystości)[5]. Adapter obsługuje dwa podstawowe tryby pracy: alfanumeryczny (A/N) oraz graficzny all points addressable (APA)[6.1].
B8000
Karta udostępnia wyjście bezpośrednie (direct drive) w standardzie TTL (złącze 9-pin D-Sub: sygnały R, G, B, bit intensywności oraz synchronizacje pozioma i pionowa) oraz wyjście kompozytowe (gniazdo typu phono/RCA; sygnał wideo o amplitudzie ok. 1,5 Vpp)[6.2]. Przewidziano także złącze dla zewnętrznego modulatora RF (do podłączenia telewizora) oraz interfejs pióra świetlnego[6.2].
W trybie alfanumerycznym karta pracuje w rozdzielczościach 40×25 (dla telewizorów i monitorów o niższej rozdzielczości) oraz 80×25 (dla monitorów o wyższej rozdzielczości); znaki są definiowane w polu 8×8 punktów i przechowywane w generatorze znaków w pamięci ROM (8 kB), a wybór jednego z fontów realizowany jest sprzętowo zworką (jumper)[6.1]. W trybie barwnym dostępnych jest 16 kolorów pierwszego planu i 8 kolorów tła na znak oraz miganie na poziomie pojedynczego znaku[6.1]. Każda pozycja znaku na ekranie zajmuje dwa bajty (kod znaku i bajt atrybutu), co umożliwia przechowywanie do 8 stron ekranu w trybie 40×25 oraz do 4 stron w trybie 80×25 w pamięci adaptera[6.1][5].
Źródła polskojęzyczne z lat 80. i 90. opisywały CGA jako jeden z podstawowych standardów kart graficznych w komputerach zgodnych z IBM-PC[3][7].

Może pracować w dwóch podstawowych trybach:[3]
W trybie A/N znaki są pobierane z generatora znaków w ROM i mają pole 8×8 punktów; w trybie graficznym (APA) obraz jest pobierany bezpośrednio z pamięci obrazu mapowanej w przestrzeni adresowej od [6.1][5]. Rejestry trybów i wyboru koloru są dostępne m.in. pod adresami portów B8000 (mode control), 3D8 (color select) oraz 3D9 (status), a programowanie kontrolera 6845 odbywa się przez porty 3DA (indeks) i 3D4 (dane)[6.5].
3D5
Karty CGA zostały zastąpione kartami EGA (IBM EGA: 2 sierpnia 1984), przy czym aplikacje korzystające z interfejsu BIOS były co do zasady zgodne z EGA[10].
| Wszystkie 16 kolorów możliwe do wyświetlenia w trybie znakowym | |
|---|---|
| 0 – czarny #000000 |
8 – (ciemny) szary #555555 |
| 1 – niebieski #0000AA |
9 – jasny niebieski #5555FF |
| 2 – zielony #00AA00 |
10 – jasny zielony #55FF55 |
| 3 – niebiesko-zielony #00AAAA |
11 – jasny niebiesko-zielony #55FFFF |
| 4 – czerwony #AA0000 |
12 – jasny czerwony #FF5555 |
| 5 – fioletowy #AA00AA |
13 – różowy #FF55FF |
| 6 – brąz (pomarańcz) #AA5500 |
14 – żółty #FFFF55 |
| 7 – biały (jasny szary) #AAAAAA |
15 – jasny biały #FFFFFF |
| 4-kolorowa paleta trybu graficznego #1 | ||
|---|---|---|
| podstawowy | 5 – fioletowy | |
| 3 – niebiesko-zielony | 7 – biały (jasny szary) | |
| 4 kolorowa paleta trybu graficznego #2 | ||
| podstawowy | 4 – czerwony | |
| 2 – zielony | 6 – brąz (pomarańcz) | |