{{위키데이터 속성 추적}}
[[파일:Arachne CGA Mode.svg|섬네일|640x200의 2 색 모드의 기본 배경색 — ''[[아라크네 (웹 브라우저)|아라크네]] [[인터넷 스위트]]''.]]
[[파일:Cosmos bipinnatus0 CGA.png|섬네일|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 색 팔레트
|-
| style="color: white; background-color: #000000" | 0
| style="color: white; background-color: #000000" | 검정<br />#000000
| style="color: white; background-color: #555555" | 8
| style="color: white; background-color: #555555" | (어두운) 회색<br />#555555
|-
| style="color: white; background-color: #0000AA" | 1
| style="color: white; background-color: #0000AA" | 파랑<br />#0000AA
| style="color: white; background-color: #5555FF" | 9
| style="color: white; background-color: #5555FF" | 밝은 파랑<br />#5555FF
|-
| style="color: white; background-color: #00AA00" | 2
| style="color: white; background-color: #00AA00" | 초록<br />#00AA00
| style="color: black; background-color: #55FF55" | 10
| style="color: black; background-color: #55FF55" | 밝은 초록<br />#55FF55
|-
| style="color: white; background-color: #00AAAA" | 3
| style="color: white; background-color: #00AAAA" | 하늘색<br />#00AAAA
| style="color: black; background-color: #55FFFF" | 11
| style="color: black; background-color: #55FFFF" | 밝은 하늘색<br />#55FFFF
|-
| style="color: white; background-color: #AA0000" | 4
| style="color: white; background-color: #AA0000" | 빨강<br />#AA0000
| style="color: black; background-color: #FF5555" | 12
| style="color: black; background-color: #FF5555" | 밝은 빨강<br />#FF5555
|-
| style="color: white; background-color: #AA00AA" | 5
| style="color: white; background-color: #AA00AA" | 자홍색<br />#AA00AA
| style="color: black; background-color: #FF55FF" | 13
| style="color: black; background-color: #FF55FF" | 밝은 자홍색<br />#FF55FF
|-
| style="color: white; background-color: #AA5500" | 6
| style="color: white; background-color: #AA5500" | 갈색<br />#AA5500
| style="color: black; background-color: #FFFF55" | 14
| style="color: black; background-color: #FFFF55" | 노란색<br />#FFFF55
|-
| style="color: black; background-color: #AAAAAA" | 7
| style="color: black; background-color: #AAAAAA" | 흰색 (밝은 회색)<br />#AAAAAA
| style="color: black; background-color: #FFFFFF" | 15
| style="color: black; background-color: #FFFFFF" | 밝은 흰색<br />#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
| style="color: white; background-color: #000000" | 기본
| style="color: white; background-color: #000000" | 기본
|-
|1
| style="color: white; background-color: #00AAAA" | 3 — 하늘
| style="color: white; background-color: #00AA00" | 2 — 초록
|-
|2
| style="color: white; background-color: #AA00AA" | 5 — 자홍
| style="color: white; background-color: #AA0000" | 4 — 빨강
|-
|3
| style="color: black; background-color: #AAAAAA" | 7 — 흰색
| style="color: white; background-color: #AA5500" | 6 — 갈색
|}

CGA는 흔히 다음의 그래픽 모드를 제공했다:
* '''320×200 화소''', 40x25 텍스트 모드. 그래픽 모드에서는 그러나 각 화소가 독립적으로 할당될 수 있다.
* '''640×200''' 화소, 80x25 텍스트 모드. 모든 화소는 독립적으로 할당된다.

텍스트 모드에서 폰트 비트맵 데이터가 카드의 캐릭터 롬에서 나왔으며 카드 자체에서 이를 수행할 수 있었다. 그래픽 모드에서 바이오스에 의한 텍스트 출력은 구분된 두 개의 테이블을 사용한다: 첫째, 128개의 문자열들을 제공하는 문자열 세트는 BIOS에서 F000:FA6E의 테이블에 의해 제공 받는다. 둘째, 문자열 세트는 보통 [[GRAFTABL]]과 같은 유틸리티를 통해(또는 프로그램을 요청함으로써) 뚜렷하게 구분되지 않은 경우 블랭크(blank)로 표시될 수 있다.

== 이후의 RGB 그래픽 모드 및 트윅 ==
{| class="wikitable" align="right"
!색인!!3d 팔레트
|-
|0
| style="color: white; background-color: #000000" | 기본
|-
|1
| style="color: white; background-color: #00AAAA" | 3 — 하늘
|-
|2
| style="color: white; background-color: #AA0000" | 4 — 빨강
|-
|3
| style="color: black; background-color: #AAAAAA" | 7 — 흰색 (밝은 회색)
|}
더 나은 그래픽을 RGBI 모니터에 달성할 수 있는 수많은 공식/비공식 기능이 존재하였다.
* 320x200 그래픽 모드에서, 모드를 초기화할 때 검은색이 기본이었던 배경색은 다른 15색의 CGA 팔레트 가운데 아무 색으로든 바꿀 수 있었다. 이것은 배경색이 화면을 다시 그리지 않고도 바꿀 수 있으며 깜박임 효과 등 몇 가지 변화를 허용했다.
* 640x200 그래픽 모드에서 배경색을 보통 흰 색에서 다른 15색 가운데 하나로 바꿀 수 있었다.
* 텍스트 모드에서 테두리 색을 일반 검정에서 다른 15색 가운데 하나로 바꿀 수 있었다.
* 컬러 그래픽 모드에 있을 때 모노크롬 비트를 켬으로써 세 번째 320x200의 4색 팔레트를 사용할 수 있었다. 이것은 현재의 그래픽 팔레트를 빨강, 하늘, 흰색, 그리고 전경색으로 전환할 수 있었다.
* 정확도 타이밍(precision timing)을 통해 화면의 내용이 그려지고 있는 동안에 다른 팔레트로 바꿀 수 있었다. 이는 하나의 스캔라인마다 6개의 팔레트 가운데 하나를 사용하는 것을 허용하였다. 가장 좋은 예가 4.77 Mhz 8088에서 돌아갔을 때의 게임 [[캘리포니아 게임즈]]이다. [http://www.mobygames.com/game/shots/p,2/gameId,1823/gameShotId,7722/] {{웨이백|url=http://www.mobygames.com/game/shots/p,2/gameId,1823/gameShotId,7722/ |date=20180925025417 }} (빠른 컴퓨터에서 돌리는 것은 아무런 효과를 내지 않았는데, 팔레트 전환이 컴퓨터 속도에 매우 민감하기 때문이다.) [[프로거]]의 경우 길과 강을 만들기 위해 배경색도 이와 같이 할 수 있었다. [http://www.mobygames.com/game/pc-booter/frogger/screenshots/gameShotId,132859/] {{웨이백|url=http://www.mobygames.com/game/pc-booter/frogger/screenshots/gameShotId,132859/ |date=20161220214609 }}.
* 추가 색은 [[디더링]]을 사용하여 근접하게 표현할 수 있었다. (낮은 해상도에서는 그리 선명하지 않을 수도 있다.) 특히 게임 [[킹스 퀘스트]] (King's Quest)는 높은 인텐시티에서 팔레트 2를, 배경색으로 인텐시티 파랑을 사용했다. 이것은 기본 [[RGB]] 색을 제공하였다. (노랑을 포함하여).

위의 사항들 중 몇 가지는 한꺼번에 되는 경우도 있었다. 이러한 예들은 다음의 게임들에서 찾을 수 있다. - [http://www.mobygames.com/attribute/sheet/p,2/attributeId,5/] {{웨이백|url=http://www.mobygames.com/attribute/sheet/p,2/attributeId,5/ |date=20181001030758 }} 대부분의 소프트웨어 타이틀들은 이러한 가능성을 사용하지 않았지만 몇 가지 인상 깊은 예외도 있었다.

=== 160×100의 16색 모드 ===
기술적으로 이 모드는 그래픽 모드는 아니지만 80x25 텍스트 모드의 기능을 트윅한 것이다. 문자열 셀 높이 레지스터는 한 문자열 셀에 일반적인 8줄이 아닌 오직 2줄만 표시할 수 있었다. 텍스트 줄을 4배로 하여 25에서 100으로 표시하였다. 이렇게 억지로 잡아당긴 텍스트 문자열들은 완전한 문자열은 아니었다. 시스템은 한 줄에서 다음 줄로 이동하기 전에(화면 표시) 이러한 상위의 화소의 두 줄들만 표시했다.

{| class="wikitable" align="left"
|&nbsp;[[파일:ASCII.221.character.svg]]&nbsp;
|&nbsp;<sub>문자열 221.</sub>&nbsp;
|-
|&nbsp;[[파일:Half-block.character.blue.red.svg]]&nbsp;
|&nbsp;<sub>221 (파랑 문자열, 빨강 배경색)</sub>&nbsp;
|-
|&nbsp;[[파일:Half-block.character.red.blue.svg]]&nbsp;
|&nbsp;<sub>221 (빨강 문자열, 파랑 배경색)</sub>&nbsp;
|-
|&nbsp;[[파일:ASCII.222.character.svg]]&nbsp;
|&nbsp;<sub>문자열 222.</sub>&nbsp;
|}
확장 아스키 문자열 세트의 문자열 221은 완전한 왼쪽의, 문자열 매트릭스의 절반을 차지하는 상자 하나로 이루어져 있었다. (문자열 222는 완전한 오른쪽의, 문자열 매트릭스의 절반을 차지하는 상자 하나로 이루어져 있었다.)

각 문자열이 다른 전경과 배경 색으로 할당받을 수 있었기 때문에 (이를테면) 왼쪽 (배경색)에 파랑을 씌우고 오른쪽 (배경색)에 밝은 빨강을 씌울 수 있었다. 전경과 배경색을 바꿈으로써 반전시킬 수도 있었다.

== 규격 ==
=== 연결 단자 ===
CGA는 표준 [[DE-9 커넥터]]를 사용한다.

{| class="wikitable"
|+ '''핀 할당'''
|-
! '''핀'''
! '''기능'''
|-
|1|| 그라운드
|-
|2|| 그라운드
|-
|3|| 빨강
|-
|4|| 초록
|-
|5|| 파랑
|-
|6|| 인텐시티(Intensity)
|-
|7|| 보존(Reserved)
|-
|8|| 수평 동기
|-
|9|| 수직 동기
|-
|}

=== 신호 ===
{| class="wikitable"
|-
! 종류
|| 디지털, TTL
|-
!해상도
|| 640h &times; 200v, 320h &times; 200v
|-
! 수평 주파수
|| 15.75 kHz
|-
! 수직 주파수
|| 60 Hz
|-
! 색
|| 16
|}

== 같이 보기 ==
* [[그래픽 카드]]

== 외부 링크 ==
{{위키공용분류}}
* {{언어링크|en}} [http://www.seasip.info/VintagePC/cga.html Colour Graphics Adapter Notes]

{{컴퓨터 디스플레이 표준}}

[[분류:컴퓨터 디스플레이 표준]]