최근 수정 시각 : 2023-11-01 01:44:33

CGA


파일:나무위키+유도.png  
은(는) 여기로 연결됩니다.
동일 약자의 League of Legends Japan League 참가팀에 대한 내용은 Crest Gaming Act 문서
번 문단을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
, 에 대한 내용은 문서
번 문단을
번 문단을
부분을
부분을
참고하십시오.
IBM PC 그래픽 카드
MDA CGA EGA VGA XGA

[[파일:CGA.jpg
width=500]]|1981년부터 판매되기 시작한 IBM CGA 카드.
파일:external/upload.wikimedia.org/Screen_color_test_CGA_4colors_Mode4_Palette1_HighIntensity.png
CGA의 그래픽 모드에서 볼 수 있는 기본 4가지 색상.

Color Graphics Adapter

1. 개요2. 상세
2.1. 문자 모드2.2. 그래픽 모드
2.2.1. 컴포지트 아티팩트 컬러
3. 개량 버전

1. 개요

1981년에 IBM이 개발한 그래픽 카드. MDA와 함께 최초의 IBM PC인 Model 5150에 탑재하기 위해 개발된 제품이다. 말하자면 최초의 그래픽 카드이기도 하다.[1] 당시에 IBM PC는 구입 시 MDA와 CGA 중에서 기본 옵션으로 선택이 가능했고 이 사양은 IBM PC AT까지 이어졌다.

IBM PC의 선택 그래픽 카드였기 때문에 북미와 서유럽 쪽에서는 상당 기간 동안 사용되었으나 대한민국을 포함한 홍콩, 대만 등의 2바이트 문자권(DBCS, Double Byte code Set) 국가들은 문자를 표현하기에 저해상도라는 점 때문에 보급이 저조했다. 오히려 단색이지만 고해상도라는 이유로 서드 파티 제품인 허큘리스 그래픽 카드의 보급이 압도적이었다. 실제로 문자 모드에서 CGA의 글꼴은 2바이트 문자권 국가들은 물론이고 북미와 서유럽에서까지 악명이 높았다.

파일:external/1.bp.blogspot.com/cga.png
과연 악명이 높을 만하다.(...)

그러나 허큘리스 그래픽 카드는 IBM PC 표준 장치가 아니었기 때문에 바이오스 인터럽트 호출 지원을 받지 못했고 북미와 서유럽 국가들에서는 CGA가 널리 쓰였기 때문에 게임은 CGA를 지원하는 것이 많았다. 이 때문에 한국에서는 허큘리스 그래픽 카드에서 CGA를 에뮬레이션해 주는 SIMCGA같은 프로그램이 널리 쓰였다. 다만 교육용 PC 사업 이후에 대량으로 보급된 한국 대기업 컴퓨터들 중에는 허큘리스와 CGA를 동시에 지원하고 추가로 한글 표시를 위해 해상도를 늘려 CGA의 표준 단색 모드인 640×200을 640×400까지 표시할 수 있는 확장 CGA 카드(일명 MCGA. IBM PS/2에 내장되었던 MCGA와는 관련이 없다)를 탑재한 컴퓨터도 있어 아주 사용되지 않았던 것은 아니다.[2] 물론 당시 위의 이유들로 인해 CGA에 컬러 모니터를 이용하는 경우는 별로 없었기 때문에 CGA의 컬러를 직접 체감한 사람은 매우 적을 것이다. 81년부터 출시된 CGA는 80년대 후반까지도 대부분 국내에선 PC관련 잡지에서나 볼 수 있는 전설속 그래픽 카드였다.

4색 밖에 안되는 색상 표현 수준 때문에 북미와 서유럽에서도 경쟁 컴퓨터들과 비교해 비판하는 원인이 되기도 했다.

연결 단자로 RGBI를 사용한다.

2. 상세

