컬러 그래픽스 어댑터
컬러 그래픽스 어댑터(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 색 팔레트
편집완전한 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 그래픽 모드
편집색인 | 팔레트 #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 그래픽 모드 및 트윅
편집색인 | 3d 팔레트 |
---|---|
0 | 기본 |
1 | 3 — 하늘 |
2 | 4 — 빨강 |
3 | 7 — 흰색 (밝은 회색) |
더 나은 그래픽을 RGBI 모니터에 달성할 수 있는 수많은 공식/비공식 기능이 존재하였다.
- 320x200 그래픽 모드에서, 모드를 초기화할 때 검은색이 기본이었던 배경색은 다른 15색의 CGA 팔레트 가운데 아무 색으로든 바꿀 수 있었다. 이것은 배경색이 화면을 다시 그리지 않고도 바꿀 수 있으며 깜박임 효과 등 몇 가지 변화를 허용했다.
- 640x200 그래픽 모드에서 배경색을 보통 흰 색에서 다른 15색 가운데 하나로 바꿀 수 있었다.
- 텍스트 모드에서 테두리 색을 일반 검정에서 다른 15색 가운데 하나로 바꿀 수 있었다.
- 컬러 그래픽 모드에 있을 때 모노크롬 비트를 켬으로써 세 번째 320x200의 4색 팔레트를 사용할 수 있었다. 이것은 현재의 그래픽 팔레트를 빨강, 하늘, 흰색, 그리고 전경색으로 전환할 수 있었다.
- 정확도 타이밍(precision timing)을 통해 화면의 내용이 그려지고 있는 동안에 다른 팔레트로 바꿀 수 있었다. 이는 하나의 스캔라인마다 6개의 팔레트 가운데 하나를 사용하는 것을 허용하였다. 가장 좋은 예가 4.77 Mhz 8088에서 돌아갔을 때의 게임 캘리포니아 게임즈이다. [1] Archived 2018년 9월 25일 - 웨이백 머신 (빠른 컴퓨터에서 돌리는 것은 아무런 효과를 내지 않았는데, 팔레트 전환이 컴퓨터 속도에 매우 민감하기 때문이다.) 프로거의 경우 길과 강을 만들기 위해 배경색도 이와 같이 할 수 있었다. [2] Archived 2016년 12월 20일 - 웨이백 머신.
- 추가 색은 디더링을 사용하여 근접하게 표현할 수 있었다. (낮은 해상도에서는 그리 선명하지 않을 수도 있다.) 특히 게임 킹스 퀘스트 (King's Quest)는 높은 인텐시티에서 팔레트 2를, 배경색으로 인텐시티 파랑을 사용했다. 이것은 기본 RGB 색을 제공하였다. (노랑을 포함하여).
위의 사항들 중 몇 가지는 한꺼번에 되는 경우도 있었다. 이러한 예들은 다음의 게임들에서 찾을 수 있다. - [3] Archived 2018년 10월 1일 - 웨이백 머신 대부분의 소프트웨어 타이틀들은 이러한 가능성을 사용하지 않았지만 몇 가지 인상 깊은 예외도 있었다.
160×100의 16색 모드
편집기술적으로 이 모드는 그래픽 모드는 아니지만 80x25 텍스트 모드의 기능을 트윅한 것이다. 문자열 셀 높이 레지스터는 한 문자열 셀에 일반적인 8줄이 아닌 오직 2줄만 표시할 수 있었다. 텍스트 줄을 4배로 하여 25에서 100으로 표시하였다. 이렇게 억지로 잡아당긴 텍스트 문자열들은 완전한 문자열은 아니었다. 시스템은 한 줄에서 다음 줄로 이동하기 전에(화면 표시) 이러한 상위의 화소의 두 줄들만 표시했다.
문자열 221. | |
221 (파랑 문자열, 빨강 배경색) | |
221 (빨강 문자열, 파랑 배경색) | |
문자열 222. |
확장 아스키 문자열 세트의 문자열 221은 완전한 왼쪽의, 문자열 매트릭스의 절반을 차지하는 상자 하나로 이루어져 있었다. (문자열 222는 완전한 오른쪽의, 문자열 매트릭스의 절반을 차지하는 상자 하나로 이루어져 있었다.)
각 문자열이 다른 전경과 배경 색으로 할당받을 수 있었기 때문에 (이를테면) 왼쪽 (배경색)에 파랑을 씌우고 오른쪽 (배경색)에 밝은 빨강을 씌울 수 있었다. 전경과 배경색을 바꿈으로써 반전시킬 수도 있었다.
규격
편집연결 단자
편집CGA는 표준 DE-9 커넥터를 사용한다.
핀 | 기능 |
---|---|
1 | 그라운드 |
2 | 그라운드 |
3 | 빨강 |
4 | 초록 |
5 | 파랑 |
6 | 인텐시티(Intensity) |
7 | 보존(Reserved) |
8 | 수평 동기 |
9 | 수직 동기 |
신호
편집종류 | 디지털, TTL |
---|---|
해상도 | 640h × 200v, 320h × 200v |
수평 주파수 | 15.75 kHz |
수직 주파수 | 60 Hz |
색 | 16 |