CGA

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
CGA
Логотип Викисклада Медиафайлы на Викискладе
Браузер Arachne, режим 640×200

CGA (англ. Color graphics adapter) — видеокарта, выпущенная IBM в 1981. году, и первый стандарт цветных мониторов для IBM PC.

Является первой видеокартой IBM, поддерживающей цветное изображение.[1]

Стандартная видеокарта CGA имеет 16 килобайт видеопамяти и может подключаться либо к NTSC-совместимому монитору или телевизору, либо к RGBI монитору. Основанная на видеоконтроллере Motorola MC6845, видеокарта CGA поддерживает несколько графических и текстовых видеорежимов. Максимальное поддерживаемое разрешение — 640×200, наибольшая цветовая глубина — 4 бита (16 цветов).

16-цветная палитра CGA
0 (0000) — чёрный
#000000
8 (1000) — (тёмно-) серый
#555555
1 (0001) — синий
#0000AA
9 (1001) — голубой
#5555FF
2 (0010) — зелёный
#00AA00
10 (1010) — бледно-зелёный
#55FF55
3 (0011) — сине-зелёный
#00AAAA
11 (1011) — светло-голубой
#55FFFF
4 (0100) — красный
#AA0000
12 (1100) — розовый
#FF5555
5 (0101) — пурпурный
#AA00AA
13 (1101) — сиреневый
#FF55FF
6 (0110) — коричневый
#AA5500
14 (1110) — жёлтый
#FFFF55
7 (0111) — светло-серый
#AAAAAA
15 (1111) — белый
#FFFFFF

Максимальная цветовая глубина CGA — четыре бита, что позволяет использовать палитру из 16 цветов.

Младшие три бита соответствуют красному, зелёному и синему цветам и электронным лучам монитора.

Чёрный цвет означает, что все лучи практически выключены.

Сине-зелёный цвет достигается смешением синего и зелёного лучей, пурпурный — синего и красного и оранжево-коричневый — зелёного и красного. Белый (светло-серый) достигается смешением всех трёх лучей.

Оставшиеся восемь цветов достигаются установкой четвёртого бита — бита интенсивности — что даёт более яркую версию каждого из цветов, хотя на многих мониторах тёмно-серый нельзя было отличить от чёрного. Цветовая модель CGA «RGB плюс бит интенсивности» также называется RGBI.