CRT 컨트롤러로 모토로라 6845를 채용했다. 이 칩은 당시 대단히 광범위하게 쓰였던 칩으로 Amstrad CPC나 BBC 마이크로 등 당대의 경쟁 기종도 이 칩을 채용했고 애플 II의 80자 확장 보드인 바이덱스 카드에도 이 칩이 들어간다. 또한 이후 IBM PC와 그 호환 기종의 MDA 허큘리스 그래픽 카드도 동일한 칩을 사용하고 있다. 상세한 그래픽 성능의 차이는 CRT 컨트롤러 이외의 다른 설계에서 오는 것이다.[3] 또한 IBM 5153 모니터와 연결할 수 있는 4비트 디지털 RGB 단자 외에 TV와 연결이 가능한 컴포지트 단자를 가지고 있었다. 당시에는 컬러 모니터의 가격이 매우 비쌌기 때문에 게임기처럼 컬러 TV와 연결할 수 있도록 TV 출력을 지원하는 컴퓨터가 매우 많았다. 일례로 애플 II, 코모도어 64, MSX 등에도 모두 RF 동축 케이블이나 컴포지트 출력 단자가 달려 있었다.

CGA에서 출력 가능한 화면 모드는 다음과 같다.
  • 그래픽 모드
    • 320×200(픽셀 가로세로비 1:1.2) / 16색 중 동시 4색 발색[4]
    • 640×200(픽셀 가로세로비 1:2.4) / 단색
    • 160×100(픽셀 가로세로비 1:1.2) / 16색
  • 문자 모드
    • 40자×25행 모드 / 16색, 8×8 픽셀 글꼴 사용(실효 해상도 320×200)
    • 80자×25행 모드 / 16색, 8×8 픽셀 글꼴 사용(실효 해상도 640×200)
  • 주사율: 수평(15.75kHz), 수직(60Hz)

2.1. 문자 모드

문자 모드에서는 16색을 지원한다. 우선 검은색과 흰색 2종류에 채도가 있는 6종류의 색을 추가하고 앞의 색들을 명도를 높여 8색을 더 만들었다. 아래와 같다.
번호 0 1 2 3 4 5 6 7
색상 <rowcolor=white> 검은색 파란색 초록색 청록색 빨간색 보라색 황갈색[5] 흰색[6]
번호 8 9 10 11 12 13 14 15
색상 <rowcolor=white> 회색[7] 밝은 파랑 연두색 하늘색 밝은 빨강 밝은 자홍 노랑 밝은 흰색

이 16색은 EGA VGA의 문자 모드에서도 기본 색상으로 지정되어 있으며 참고로 저 16색은 현재의 Windows 10까지 명령 프롬프트의 기본 제공 색상이기도 하다.

2.2. 그래픽 모드

IBM PC와 그 호환기종에서 최초로 컬러를 지원한 그래픽 카드라는 의의가 있지만 그래픽 모드에서 4색만 표시 가능했다는 치명적인 단점을 가지고 있었다. CGA는 320×200 해상도의 그래픽 모드에서 진일보한 비트맵 그래픽으로 화면을 표시했으나, 당시 메모리 가격이 매우 비싸 비디오 메모리가 16KB뿐이었던 것이 이유였다. 비슷한 시기의 경쟁 컴퓨터들이었던 애플 II 플러스의 기본 모델에 탑재한 주메모리 용량이 16KB(최대 64KB 확장 가능), 코모도어 64도 64KB임을 생각해 보면 이해가 될 것이다.

그래서 컬러 그래픽 이용 시 빛의 삼원색과 흰색 모두를 동시에 표현이 불가능했고, 이는 치명적이었다. 바탕에 들어갈 검은색이 반드시 들어가야 하고 흰색까지 사용하게 되면 사용 가능한 색은 고작 2색. 3색을 쓰려면 흰색은 포기해야했다. '적어도 흑백과 빛의 3원색은 동시에 표현할 수 있어야 하지 않냐'는 불평은 당시에도 있었던 모양이다. 덕분에 CGA 화면을 보면 3원색 계통 중 1색은 꼭 빠지게 되거나 흰색이 없어서 허전한 느낌이 든다.

이곳에서 CGA 게임들의 스크린샷을 볼 수 있다. 확실히
단색
은 아니지만 그렇다고 해서 '컬러 디스플레이'라고 하기엔 색상이 너무나 제한적이다.

