CGA (CGA)
CGA | |
---|---|
![]() | |
![]() |
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/83/Arachne_CGA_stretched.png/320px-Arachne_CGA_stretched.png)
CGA (англ. Color graphics adapter) — видеокарта, выпущенная IBM в 1981. году, и первый стандарт цветных мониторов для IBM PC.
Является первой видеокартой IBM, поддерживающей цветное изображение.[1]
Стандартная видеокарта CGA имеет 16 килобайт видеопамяти и может подключаться либо к NTSC-совместимому монитору или телевизору, либо к RGBI монитору. Основанная на видеоконтроллере Motorola MC6845, видеокарта CGA поддерживает несколько графических и текстовых видеорежимов. Максимальное поддерживаемое разрешение — 640×200, наибольшая цветовая глубина — 4 бита (16 цветов).
Палитра CGA
[править | править код]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 году.
Примечания
[править | править код]- ↑ Юрий Валерианов. Графическая эволюцияComputer Bild : журнал. — 2011. — 23 мая (№ 11). — С. 38. — ISSN 2308-815X. //
- ↑ Leonard, Jim CGA monitor calibration (англ.) (18 января 2006). Дата обращения: 8 октября 2006. Архивировано из оригинала 8 февраля 2012 года.
- ↑ 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.
- ↑ CGA Graphics - Not as bad as you thought! - YouTube . Дата обращения: 25 октября 2016. Архивировано 12 ноября 2016 года.
- ↑ Elliott, John Colour Graphics Adapter Notes (англ.) (13 ноября 2004). Дата обращения: 10 октября 2006. Архивировано из оригинала 8 февраля 2012 года.
- ↑ MobyGames (англ.). — список игр в категории Video Modes Supported : CGA (Tweaked). Дата обращения: 10 октября 2006. Архивировано из оригинала 8 февраля 2012 года.
- ↑ IBM Color Graphics Adapter (CGA) (англ.). Faqsys. Дата обращения: 8 октября 2006. Архивировано 17 мая 2002 года.
- ↑ Нортон П. Основы вывода изображения // Персональный компьютер фирмы IBM и операционная система MS-DOS = The Peter Norton Programmer's Guide to the IBM PC. — М.: Радио и связь, 1992. — С. 89. — ISBN 5-256-00381-X.
- ↑ Справочник www.5v.ru . Дата обращения: 8 октября 2006. Архивировано из оригинала 28 октября 2011 года.
- ↑ Kuphaldt, Tony R. Logic signal voltage levels (англ.). All About Circuits. Дата обращения: 14 октября 2006. Архивировано из оригинала 8 февраля 2012 года.
- ↑ Таблица программирования регистров 6845 . Дата обращения: 10 сентября 2021. Архивировано 10 сентября 2021 года.
- ↑ Wilton, Richard. Programming the Hardware // Programmer's Guide to PC and PS/2 Video Systems. — Microsoft Press, 1987. — С. 544. — ISBN 1-55615-103-9.
- ↑ 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.
Ссылки
[править | править код]- Игры с CGA-графикой (англ.)
- Более полный список игр на сайте MobyGames (англ.)