컬러 그래픽스 어댑터

아라크네 인터넷 스위트''.]] 320x200의 4색 모드에서 디더링으로 점묘표현을 사용하여 색감 한계를 극복한 예. 실은 CGA의 주요 4색만으로 좋은 색감을 표현한 이런 예는 드문 편이며, 해당 사진은 다행히 녹색과 마젠타가 주요한 예. **컬러 그래픽스 어댑터**(**Color Graphics Adapter**, **CGA**)는 1981년에 소개되었으며 IBM의 최초의 컬러 그래픽 카드였다. (원래 "컬러/그래픽스 모니터 어댑터"라는 이름으로 판매되었다.) 이 표준 IBM CGA 그래픽 카드는 16킬로바이트의 비디오 메모리를 장착했으며 NTSC 호환 모니터나 TV를 RCA 잭을 통해 연결하거나 제공되는 RGBI CRT 모니터에 연결할 수 있었다. 모토로라 MC6845 디스플레이 컨트롤러를 기반으로, CGA 카드는 몇 가지 그래픽과 텍스트 모드를 구현했다. 가장 높은 해상도 모드는 640x200이며, 가장 높은 색 깊이는 4비트 (16색)이다. EGA, 모노크롬과 같이 CGA는 9핀 D-Sub를 사용하므로 현재 일반적으로 쓰이고 있는 15핀 D-Sub 모니터에는 연결할 수 없다. 흑백이었던 HGC와 다르게 컬러를 구현하였으나 HGC보다 해상도가 낮았다.
# CGA 색 팔레트
{| class="wikitable" align="right" ! colspan="4" | 완전한 CGA 16 색 팔레트 |- | | 0 | | 검정
#000000 | | 8 | | (어두운) 회색
#555555 |- | | 1 | | 파랑
#0000AA | | 9 | | 밝은 파랑
#5555FF |- | | 2 | | 초록
#00AA00 | | 10 | | 밝은 초록
#55FF55 |- | | 3 | | 하늘색
#00AAAA | | 11 | | 밝은 하늘색
#55FFFF |- | | 4 | | 빨강
#AA0000 | | 12 | | 밝은 빨강
#FF5555 |- | | 5 | | 자홍색
#AA00AA | | 13 | | 밝은 자홍색
#FF55FF |- | | 6 | | 갈색
#AA5500 | | 14 | | 노란색
#FFFF55 |- | | 7 | | 흰색 (밝은 회색)
#AAAAAA | | 15 | | 밝은 흰색
#FFFFFF |} CGA의 4비트로 이뤄진 최대 색 깊이는 16색 팔레트이다. 가장 낮은 3개의 비트는 빨강, 초록, 파랑을 대표하며 세 개의 음극선관들과 일치한다. (검정은 3개의 모든 음극선관을 끄는 것이다. 자세한 것은 검정 수준을 볼 것) 사이언은 파랑, 초록이 섞인 것이고, 자홍색은 빨강과 파랑이 섞인 것이며 주황-갈색은 빨강과 초록이 섞인 것이다. 흰 색(밝은 회색)은 모든 3개의 음극이 쓰인 것이다. 어두운 회색이 많은 모니터에서 검정과 구분하기 힘들긴 하지만 나머지 8개의 색은 더 밝은 버전의 각 색을 제공하면서 4개의 "강화" 비트를 켬으로써 사용할 수 있다. CGA의 "RGB + 강화 비트" 설계는 "RGBI"라고 불리었다.
# 표준 색 모드
CGA는 다음의 2가지 텍스트 모드를 제공하였다: * **40×25 문자열** 최대 16색. 각 문자열은 8x8 도트이다. 각 화소가 독립적으로 할당되지 않음에도 불구하고 이 모드에서 효과적인 화면 해상도는 320x200 화소이다. (화소 가로세로비는 1:1.2) * **80×25 문자열** 최대 16색. 각 문자열은 8x8 또한 도트이다 (40x25의 것과 같은 문자열 세트), 화소의 가로세로비가 1:2.4이다. 이 모드에서 효과적인 화면 해상도는 640x200 화소이다. 또한, 화소들은 개별적으로 할당받을 수 없다. 이 모드에서 화면 위에 출력할 수 있는 문자열이 두 배나 되었는데, 다시 말해 이 카드는 4개의 다른 텍스트 페이지를 위해 충분한 비디오 램을 가지고 있었다.
# 표준 RGB 그래픽 모드
{| class="wikitable" align="right" !색인!!팔레트 #1!!팔레트 #2 |- |0 | | 기본 | | 기본 |- |1 | | 3 — 하늘 | | 2 — 초록 |- |2 | | 5 — 자홍 | | 4 — 빨강 |- |3 | | 7 — 흰색 | | 6 — 갈색 |} CGA는 흔히 다음의 그래픽 모드를 제공했다: * **320×200 화소**, 40x25 텍스트 모드. 그래픽 모드에서는 그러나 각 화소가 독립적으로 할당될 수 있다. * **640×200** 화소, 80x25 텍스트 모드. 모든 화소는 독립적으로 할당된다. 텍스트 모드에서 폰트 비트맵 데이터가 카드의 캐릭터 롬에서 나왔으며 카드 자체에서 이를 수행할 수 있었다. 그래픽 모드에서 바이오스에 의한 텍스트 출력은 구분된 두 개의 테이블을 사용한다: 첫째, 128개의 문자열들을 제공하는 문자열 세트는 BIOS에서 F000:FA6E의 테이블에 의해 제공 받는다. 둘째, 문자열 세트는 보통 GRAFTABL과 같은 유틸리티를 통해(또는 프로그램을 요청함으로써) 뚜렷하게 구분되지 않은 경우 블랭크(blank)로 표시될 수 있다.
# 이후의 RGB 그래픽 모드 및 트윅
{| class="wikitable" align="right" !색인!!3d 팔레트 |- |0 | | 기본 |- |1 | | 3 — 하늘 |- |2 | | 4 — 빨강 |- |3 | | 7 — 흰색 (밝은 회색) |} 더 나은 그래픽을 RGBI 모니터에 달성할 수 있는 수많은 공식/비공식 기능이 존재하였다. * 320x200 그래픽 모드에서, 모드를 초기화할 때 검은색이 기본이었던 배경색은 다른 15색의 CGA 팔레트 가운데 아무 색으로든 바꿀 수 있었다. 이것은 배경색이 화면을 다시 그리지 않고도 바꿀 수 있으며 깜박임 효과 등 몇 가지 변화를 허용했다. * 640x200 그래픽 모드에서 배경색을 보통 흰 색에서 다른 15색 가운데 하나로 바꿀 수 있었다. * 텍스트 모드에서 테두리 색을 일반 검정에서 다른 15색 가운데 하나로 바꿀 수 있었다. * 컬러 그래픽 모드에 있을 때 모노크롬 비트를 켬으로써 세 번째 320x200의 4색 팔레트를 사용할 수 있었다. 이것은 현재의 그래픽 팔레트를 빨강, 하늘, 흰색, 그리고 전경색으로 전환할 수 있었다. * 정확도 타이밍(precision timing)을 통해 화면의 내용이 그려지고 있는 동안에 다른 팔레트로 바꿀 수 있었다. 이는 하나의 스캔라인마다 6개의 팔레트 가운데 하나를 사용하는 것을 허용하였다. 가장 좋은 예가 4.77 Mhz 8088에서 돌아갔을 때의 게임 캘리포니아 게임즈이다. url=https://web.archive.org/web/20180925025417/http://www.mobygames.com/game/shots/p,2/gameId,1823/gameShotId,7722/ (빠른 컴퓨터에서 돌리는 것은 아무런 효과를 내지 않았는데, 팔레트 전환이 컴퓨터 속도에 매우 민감하기 때문이다.) 프로거의 경우 길과 강을 만들기 위해 배경색도 이와 같이 할 수 있었다. url=https://web.archive.org/web/20181001030758/http://www.mobygames.com/attribute/sheet/p,2/attributeId,5/ 대부분의 소프트웨어 타이틀들은 이러한 가능성을 사용하지 않았지만 몇 가지 인상 깊은 예외도 있었다.
## 160×100의 16색 모드
기술적으로 이 모드는 그래픽 모드는 아니지만 80x25 텍스트 모드의 기능을 트윅한 것이다. 문자열 셀 높이 레지스터는 한 문자열 셀에 일반적인 8줄이 아닌 오직 2줄만 표시할 수 있었다. 텍스트 줄을 4배로 하여 25에서 100으로 표시하였다. 이렇게 억지로 잡아당긴 텍스트 문자열들은 완전한 문자열은 아니었다. 시스템은 한 줄에서 다음 줄로 이동하기 전에(화면 표시) 이러한 상위의 화소의 두 줄들만 표시했다. {| class="wikitable" align="left" | | 문자열 221. |- | | 221 (파랑 문자열, 빨강 배경색) |- | | 221 (빨강 문자열, 파랑 배경색) |- | | 문자열 222. |} 확장 아스키 문자열 세트의 문자열 221은 완전한 왼쪽의, 문자열 매트릭스의 절반을 차지하는 상자 하나로 이루어져 있었다. (문자열 222는 완전한 오른쪽의, 문자열 매트릭스의 절반을 차지하는 상자 하나로 이루어져 있었다.) 각 문자열이 다른 전경과 배경 색으로 할당받을 수 있었기 때문에 (이를테면) 왼쪽 (배경색)에 파랑을 씌우고 오른쪽 (배경색)에 밝은 빨강을 씌울 수 있었다. 전경과 배경색을 바꿈으로써 반전시킬 수도 있었다.
# 규격

## 연결 단자
CGA는 표준 DE-9 커넥터를 사용한다. {| class="wikitable" |+ **핀 할당** |- ! **핀** ! **기능** |- |1|| 그라운드 |- |2|| 그라운드 |- |3|| 빨강 |- |4|| 초록 |- |5|| 파랑 |- |6|| 인텐시티(Intensity) |- |7|| 보존(Reserved) |- |8|| 수평 동기 |- |9|| 수직 동기 |- |}
## 신호
{| class="wikitable" |- ! 종류 || 디지털, TTL |- !해상도 || 640h × 200v, 320h × 200v |- ! 수평 주파수 || 15.75 kHz |- ! 수직 주파수 || 60 Hz |- ! 색 || 16 |}