다만 해상도는 당대의 경쟁 컴퓨터들에 비해 낮지 않았다. 예를 들어 애플 II의 경우 280×192/6색, 코모도어 64는 320×200/16색 표현이 가능했다는 점을 생각해보면 해상도는 그럭저럭 괜찮은 편이다. 게다가 당대의 컴퓨터들은 적은 비디오 메모리로 화면을 표시하기 위해 이런저런 기법을 사용하다보니(후술하는 준그래픽 모드나 PCG 같은 것도 그런 기법의 일종이다) 원하는 위치에 원하는 색상을 바로 찍어넣을 수 있지 않고 이런저런 제약이 붙어있는 경우가 많았다. CGA는 비트맵 그래픽을 사용하므로 그런 제약 없이 4색 범주 안이라면 어느 위치에 어느 색을 넣어도 관계가 없다는 장점이 있었다. 다만 16KB라는 비디오 메모리가 너무 적었던 것이 문제. 그 2배인 32KB, 아니 1.5배인 24KB만 탑재하고 있었더라도 픽셀 당 2비트에서 3비트를 쓸 수 있으니 320×200/8색 정도는 표현할 수 있었을 것이고 그 정도만 되어도 어느 정도의 표현력은 확보할 수 있었을 것이다. 당시의 메모리 가격을 생각하면 어쩔 수 없는 결정이었겠지만 아쉬운 부분.

해상도를 심각하게 포기한 160×100 모드에서는 16색을 모두 표현할 수 있다. 하지만, 이것은 진짜 그래픽 모드가 아니라 준그래픽(Semigraphics) 모드라고 하는데, 문자 정보가 저장되어 있는 롬에 색상 정보를 넣어 문자를 표현하는 방법을 약간 비틀어 그래픽처럼 표현한 것이다. 당시엔 별다르게 특이한 기능은 아니었고 당장 MSX1이나 샤프 X1 등에서 그래픽을 표시하기 위해 사용했던 PCG(Programmable Character Generator)가 이것과 유사한 방식이다. 상세한 내용은 스프라이트(컴퓨터 그래픽) 문서의 PCG(Programmable Character Generator) 문단을 참조.

파일:external/upload.wikimedia.org/Paku-paku5-dos.png
대략 이런 식이다. 해상도가 너무 낮다보니 일부 게임에서 사용한 것 외에는 활용사례가 많지 않다.

640×200 단색 모드는 삼국지(1985) PC판이나 초창기 아래아 한글(1.x 버전) 등에서도 지원한 적이 있는데 이 경우 도트 하나가 세로로 길쭉해진다. 픽셀 가로세로비가 무려 1:2.4에 이르기 때문. 픽셀 가로세로비가 1:1인 요즘에는 상상하기 힘들지만 예전 컴퓨터에서는 저런 화면 모드가 흔했다. 애플 II나 MSX2의 고해상도 모드도 대부분 세로 방향으로는 해상도가 그대로다. 세로 400라인이 넘어가는 고해상도 화면은 TV나 그 비슷한 설계로 만든 모니터로 출력하면 인터레이스 모드로 표현해야 하기 때문에 화면이 깜빡이는 플리커 현상이 있기 때문인 것도 있지만, 당시 떨어지는 하드웨어 성능이 좀 더 큰 이유였다.

때문에 'IBM PC 최초의 컬러 그래픽 카드' 라는 타이틀은 가지고 있지만 당대부터 평판은 그다지 좋지 않았다. 1984년에 EGA, 1987년에 VGA가 나오면서 좀 더 나은 색상을 원하는 사용자들은 EGA, VGA로 옮겨 타기 시작했고 1990년대 부터 ATI, S3 Graphics, Tseng Labs 같은 기업들에서 표준 VGA와 호환성을 가지면서 더 많은 색상과 고해상도(SVGA), 윈도우 GUI 가속 기능들을 추가로 넣은 그래픽 칩셋들이 우후죽순 나와 빠르게 보급되면서 많은 소프트웨어들이 CGA 지원을 중단하며 결국 90년대 초중반 무렵 즈음에는 완전히 수명을 다했다. 그래도 IBM PC의 '기본' 컬러 그래픽 장치였던 관계로 오랜 기간동안 기본으로 지원되는 그래픽 카드였다.

다만 하드웨어 자체는 더이상 쓰이지 않을지언정, CGA의 '색감'은 1980년대를 상징해서 그런지 신스웨이브 등의 장르에 사용되기도 한다. 구글링을 해보면 그러한 이미지를 제법 찾을 수 있다. 은근히 CGA의 4색 배색을 좋아하는 디자이너들이 있는 편.