Исключением является цвет № 6: если строго следовать модели RGBI, цвет № 6 будет отображаться как оливковый (#AAAA00). Однако IBM решила включить дополнительную схему в цветной монитор, ослабляющую зелёный компонент цвета № 6. В результате получается коричневый цвет (#AA5500). [2]

Фиксированная четырёхцветная палитра № 1
цвет фона 5 — пурпурный
3 — сине-зелёный 7 — белый (светло-серый)
Фиксированная четырёхцветная палитра № 2
цвет фона 4 — красный
2 — зелёный 6 — коричневый (оранжевый)
Фиксированная четырёхцветная палитра № 3
цвет фона 4 — красный
3 — сине-зелёный 7 — белый (светло-серый)

Стандартные текстовые режимы

[править | править код]
  • 40×25 символов, 16 цветов. Каждый символ имеет размер 8×8 точек. Эффективное разрешение экрана — 320×200 пикселов (пропорции пиксела — 1:1,2), при этом невозможно обращение к каждому пикселу отдельно. Всего доступно 256 различных символов, начертания которых хранятся в ПЗУ видеокарты (русификация возможна только прошивкой ПЗУ). Для каждого выводимого символа возможно задать цвет самого символа и цвет фона, оба цвета выбираются из палитры (см. таблицу). Видеокарта обладает достаточным объёмом ОЗУ для хранения восьми видеостраниц.
  • 80×25 символов, 16 цветов. Используется тот же набор символов, что и для режима 40×25. Эффективное разрешение экрана — 640×200 пикселов (пропорции пиксела — 1:2,4), также невозможно обращение к отдельным пикселам. Так как на экран возможно вывести вдвое больше символов, ОЗУ видеокарты достаточно для хранения четырёх видеостраниц.

Стандартные графические режимы

[править | править код]

Режимы низкого разрешения

[править | править код]

160×100 пикселей с 16 цветами (включая чёрный и белый). Поддерживается домашними телевизорами и цветными мониторами. Обладает следующими характеристиками:

  • Каждый пиксел образован из 2*2 точек разрешения 320*200.[3]
  • Каждый цвет из 16 образован битами I,R,G,B.
  • Требует 16 000 байт видеопамяти адаптера.

160×200 пикселей с 16 цветами. Поддерживается домашними телевизорами и цветными мониторами при наличии композитного входа. Обладает следующими характеристиками:

  • Каждый пиксел образован из 2*1 точек разрешения 320*200.
  • Требует 16 000 байт видеопамяти адаптера.

Режим среднего разрешения

[править | править код]

320×200 пикселей, так же, как и у текстового режима 40×25. Несмотря на узкую палитру, CGA отличался от других видеосистем того времени тем, что возможно обращение к любому отдельно взятому пикселю, без каких-либо конфликтных зон. Одновременно можно использовать только четыре цвета, которые нельзя выбрать самостоятельно — для данного режима определены две палитры:

  • Палитра № 1: пурпурный, сине-зелёный, белый и цвет фона (по умолчанию — чёрный).
  • Палитра № 2: красный, зелёный, коричневый/жёлтый и цвет фона (по умолчанию — чёрный).

При установке бита интенсивности доступны яркие варианты палитр.

При этом при подключении CGA к NTSC-телевизору можно располагать рядом пиксели разных цветов и получать производные цвета. В первые годы игры для CGA рассчитывали именно на такое использование[4]; в последние — в основном на RGBI-монитор, ведь тогда у разработчиков были уже EGA и VGA, выхода на телевизор не имевшие.

Режим высокого разрешения

[править | править код]

640×200 пикселей, как и у текстового режима 80×25. Этот режим монохромный, доступны только белый и чёрный цвет (цвета можно изменить).

Дополнительные настройки и видеорежимы

[править | править код]
  • Фиксированная четырёхцветная палитра № 3 (см. рисунок).
  • В графическом режиме 320×200 цвет фона можно изменить с чёрного на любой из 16-цветной палитры.
  • В графическом режиме 640×200 основной цвет можно изменить с белого на любой из 16-цветной палитры.
  • В текстовом режиме можно изменить цвет бордюра (пространства вокруг основной области).
  • В графическом режиме 320×200 возможно использовать третью четырёхцветную палитру.
  • Текстовый режим 80×25 с помощью настройки видеоконтроллера можно заставить работать как 16-цветный графический режим 160×100.[5]

Некоторые из этих приёмов можно комбинировать. В большинстве программ эти возможности не применялись, однако есть примеры их использования среди компьютерных игр. [6]

Также, на компьютерах Поиск-2, Olivetti M24, IBM PCjr и графических адаптерах Plantronics Colorplus, Quadram Quadcolor был реализован Extended CGA (CGA Plus) с удвоенным (32 килобайта) объёмом памяти видеоадаптера, позволяющего отображать нестандартные видеорежимы.

Самый заметный аппаратный дефект CGA — «снег» в текстовом режиме 80×25. Видеопамять CGA не поддерживает одновременную запись и чтение. В результате если микропроцессор производит запись в видеопамять в тот момент, когда она читается видеоадаптером, то на экран выводятся случайные пикселы. Этот дефект был исправлен во многих клонах CGA[7].

Для программистов ещё одной помехой являлся чересстрочный формат видеопамяти в графических режимах[8].

Стандартные видеорежимы не полностью используют видеопамять.

Технические характеристики

[править | править код]

Вид разъёма на видеокарте - D-sub 9-pin (DE-9). [9]

5 1
9 6
Вывод Описание
1 земля
2 земля
3 красный
4 зелёный
5 синий
6 интенсивность
7 резерв
8 строчная синхронизация
9 кадровая синхронизация
Тип Цифровой, ТТЛ[10]
Разрешение 640×200, 320×200
Горизонтальная частота 15,70 кГц[11]
Вертикальная частота 60 Гц[12]
Количество цветов 16

Конкурирующие видеоадаптеры

[править | править код]
  • Для бизнес-задач и работы с текстами IBM одновременно с CGA выпустила видеоадаптер MDA, который выводил текст в режиме 80×25 с более высоким разрешением — 9×14 пикселов на символ, что давало более чёткое изображение в текстовом режиме. По этой причине, а также из-за более высокой стоимости CGA, MDA был предпочтительнее для бизнес-пользователей.
  • В 1982 году фирмой Hercules Computer Technology[англ.] был выпущен видеоадаптер Hercules Graphics Card. Адаптер поддерживал текстовый режим, совместимый с MDA, и монохромный графический режим. Разрешение графического режима составляло на 720×348 пикселей — выше, чем у CGA. Благодаря монохромной графике более высокого разрешения и возможности работы с более дешёвым монохромным монитором, Hercules Graphics Card для многих являлся привлекательным выбором[13].
  • Последователем CGA стал видеоадаптер EGA, выпущенный в 1984 году, который поддерживал бо́льшую часть видеорежимов CGA и дополнительное разрешение 640×350 пикселов, а также программно-настраиваемую палитру (16 цветов из 64 возможных) в текстовых и графических режимах. После выпуска EGA цена на CGA была снижена, и CGA позиционировался как видеоадаптер начального уровня. Это позволило CGA оставаться популярным ещё несколько лет.
  • Популярность CGA стала убывать с выпуском VGA в 1987 году.

Примечания

[править | править код]
  1. Юрий Валерианов. Графическая эволюция // Computer Bild : журнал. — 2011. — 23 мая (№ 11). — С. 38. — ISSN 2308-815X.
  2. Leonard, Jim CGA monitor calibration (англ.) (18 января 2006). Дата обращения: 8 октября 2006. Архивировано из оригинала 8 февраля 2012 года.
  3. T. Harris, J. W. Rothwell, P. T. L. Lloyd. Experiences in reusing technical reference architectures // IBM Systems Journal. — 1999. — Т. 38, вып. 1. — С. 98–117. — ISSN 0018-8670. — doi:10.1147/sj.381.0098.
  4. CGA Graphics - Not as bad as you thought! - YouTube. Дата обращения: 25 октября 2016. Архивировано 12 ноября 2016 года.
  5. Elliott, John Colour Graphics Adapter Notes (англ.) (13 ноября 2004). Дата обращения: 10 октября 2006. Архивировано из оригинала 8 февраля 2012 года.
  6. MobyGames (англ.). — список игр в категории Video Modes Supported : CGA (Tweaked). Дата обращения: 10 октября 2006. Архивировано из оригинала 8 февраля 2012 года.
  7. IBM Color Graphics Adapter (CGA) (англ.). Faqsys. Дата обращения: 8 октября 2006. Архивировано 17 мая 2002 года.
  8. Нортон П. Основы вывода изображения // Персональный компьютер фирмы IBM и операционная система MS-DOS = The Peter Norton Programmer's Guide to the IBM PC. — М.: Радио и связь, 1992. — С. 89. — ISBN 5-256-00381-X.
  9. Справочник www.5v.ru. Дата обращения: 8 октября 2006. Архивировано из оригинала 28 октября 2011 года.
  10. Kuphaldt, Tony R. Logic signal voltage levels (англ.). All About Circuits. Дата обращения: 14 октября 2006. Архивировано из оригинала 8 февраля 2012 года.
  11. Таблица программирования регистров 6845. Дата обращения: 10 сентября 2021. Архивировано 10 сентября 2021 года.
  12. Wilton, Richard. Programming the Hardware // Programmer's Guide to PC and PS/2 Video Systems. — Microsoft Press, 1987. — С. 544. — ISBN 1-55615-103-9.
  13. Wilton, Richard. IBM Video Hardware and Firmware // Programmer's Guide to PC and PS/2 Video Systems. — Microsoft Press, 1987. — С. 544. — ISBN 1-55615-103-9.