2.2.1. 컴포지트 아티팩트 컬러

CGA는 당대의 컴퓨터들과 마찬가지로 컴포지트 단자를 통해 이를 지원하는 텔레비전에 출력이 가능하였으나, 컴포지트 단자 신호의 한계로 색 번짐이 심하고 영상 출력 품질이 그리 좋지 않았다. 하지만 개발자들은 이 점을 역이용하여 16색을 표현하는 꼼수를 사용했는데 이를 '컴포지트 아티팩트 컬러'라고 한다. 이 역시 애플 II나 Tandy TRS-80 같은 당대의 경쟁 기종들도 사용한 테크닉이다. 예시 일부 게임은 CGA로 TV에서 보면 CGA의 한계를 초월한 화면이 나온다. 이를 CGA 컴포지트 모드라고 부르는데, 일반 모니터에서 보면 뭐가 뭔지 거의 알아볼 수 없지만 DOSBox에 이 화면을 에뮬레이션 하는 기능이 있다.

다만 이 기능을 쓰려면 위에 나와있듯 비디오 출력 단자를 컴포지트 단자로 연결해야만 한다. 그러나 후대에 나온 그래픽 카드들은 컴포지트 출력이 제거 되었으며, EGA, VGA 시대가 된 1990년 대에는 CGA는 거의 구색 맞추기로만 지원했기 때문에 컴포지트용 색상 설정을 일부러 해 줄 이유도 없었고, 결국은 평범하게 흔히 아는 검정-청록색-보라색-회색[8] 혹은 검정-초록색-빨간색-황갈색[9] 4색의 CGA만을 이용하게 되었다.


8088 MPH. CGA라고 믿기지 않을 만큼 엄청난 그래픽을 보여준다. 소리도 PC 스피커에서 화음을 구현하는 등 클래식 PC의 성능을 끝까지 쥐어짜내서 만들었다고 할만하다. 컴포지트가 아닌 RGB 출력을 에뮬레이션하는 DOSBox에서 실행할 경우 이렇게 되며, 가상 머신이 아닌 하드웨어 조건이 맞는 실기에서 실행할 경우 실행 전 개발자의 감사 메시지가 출력된다. 동영상은 최종 버전으로, CGA의 초기 생산 분과 후기 생산 분의 컴포지트 출력이 다르다는 차이점마저 이용했다.


8088 Domination. 8088 Corruption 데모의 후속작으로, 8088 MPH와는 다르게 음향은 사운드 블라스터[10]를 사용했다. 그래픽 모드로 16컬러 동영상 구현이 불가능하다는 원작자 본인의 분석을 최적화를 통해 깨뜨리고 16컬러 가변 FPS 동영상을 출력했다. 깨알같은 릭롤링 이후 파트 2에서 해상도가 640x200으로 늘어나며 Bad Apple!!이 30 FPS로 출력된다.


Area 5150. 8088 Domination의 후속작으로 Evoke 2022에 출품하여 데모 부문 1등상을 탄 작품이다. 마찬가지로 그래픽 모드에서 텍스트와 16색을 동시에 표시하여 규정된 스펙을 초월했다.

3. 개량 버전

파일:external/www.oldskool.org/kq1_2_16.gif

IBM PCjr에서는 'VGA'(Video Gate Array)[11]라는 이름으로 CGA의 기능을 확장한 회로를 메인보드에 내장하고 있었다. CGA에선 160×100에서만 가능했던 16색 동시 발색 기능이 320×200에서도 사용할 수 있게 되어 IBM PCjr는 동시대 대부분 경쟁 8비트 가정용 컴퓨터들과 동급의 그래픽 성능을 확보할 수 있었다. 그러나 PCjr의 설계상 지금의 내장 그래픽처럼 메인 메모리의 일부를 비디오 메모리로 전용하는 구조로 되어 있어서 128KB로 메모리 모델을 구매해야 확장된 16색 그래픽을 이용할 수 있었고 기본 세팅인 64KB에서는 그냥 CGA랑 똑같이 동작했다.[12] 1987년, IBM PS/2에 내장되어 나온(그리고 오늘날까지 표준 디스플레이 규격으로 남은) VGA(Video Graphics Array)와 혼동을 막기 위해 'CGA Plus' 또는 그 호환 제품 이름인 'Tandy Graphics Adapter'로 부른다. IBM PCjr이 망하는 바람에 후배에게 이름마저 빼앗긴 불운한 제품이었다. 아니면 처음부터 이렇게 나왔더라면 CGA의 악명은 없었을지도 모를 일이다.

이 VGA(CGA Plus)는 우리가 알고 있는 그 VGA와 달리 그 회로를 채용했던 IBM PCjr의 상업적인 실패 때문에 확장 카드 형태로 나오지도 못했고, 훨씬 성능이 뛰어난 EGA도 거의 동시기에 나왔기 때문에 그다지 알려지지 않았다. 후대의 VGA도 선대의 VGA(CGA plus)처럼 원래는 그래픽 카드 형태가 아니라 PS/2의 메인보드에 내장된 회로였기 때문에 'Adaptor'가 아닌 'Array'라는 표현을 썼지만, 이쪽은 큰 인기로 리버스 엔지니어링을 통해 호환 카드가 나왔을 뿐만 아니라 VGA라는 단어가 곧 ' 그래픽 카드'와 동의어로 사용되게 된 것을 생각하면 같은 약어를 쓰면서도 매우 대조적인 결과였다고 할 수 있다. 그럼에도 불구하고 이 CGA plus는 아주 버려지지는 않았는데, 탠디 코퍼레이션에서 만든 PCjr 호환 기종인 Tandy 1000이 상당히 팔렸기 때문에 1980년대에 나온 게임들은 꽤 많이 지원했다. 'Tandy' 혹은 'Tandy Graphics Adapter' 등의 이름이 지원 목록에 있다면 이 VGA(CGA plus)를 지원하는 게임이라고 보면 된다.

[1] 그러나 발매 극초창기에는 CGA용 모니터가 판매되지 않았기 때문에 CGA를 쓰더라도 TV를 쓰지 않는 한 모노크롬 모니터로 화면을 봐야 하는 굴욕을 겪었다. [2] 한국에서는 1990년대 초까지 허큘리스가 주류였고 이러한 제품이 일부 쓰이다 바로 VGA 개선판(일명 SVGA) 호환 카드로 옮겨갔다. CGA, EGA는 가격과 해상도 문제로 허큘리스 그래픽 카드에 밀렸고, VGA, XGA는 가격과 함께 한국 컴퓨터 대중화 시기가 서드 파티 SVGA 카드의 상용화 시기와 겹쳐 널리 사용되지 못했다. [3] IBM PC는 짧은 기간 내에 서둘러 만들어져야 했기 때문에 6845에 독자 설계의 칩을 혼합하지 못하고 다량의 범용 논리 IC를 넣어서 카드가 매우 커졌다. 이 때문에 많은 서드파티 제조사에서 매우 쉽게 CGA 호환 카드를 만들어냈다. 똑같이 6845 칩을 쓰되 커스텀 칩을 사용한 다른 경쟁 컴퓨터들과 대조되는 부분이다. [4] 3가지 팔레트를 기본으로 하고 각 팔레트에 대해 low intensity 와 high intensity 로 나뉘어서(명도 차이) 실제로는 총 6가지 팔레트를 가진다. [5] 의외로 이 색이 아니라 이 색이다. [6] 여기서 말하는 흰색은 은회색(밝은 회색)이며, 그 흰색에서 명도를 높인 '밝은 흰색'이 진짜 흰색이다. [7] 검은색과 (어두운) 흰색의 중간색으로, 간단히 말해서 암회색. [8] 밝아질 경우 검정-하늘색-자주색-흰색 [9] 밝아질 경우 검정-연두색-밝은빨강-노란색 [10] 초기 사운드 카드 중 하나 [11] 우리가 보통 VGA라고 부르는 것과는 다른 것이다. 약자는 Video Graphics Array로 서로 다르다. [12] 320×200 해상도에서 16색을 표현하려면 적어도 32KB의 메모리를 비디오 메모리로 할당해야 한다. 64KB 메인 메모리를 쓰는 경우에는 메모리의 반을 비디오 메모리로 써야하는 셈.