Цветной графический адаптер
Дата выпуска | 1981 год |
---|---|
Архитектура | Моторола 6845 и CW16800 |
Карты | |
Начальный уровень | Цветной графический адаптер IBM, графическое решение ATi, версия 3, карта эмуляции цвета ATi, Tseng Labs ColorPAK, |
Средний уровень | ATi Graphics Solution plus, ATi Graphics Solution Plus SP, ATi Graphics Solution SR, Графическая система номер девять |
Высококачественный | Графическое решение ATi Small Wonder, Tseng Labs EVA/480 |
Энтузиаст | Графическое решение ATi Small Wonder с игровым портом |
История | |
Преемник |
Адаптер цветной графики ( CGA ), первоначально также называвшийся адаптером цвета/графики или адаптером цветного/графического монитора IBM , [ 1 ] Представленная в 1981 году, она была IBM первой цветной видеокартой для IBM PC и установила фактический стандарт компьютерного дисплея .
Аппаратное обеспечение
[ редактировать ]Оригинальная видеокарта IBM CGA была построена на базе контроллера дисплея Motorola 6845 . [ 2 ] имел 16 килобайт и режимов встроенной видеопамяти и имел несколько графических текстовых . Максимальное разрешение дисплея в любом режиме составляло 640×200, а максимальная поддерживаемая глубина цвета — 4 бита (16 цветов).
Карту CGA можно было подключить либо к ЭЛТ- монитору с прямым приводом с использованием 4-битного цифрового ( TTL ) интерфейса RGBI , например, к цветному дисплею IBM 5153 , либо к NTSC -совместимому телевизору или композитному видеомонитору через разъем RCA . [ 3 ] Разъем RCA обеспечивал только видео в основной полосе частот, поэтому для подключения карты CGA к телевизору без композитного видеовхода требовался отдельный радиочастотный модулятор . [ 1 ]
IBM выпустила цветной дисплей персонального компьютера 5153 для использования с CGA, но на момент выпуска он не был доступен. [ 4 ] и не будет выпущен до марта 1983 года. [ 5 ]
Хотя собственный цветной дисплей IBM не был доступен, клиенты могли использовать либо композитный выход (с радиочастотным модулятором, если необходимо), либо выход с прямым приводом с доступными мониторами сторонних производителей, которые поддерживали формат RGBI и скорость сканирования. На некоторых дисплеях сторонних производителей отсутствовал ввод интенсивности, в результате чего количество доступных цветов уменьшалось до восьми. [ 4 ] и многим также не хватало уникальной схемы IBM, которая отображала темно-желтый цвет как коричневый, поэтому любое программное обеспечение, использующее коричневый цвет, отображалось неправильно.
Возможности вывода
[ редактировать ]CGA предлагал несколько видеорежимов. [ 6 ] [ 7 ]
Графические режимы:
- 160 × 100 в 16 цветах, выбранных из 16-цветной палитры, с использованием определенной конфигурации текста 80 × 25.
- При этом использовалось 4 бита на пиксель с общим использованием памяти (160 * 100 * 4) / 8 = 8 килобайт.
- 320 × 200 в 4 цветах, выбранных из 3 фиксированных палитр, с вариантами высокой и низкой интенсивности, причем цвет 1 выбирается из 16-цветной палитры.
- При этом использовалось 2 бита на пиксель с общим использованием памяти (320 * 200 * 2) / 8 = 16 килобайт.
- 640×200 в 2-х цветах, один черный, другой выбран из 16-цветной палитры.
- При этом использовался 1 бит на пиксель, а общее использование памяти составляло (640 * 200) / 8 = 16 килобайт.
Некоторое программное обеспечение достигло большей глубины цвета за счет использования артефактов цвета при подключении к композитному монитору.
Текстовые режимы:
- 40 × 25 со шрифтом 8 × 8 пикселей (эффективное разрешение 320 × 200)
- 80 × 25 со шрифтом 8 × 8 пикселей (эффективное разрешение 640 × 200)
IBM намеревалась сделать CGA совместимым с домашним телевизором. Текстовый режим 40×25 и графический режим 320×200 можно использовать с телевизором, а текстовый режим 80×25 и графический режим 640×200 предназначены для монитора. [ 2 ]
-
320 × 200 в 4-х цветовой палитре 0
-
320 × 200 в палитре из 4 цветов 0, низкая интенсивность
-
320×200 в палитре 4 цветов 1
-
320 × 200 в палитре 4 цветов 1 низкая интенсивность
-
320×200 в палитре 4 цвета 3
-
320 × 200 в 4-х цветовой палитре 3 низкой интенсивности
-
640×200 в 2 цветах
-
160×100 в 16 цветах
-
Цвета составных артефактов (от 640 × 200 монохромных)
-
Цвета составных артефактов (из палитры 320×200 1)
-
Цвета составных артефактов (из палитры 320×200 0)
-
Пример типичной CGA-графики 320 × 200 в « Alley Cat », ранней игре для MS-DOS.
-
PCPaint в 3-й палитре 320 × 200 низкой интенсивности, демонстрирующей типичный интерфейс низкого разрешения. Обратите внимание на использование сглаживания для преодоления ограничений палитры CGA.
-
SimCity в монохромном разрешении 640×200. Обратите внимание на использование сглаживания для имитации серых тонов и неквадратного соотношения пикселей, которое деформирует шрифты.
-
ПакуПаку в 16-цветном режиме 160 × 100
-
Fractint визуализировал набор Мандельброта с использованием палитры 320 × 200 1.
Цветовая палитра
[ редактировать ]CGA использует 4-битную 16-цветную гамму RGBI , но не все цвета доступны постоянно, в зависимости от того, какой графический режим используется. В режимах среднего и высокого разрешения цвета сохраняются с меньшей битовой глубиной и выбираются по фиксированным индексам палитры, а не прямым выбором из полной 16-цветной палитры.
Когда используются четыре бита (для режима низкого разрешения или для программирования регистров цвета), они располагаются в соответствии с цветовой моделью RGBI : [ 8 ]
- Три младших бита представляют компоненты красного, зеленого и синего цвета.
- Четвертый бит «интенсификатор», если он установлен, увеличивает яркость всех трех цветовых компонентов (красного, зеленого и синего). [ 9 ]
Цвет | я | Р | Г | Б | Цвет | я | Р | Г | Б |
---|---|---|---|---|---|---|---|---|---|
Черный | 0 | 0 | 0 | 0 | Серый 2 | 1 | 0 | 0 | 0 |
Синий | 0 | 0 | 0 | 1 | Светло-голубой | 1 | 0 | 0 | 1 |
Зеленый | 0 | 0 | 1 | 0 | Светло-зеленый | 1 | 0 | 1 | 0 |
Голубой | 0 | 0 | 1 | 1 | Светло-голубой | 1 | 0 | 1 | 1 |
Красный | 0 | 1 | 0 | 0 | Светло-красный | 1 | 1 | 0 | 0 |
Пурпурный | 0 | 1 | 0 | 1 | Светло-пурпурный | 1 | 1 | 0 | 1 |
Коричневый | 0 | 1 | 1 | 0 | Светло-желтый | 1 | 1 | 1 | 0 |
Серый 1 | 0 | 1 | 1 | 1 | Белый | 1 | 1 | 1 | 1 |
Эти четыре цветовых бита затем интерпретируются монитором внутри или преобразуются в цвета NTSC (см. ниже).
С монитором RGBI
[ редактировать ]При использовании монитора с прямым приводом четыре цветовых бита выводятся непосредственно на разъем DE-9 на задней стороне карты.
На мониторе четыре сигнала интерпретируются для приведения в действие красных, зеленых и синих пушек. Что касается цветовой модели RGBI, описанной выше, монитор преобразует цифровой четырехбитный номер цвета примерно в семь различных аналоговых напряжений в диапазоне от 0,0 до 1,0 для каждого пистолета. [ 10 ]
темно-желтый | |
---|---|
6 | #AAAA00 |
Цвет 6 обрабатывается особым образом; обычно цвет 6 становится темно-желтым , как показано слева, но для достижения более приятного коричневого тона в большинстве мониторов RGBI, начиная с цветного дисплея IBM 5153, используются специальные схемы. [ 11 ] делает исключение для цвета 6 и меняет его оттенок с темно-желтого на коричневый за счет уменьшения амплитуды аналогового зеленого сигнала. Точная величина снижения различалась в зависимости от модели монитора: оригинальный цветной дисплей персонального компьютера IBM 5153 уменьшает амплитуду зеленого сигнала примерно на треть, [ 12 ] в то время как расширенный цветной дисплей IBM 5154 преобразует все 4-битные цветовые числа RGBI в 6-битные цветовые числа ECD, [ 8 ] что равнозначно уменьшению вдвое амплитуды зеленого сигнала. Тэнди СМ-2, [ 13 ] СМ-4 [ 14 ] и СМ-11 [ 15 ] мониторы оснащены потенциометром с надписью «BROWN ADJ». для регулировки степени уменьшения зеленого сигнала.
Эта палитра «RGBI с измененным коричневым» была сохранена в качестве палитры по умолчанию для более поздних графических стандартов ПК, таких как EGA и VGA , которые могут выбирать цвета из гораздо более широких гамм, но по умолчанию используют их до перепрограммирования.
Более поздние видеокарты/мониторы в режимах эмуляции CGA будут аппроксимировать цвета по следующей формуле:
red := 2/3×(colorNumber & 4)/4 + 1/3×(colorNumber & 8)/8 green := 2/3×(colorNumber & 2)/2 + 1/3×(colorNumber & 8)/8 blue := 2/3×(colorNumber & 1)/1 + 1/3×(colorNumber & 8)/8 if (color == 6) green := green * 2/3
что дает каноническую палитру CGA: [ 10 ]
Полная 16-цветная палитра CGA. | |||
---|---|---|---|
0 | черный #000000 |
8 | темно-серый #555555 |
1 | синий #0000АА |
9 | светло-голубой #5555FF |
2 | зеленый #00AA00 |
10 | светло-зеленый #55FF55 |
3 | голубой #00АААА |
11 | светло-голубой #55FFFF |
4 | красный #AA0000 |
12 | светло-красный #FF5555 |
5 | пурпурный #AA00AA |
13 | светло-пурпурный #FF55FF |
6 | коричневый #AA5500 |
14 | желтый #FFFF55 |
7 | светло-серый #АААААА |
15 | белый #FFFFFF |
Примечание. Показанные шестнадцатеричные значения цвета представляют собой 8-битный RGB. | |||
эквиваленты, внутри CGA — 4-битный RGBI |
С композитным цветным монитором/телевизором
[ редактировать ]Для композитного выхода эти четырехбитные цветовые номера кодируются встроенным оборудованием CGA в NTSC-совместимый сигнал, подаваемый на выходной разъем RCA карты. Из соображений экономии это делается не с помощью преобразователя RGB в YIQ , как того требует стандарт NTSC, а с помощью ряда триггеров и линий задержки. [ 16 ] [ 17 ]
Следовательно, видимым оттенкам недостает чистоты; в частности, и голубой, и желтый имеют зеленоватый оттенок, а цвет 6 снова выглядит темно-желтым, а не коричневым. [ 18 ]
Относительная яркость цветов, создаваемых составной схемой генерации цветов, различается в разных версиях CGA: они идентичны для цветов 1–6 и 9–14 с ранними CGA, выпущенными до 1983 года. [ 19 ] и отличаются для более поздних CGA из-за добавления дополнительных резисторов. [ 20 ]
Стандартные текстовые режимы
[ редактировать ]CGA предлагает четыре текстовых режима BIOS ( режимы от 0 до 3 , называемые буквенно-цифровыми режимами или режимами A/N в документации IBM). В этих режимах к отдельным пикселям экрана нельзя обращаться напрямую. Вместо этого экран разделен на сетку ячеек символов, каждая из которых отображает символ, определенный в одном из двух растровых шрифтов, «нормального» и «тонкого», включенных в ПЗУ карты. Шрифты фиксированы и не могут быть изменены или выбраны из программного обеспечения, только с помощью перемычки на самой плате.
Шрифты хранятся в виде растровых изображений с глубиной цвета 1 бит, где «1» представляет символ, а «0» представляет фон. Эти цвета можно выбирать независимо для каждого персонажа на экране из полной 16-цветной палитры CGA. Набор символов определяется аппаратной кодовой страницей 437 .
Данные растрового изображения шрифта доступны только самой карте, они не могут быть прочитаны процессором. В графических режимах вывод текста BIOS осуществляется путем побитового копирования текста из ПЗУ шрифтов в видеопамять.
Режим 40 × 25
[ редактировать ]Режимы BIOS 0 и 1 представляют собой текстовые режимы с 40 столбцами и 25 строками, где каждый символ представляет собой шаблон из 8 × 8 точек. Эффективное разрешение экрана в этом режиме составляет 320 × 200 пикселей ( соотношение сторон 1:1,2). Карта имеет достаточно видеопамяти для восьми различных текстовых страниц в этом режиме.
Разницу между этими двумя режимами можно увидеть только на композитном мониторе, где режим 0 отключает цветовую вспышку, в результате чего весь текст отображается в оттенках серого. Режим 1 включает цветовую вспышку, позволяющую использовать цвет. Режим 0 и режим 1 функционально идентичны на мониторах RGB и на более поздних адаптерах, которые эмулируют CGA без поддержки вывода композитного цвета.
Режим 80 × 25
[ редактировать ]В режимах BIOS 2 и 3 выбираются текстовые режимы с 80 столбцами и 25 строками, при этом каждый символ по-прежнему представляет собой точечный рисунок 8 × 8, но отображается с более высокой скоростью сканирования. Эффективное разрешение экрана в этом режиме составляет 640×200 пикселей. В этом режиме на карте достаточно видеопамяти для четырех различных текстовых страниц.
Как и в текстовых режимах с 40 столбцами, режим 2 отключает цветовую вспышку в композитном сигнале, а режим 3 включает ее.
Цвет текстового режима
[ редактировать ]В каждой ячейке символа хранится четыре бита для цвета переднего плана и фона. Однако в конфигурации карты по умолчанию четвертый бит цвета фона не задает интенсивность, а устанавливает атрибут мигания для ячейки. Все символы на экране с этим набором битов будут периодически мигать, то есть их цвет переднего плана будет изменен на цвет фона, и персонаж станет невидимым. Все персонажи моргают синхронно.
Настроив аппаратный регистр, функцию мигания можно отключить, восстановив доступ к цветам фона высокой интенсивности.
Все мигающие символы на экране мигают синхронно. Эффект мигающего атрибута включен по умолчанию, а фоновый эффект высокой интенсивности отключен; отключение мигания — единственный способ свободно выбирать последние восемь цветовых индексов (8–15) для цвета фона.
Примечательно, что языки программирования GW-BASIC и Microsoft QBASIC, входящие в состав MS-DOS, поддерживали все текстовые режимы CGA с полным управлением цветом, но не предоставляли обычных средств через язык BASIC для переключения CGA из режима мигания в 16-режим. режим фонового цвета. Однако это все еще было возможно путем прямого программирования аппаратных регистров с использованием оператора OUT языка BASIC.
Стандартные графические режимы
[ редактировать ]CGA предлагает графические режимы с тремя разрешениями: 160 × 100, 320 × 200 и 640 × 200. Во всех режимах каждый пиксель на экране может быть установлен напрямую, но глубина цвета для более высоких режимов не позволяет свободно выбирать из полных 16. -цветовая палитра.
160 × 100
[ редактировать ]Режим низкого разрешения 160 × 100 использует 16-цветную палитру и настроен как режим 80 × 25 символов ( режим 3 ), но использует графику, отображаемую в памяти, в 16 КБ памяти. [ 21 ]
320 × 200
[ редактировать ]В режимах среднего разрешения 320×200 ( Режимы 4 и 5 ) каждый пиксель — это два бита, которые выбирают цвета из четырёхцветной палитры. В режиме 4 есть две палитры, а в режиме 5 — одна палитра.
# | Режим 4 | Режим 5 | ||||
---|---|---|---|---|---|---|
Палитра 0 | Палитра 1 | низкая интенсивность | высокая интенсивность | |||
низкая интенсивность | высокая интенсивность | низкая интенсивность | высокая интенсивность | |||
0 | 0 – фон | 0 – фон | 0 – фон | 0 – фон | 0 – фон | 0 – фон |
1 | 2 – зеленый | 10 – светло-зеленый | 3 – голубой | 11 – светло-голубой | 3 – голубой | 11 – светло-голубой |
2 | 4 – красный | 12 – светло-красный | 5 – пурпурный | 13 – светло-пурпурный | 4 – красный | 12 – светло-красный |
3 | 6 – коричневый | 14 – желтый | 7 – светло-серый | 15 – белый | 7 – светло-серый | 15 – белый |
Путем программирования аппаратных регистров можно сделать несколько вариантов. Во-первых, выбранная палитра. Во-вторых, интенсивность, которая определяется для всего экрана, а не для каждого пикселя. В-третьих, цвет 0 («фоновый» цвет) может быть установлен в любой из 16 цветов.
Конкретный графический режим BIOS влияет на доступные палитры. Режим BIOS 4 предлагает две палитры: зеленый/красный/коричневый и голубой/пурпурный/белый.
Как и в текстовых режимах 0 и 2, режим 5 отключает цветовую серию, позволяя цветам отображаться в оттенках серого на композитном мониторе. Однако, в отличие от текстовых режимов, это также влияет на цвета, отображаемые на мониторе RGBI, изменяя их на голубую/красную/белую палитру, показанную выше. Эта палитра не документирована IBM, но использовалась в некотором программном обеспечении.
640 × 200
[ редактировать ]В режиме высокого разрешения 640 × 200 ( режим 6 ) каждый пиксель имеет один бит, что обеспечивает два цвета, которые можно выбрать из 16-цветной палитры путем программирования аппаратных регистров.
В этом режиме видеоизображение сохраняется в виде простого растрового изображения, где один бит на пиксель устанавливает цвет «переднего плана» или «фона». По умолчанию цвета — черный и ярко-белый, но цвет переднего плана можно изменить на любой из 16-цветной палитры CGA. Цвет фона не может быть изменен с черного на оригинальной карте IBM CGA.
Этот режим по умолчанию отключает композитный сигнал цветовой синхронизации. В BIOS не предусмотрена возможность включения цветовой синхронизации в режиме 640×200, и для ее включения пользователю необходимо выполнить запись непосредственно в регистр управления режимом.
Дополнительные графические режимы и настройки
[ редактировать ]Существует ряд официальных и неофициальных функций, которые можно использовать для достижения специальных эффектов.
- В графическом режиме 320 × 200 цвет фона (который также влияет на цвет границы), который при инициализации режима по умолчанию равен черному, можно изменить на любой из других 15 цветов палитры CGA. Это допускает некоторые вариации, а также эффекты мигания, поскольку цвет фона можно изменить без перерисовки экрана (т. е. без изменения содержимого видеопамяти).
- В текстовом режиме цвет границы (отображаемый за пределами обычной области отображения, включая область нерабочей области ) можно изменить с черного по умолчанию на любой из 15 других цветов.
- Благодаря точной синхронизации можно переключиться на другую палитру во время вывода видео, что позволяет использовать любую из шести палитр для каждой строки сканирования. Примером тому являются Калифорнийские игры . [ 22 ] при запуске на штатном 4,77 МГц 8088. Запуск на более быстром компьютере не дает эффекта, так как метод, используемый программистами для переключения палитр в заранее определенных местах, чрезвычайно чувствителен к скорости машины. То же самое можно сделать и с цветом фона, который используется для создания реки и дороги в Frogger . [ 23 ] Другой задокументированный пример этой техники можно найти в от Atarisoft порте Jungle Hunt на ПК.
- Дополнительные цвета можно аппроксимировать с помощью дизеринга .
- Использование палитры 0 с низкой интенсивностью и темно-синего цвета в качестве цвета фона обеспечивает три основных цвета RGB , а также коричневый.
Некоторые из этих настроек можно комбинировать. Примеры можно найти в нескольких играх. [ 24 ]
160 × 100, 16-цветный режим
[ редактировать ]Технически этот режим не является графическим, а является доработкой текстового режима 80×25. Регистр высоты символьной ячейки изменен, чтобы отображать только две строки на символьную ячейку вместо обычных восьми строк. Это увеличивает количество отображаемых текстовых строк с 25 до 100 в четыре раза. Эти «плотно сжатые» текстовые символы не являются полными символами. Система отображает только две верхние строки пикселей (по восемь в каждой), прежде чем перейти к следующей строке.
Персонаж 221 | |
221 с синим текстом и красным фоном. | |
221 с красным текстом и синим цветом фона. | |
Персонаж 222 |
Символ 221 набора символов CGA состоит из прямоугольника, занимающего всю левую половину матрицы символов. (Символ 222 представляет собой прямоугольник, занимающий всю правую половину.)
Поскольку каждому символу можно назначить разные цвета переднего плана и фона, он может быть окрашен (например) в синий цвет слева (цвет переднего плана) и ярко-красный справа (цвет фона). Это можно изменить, поменяв местами цвета переднего плана и фона.
Таким образом, используя символ 221 или 222, каждую половину каждой ячейки усеченного символа можно рассматривать как отдельный пиксель, что дает 160 горизонтальных пикселей в каждой строке. Таким образом, возможно разрешение 160 × 100 пикселей при 16 цветах и соотношении сторон 1:1,2.
Несмотря на то, что это обходной путь получения 16-цветного графического дисплея, он работает довольно хорошо, и этот режим даже упоминается (хотя и не объясняется) в официальной документации по оборудованию IBM. [ 25 ] Этот режим использовался еще в 1983 году в игре Moon Bugs . [ 26 ] [ 27 ] [ 28 ] [ 29 ]
В этом режиме можно добиться большей детализации, используя другие символы, сочетая символы ASCII с вышеупомянутой техникой. Это было исследовано компанией Macrocom, Inc в двух играх: Icon: Quest for the Ring (выпущенной в 1984 году) и The Seven Spirits of Ra (выпущенной в 1987 году). [ 29 ] [ 30 ] [ 31 ] [ 32 ] [ 33 ]
Тот же метод уменьшения высоты текстовых ячеек можно использовать и в текстовом режиме 40 × 25, что дает разрешение 80 × 100.
Композитный выход
[ редактировать ]Использование композитного выхода вместо монитора RGBI давало видео более низкого качества из-за худшего разделения яркости и цветности в NTSC. [ 34 ] Это особенно проблема с текстом из 80 столбцов: [ 35 ]
По этой причине каждый текстовый и графический режим имеет дублирующий режим, который отключает составную цветовую гамму , в результате чего изображение становится черно-белым, но также устраняется растекание цвета для получения более четкого изображения. На мониторах RGBI две версии каждого режима обычно идентичны, за исключением графического режима 320×200, где «монохромная» версия создает третью палитру.
Расширенные цвета артефактов
[ редактировать ]Программисты обнаружили, что этот недостаток можно превратить в преимущество, поскольку отдельные узоры из точек высокого разрешения превратятся в однородные области сплошных цветов, что позволит отображать совершенно новые цвета артефактов . С этой техникой можно использовать как стандартный четырехцветный графический режим 320 × 200, так и режим «цвет на чёрном» 640 × 200.
Внутренняя операция
[ редактировать ]Прямые цвета — это обычные 16 цветов, описанные выше в разделе «Цветовая палитра CGA».
Цвета-артефакты видны потому, что декодер цветности NTSC композитного монитора ошибочно интерпретирует часть информации о яркости как цвет. Тщательно размещая пиксели в соответствующих шаблонах, программист может создавать определенные артефакты с перекрестными цветами, дающие желаемый новый цвет; либо из чисто черно-белых пикселей в режиме 640 × 200, либо в результате и артефактных комбинации прямых цветов в режиме 320 × 200, как показано на следующих изображениях:
-
640 × 200
-
Палитра 320 × 200 0
-
320×200 палитра 1
Таким образом, при выборе режима 320×200 против 640×200, выборе между двумя палитрами и одном свободно выбираемом цвете (фон в режиме 320×200 и передний план в режиме 640×200) можно использовать множество различных наборов цветов артефактов, в результате чего общая гамма насчитывает более 100 цветов.
Более поздние демонстрации энтузиастов увеличили максимальное количество цветов, которые CGA может отображать одновременно, до 1024. [ 36 ] [ 37 ] Этот метод включает в себя настройку текстового режима, которая увеличивает количество текстовых строк в четыре раза. Определенные символы ASCII, такие как U и ‼, затем используются для создания необходимых шаблонов, в результате чего на композитном мониторе получаются изображения без сглаживания с эффективным разрешением 80 × 100. [ 38 ]
Во время вывода каждой строки происходит 160 циклов цветовой синхронизации NTSC, поэтому в режиме 40 столбцов каждый пиксель занимает половину цикла, а в режиме 80 столбцов каждый пиксель использует четверть цикла. Ограничивая отображение символов одной или двумя верхними строками развертки и используя преимущество расположения пикселей в определенных символах кодовой страницы 437 , можно отображать до 1024 цветов. [ 36 ] Эта техника использовалась в демо 8088 MPH . [ 37 ]
Доступность и предостережения
[ редактировать ]Вариант этой техники с разрешением 320 × 200 (см. выше) — это то, как стандартный графический режим, поддерживаемый BIOS, выглядит на композитном цветном мониторе. Однако вариант 640 × 200 требует небольшого изменения бита (отключения цветовой синхронизации) непосредственно в аппаратных регистрах CGA. В результате его обычно называют отдельным «режимом».
Будучи полностью зависимым от процесса кодирования/декодирования NTSC, артефакты составного цвета недоступны на мониторе RGBI и не эмулируются EGA, VGA или современными графическими адаптерами.
Современный, ориентированный на игры эмулятор ПК DOSBox поддерживает режим CGA, который может имитировать искажения цвета композитного монитора. Поддерживаются как составной режим 640×200, так и более сложный вариант 320×200.
Разрешение и использование
[ редактировать ]Составные артефакты, независимо от того, используются ли они намеренно или как нежелательные артефакты, уменьшают эффективное разрешение по горизонтали максимум до 160 пикселей, больше для текста «черное на белом» или «белое на черном», без изменения разрешения по вертикали. Полученный композитный видеодисплей с «искусственными» цветами иногда описывается как «режим» 160 × 200/16 цветов, хотя технически это был метод, использующий стандартный режим.
Низкое разрешение этого метода создания составных цветовых артефактов привело к тому, что он использовался почти исключительно в играх. Многие громкие игры предлагали графику, оптимизированную для мониторов с композитным цветом. Ultima II , первая игра в серии игр, портированная на IBM PC, использовала композитную графику CGA. King's Quest I также предлагал 16-цветную графику на ПК, PCjr и Tandy 1000, но предоставлял «режим RGB» на титульном экране, в котором использовался только обычный графический режим CGA, ограниченный четырьмя цветами.
-
Microsoft Decathlon — вверху: игра в составном режиме; внизу: игра в режиме RGB; слева: с RGB-монитором; справа: с композитным монитором
-
King's Quest - Top: игра в составном режиме; внизу: игра в режиме RGB; слева: с RGB-монитором; справа: с композитным монитором
-
Ultima II — слева: с монитором RGB; справа: с композитным монитором
Ограничения, ошибки и исправления
[ редактировать ]Синхронизация видео на CGA обеспечивается видеоконтроллером Motorola 6845 . Эта интегральная схема изначально была разработана только для символьных буквенно-цифровых (текстовых) дисплеев и может адресовать максимум 128 строк символов.
Для реализации графических режимов с 200 строками развертки на CGA в MC6845 запрограммировано 100 строк символов на изображение и две строки развертки на строку символов. Поскольку адрес видеопамяти, выводимый MC6845, идентичен для каждой строки развертки в строке символов, CGA должен использовать выходной сигнал «адреса строки» MC6845 (т. е. строку развертки в строке символов) в качестве дополнительного бита адреса для извлечения растровых данных из видео. память. [ 39 ]
Это означает, что если размер растровых данных одной строки развертки не равен степени двойки, растровые данные не могут непрерывно размещаться в видеопамяти. Вместо этого в графических режимах CGA строки развертки с четными номерами сохраняются в памяти последовательно, за которыми следует второй блок строк развертки с нечетными номерами, начиная с позиции видеопамяти 8192. Такое расположение приводит к дополнительным накладным расходам в графических режимах для программного обеспечения, которое манипулирует видеопамятью.
Несмотря на то, что видеоконтроллер MC6845 может обеспечить синхронизацию чересстрочного видео , схема CGA выравнивает сигналы синхронизации таким образом, что сканирование всегда происходит в прогрессивном режиме. Следовательно, невозможно удвоить вертикальное разрешение до 400 строк развертки, используя стандартный монитор с частотой 15 кГц.
Более высокая пропускная способность, используемая в текстовом режиме с 80 столбцами, приводит к появлению случайных коротких горизонтальных линий на экране (известных как «снег»), если программа записывает непосредственно в видеопамять во время рисования экрана. BIOS позволяет избежать этой проблемы, обращаясь к памяти только во время горизонтального обратного хода или временно отключая вывод во время прокрутки. Хотя из-за этого дисплей начинает мерцать, в IBM решили, что это лучше, чем снег. [ 2 ] Проблема "снега" не возникает ни на одном другом видеоадаптере, ни на большинстве клонов CGA.
В текстовом режиме с 80 столбцами тактовая частота пикселя удваивается, и все сигналы синхронизации выводятся в течение удвоенного количества тактовых циклов, чтобы длиться надлежащую продолжительность. композитного выхода Схема сигнала цветовой синхронизации является исключением: поскольку она по-прежнему выдает то же количество циклов, теперь с удвоенной тактовой частотой, вырабатываемый сигнал цветовой синхронизации слишком короток для большинства мониторов, что приводит к отсутствию или нестабильности цвета. Следовательно, в документации IBM текстовый режим с 80 столбцами указан как «функция» только для RGBI и черно-белых композитных мониторов. [ 40 ] Стабильного цвета по-прежнему можно добиться, установив для цвета границы коричневый цвет, который создает фазу, идентичную правильному сигналу цветовой синхронизации , и служит ее заменой.
Поддержка двойной головки
[ редактировать ]CGA был выпущен вместе с IBM MDA и фактически мог быть установлен вместе с MDA на том же компьютере. Команда, включенная в PC DOS, позволяла переключать вывод дисплея между картами CGA и MDA. [ 41 ] Некоторые программы, такие как ранние для MS-DOS версии AutoCAD , поддерживали одновременное использование обоих дисплеев.
Поддержка программного обеспечения
[ редактировать ]CGA широко поддерживался в программном обеспечении для ПК вплоть до 1990-х годов. Некоторые из программ, поддерживающих плату, были:
- Visi On (ранний графический интерфейс, использовался монохромный режим 640x200)
- Windows 3.0 (и более ранние версии) поддерживали монохромный режим 640x200. [ 42 ] )
- OS/2 1.1 (и более ранние версии)
- Менеджер графической среды (GEM)
Конкурирующие адаптеры
[ редактировать ]В январе 1982 года компания BYTE охарактеризовала результаты CGA как «очень хорошие — немного лучше, чем цветная графика на существующих микрокомпьютерах». [ 4 ] Журнал PC Magazine с этим не согласился, сообщив в июне 1983 года, что «монохромный дисплей IBM абсолютно прекрасен для текста и удивительно приятен для глаз, но ограничен простой символьной графикой. Качество текста на дисплеях, подключенных к цветному/графическому адаптеру... находится на уровне. лучше всего среднего качества и способствует утомлению глаз в долгосрочной перспективе». [ 43 ]
В ретроспективном комментарии Next Generation также негативно оценила CGA, заявив: «Даже для того времени (начало 1980-х) эта графика была ужасной и бледнела по сравнению с другими цветными машинами, доступными на рынке». [ 44 ]
У CGA было несколько конкурентов:
- Для использования в бизнесе и текстовой обработке IBM предоставила адаптер монохромного дисплея (MDA) одновременно с CGA. Поначалу MDA был гораздо более популярен, чем CGA. [ 45 ] Поскольку большое количество компьютеров продавалось предприятиям, четкий монохромный текст с высоким разрешением был более желателен для запуска приложений.
- (HGC) стороннего производителя В 1982 году была представлена видеокарта Hercules Graphics Card , первая видеокарта стороннего производителя для ПК. В дополнение к текстовому режиму, совместимому с MDA, он предлагал монохромный графический режим с разрешением 720 × 348 пикселей, что выше, чем у CGA.
- Также в 1982 году была представлена плата Plantronics Colorplus с вдвое большим объемом памяти, чем у стандартной платы CGA (32 КБ по сравнению с 16 КБ). Дополнительную память можно использовать в графических режимах для удвоения глубины цвета, что дает два дополнительных графических режима — 16 цветов с разрешением 320 × 200 или 4 цвета с разрешением 640 × 200.
- IBM PCjr (1984 г.) и совместимый Tandy 1000 (1985 г.) имели встроенное видеооборудование «расширенного CGA», которое расширяло объем видеопамяти более 16 КБ, обеспечивая 16 цветов с разрешением 320 × 200 и четыре цвета с разрешением 640 × 200. Поскольку Tandy 1000 надолго пережил PCjr, видеорежимы стали известны как « Tandy Graphics Adaptor » или «TGA» и были очень популярны в играх в 1980-х годах. Аналогичным, но менее широко используемым был Plantronics Colorplus .
- В 1984 году IBM также представила Professional Graphics Controller , высокопроизводительное графическое решение, предназначенное, например, для приложений САПР . В основном он был обратно совместим с CGA. PGC не получил широкого распространения из-за своей цены в 4000 долларов и был снят с производства в 1987 году.
Другие альтернативы:
- Paradise Systems представила в 1984 году первую успешную CGA-совместимую карту для мониторов MDA. Он отображал 16 цветов CGA в монохромных оттенках. Поскольку карта Paradise была аппаратно совместима с CGA, ей не требовалась специальная программная поддержка или дополнительные драйверы. [ 46 ]
- Еще одним расширением некоторых CGA-совместимых чипсетов (в том числе Olivetti M24 /AT&T 6300, DEC VAXmate и некоторых портативных компьютеров Compaq и Toshiba ) является удвоенное разрешение по вертикали. Это дает более качественное текстовое отображение 8×16 и дополнительный графический режим 640×400.
На смену карте CGA в потребительском пространстве пришла карта IBM Enhanced Graphics Adaptor (EGA), которая поддерживает большинство режимов CGA и добавляет дополнительное разрешение (640 × 350), а также программно выбираемую палитру из 16 цветов из 64 в как текстовый, так и графический режимы.
Технические характеристики
[ редактировать ]Разъем DE-9 для монитора RGBI
[ редактировать ]Цветной графический адаптер использует стандартный разъем DE-9 для прямой передачи видео (на монитор RGBI). Разъем на плате — «мама», а разъем на кабеле монитора — «папа».
Приколоть | Функция |
---|---|
1 | Земля |
2 | Земля |
3 | Красный |
4 | Зеленый |
5 | Синий |
6 | Интенсивность |
7 | Сдержанный |
8 | Горизонтальная синхронизация |
9 | Вертикальная синхронизация |
Тип | Цифровой, ТТЛ |
---|---|
Разрешение | 640х200В, 320х200В |
H-частота | 15699,8 Гц (14,318181 МГц/8/114) |
V-частота | 59,923 Гц (частота H/262) |
Цвета | 16 |
Разъем RCA для композитного монитора или телевизора
[ редактировать ]Цветной графический адаптер использует стандартный разъем RCA для подключения к NTSC -совместимому телевизору или композитному видеомонитору . [ 3 ] Разъем на плате — «мама», а разъем на кабеле монитора — «папа».
Тип | Аналоговый композитный NTSC-совместимый |
---|---|
Разрешение | 640х200В, 320х200В |
H-частота | 15699,8 Гц (14,318181 МГц/8/114) |
V-частота | 59,923 Гц (частота H/262) |
Цвета | 16, сотни цветов артефактов |
См. также
[ редактировать ]- Цветовая модель RGB
- Видеокарта
- Разрешение графического дисплея
- Графический процессор
- Световая ручка
- Список интерфейсов дисплея
- Список 8-битных палитр компьютерного оборудования - CGA раздел
- Кодовая страница 437
- Список несуществующих графических чипов и компаний-производителей карт
Ссылки
[ редактировать ]- ^ Jump up to: а б Руководство IBM CGA (PDF) . п. 1.
- ^ Jump up to: а б с Брэдли, Дэвид Дж. (сентябрь 1990 г.). «Создание IBM PC» . БАЙТ . стр. 414–420 . Проверено 2 апреля 2016 г.
- ^ Jump up to: а б А. Кумар (2002). Энциклопедия управления компьютерным оборудованием . Публикации Анмола. п. 1050. ИСБН 978-81-261-1030-8 . [ постоянная мертвая ссылка ]
- ^ Jump up to: а б с Уильямс, Грегг (январь 1982 г.). «Более пристальный взгляд на персональный компьютер IBM» . БАЙТ . п. 36 . Проверено 19 октября 2013 г.
- ^ Международная корпорация Business Machines (4 февраля 1983 г.). Письмо-объявление номер 183-002 — IBM COLOR DISPLAY, 5153 .
- ^ Руководство IBM CGA (PDF) . п. 2.
- ^ Леонард, Джим. «Справочное видео о тестере совместимости CGA» . Проверено 14 октября 2020 г.
- ^ Jump up to: а б с Справочная библиотека по аппаратному обеспечению персональных компьютеров IBM: Улучшенный цветной дисплей IBM (PDF) . п. 4.
- ^ Коричневый цвет, обозначаемый R=1, G=1, B=0, I=0, является исключением; тогда как прямая интерпретация этих битовых значений определила бы этот цвет как темно-желтый, интенсивность зеленого компонента уменьшается, чтобы получить коричневый только для этого одного 4-битного значения. смотрите на этой странице Подробности . Эта специальная интерпретация коричневого цвета RGBI выполняется на мониторе; Монитор IBM 5153, разработанный для CGA, выполняет это, но некоторые ранние мониторы сторонних производителей этого не делали.
- ^ Jump up to: а б «Настоящая палитра CGA и цветопередача IBM 5153» . ВилеР. 11.06.2022 . Проверено 18 мая 2024 г.
- ^ International Business Machines Corporation (1983): Техническое справочное руководство IBM Personal Computer XT, страницы с D-42 по D-43.
- ^ «Более точное представление цветной печати IBM 5153 | Форумы Vintage Computer Federation» . Форум.vcfed.org. Декабрь 2021 года . Проверено 21 марта 2022 г.
- ^ Руководство по эксплуатации цветного монитора Tandy CM-2 . п. 48.
- ^ Руководство по обслуживанию цветного монитора Tandy CM-4 . п. 41.
- ^ Данные технического обслуживания Sams&Company ComputerFacts: Magnavox® Model 7BM613074G — Монитор Radio Shack® Model CM11 . 1988. с. 11.
- ^ Дин и др. (1984): Генерация композитного цветного видеосигнала из цифровых цветовых сигналов. Патент США № 4442428.
- ^ International Business Machines Corporation (1983): Техническое справочное руководство IBM Personal Computer XT, страница D-40.
- ^ VileR (15 апреля 2015 г.). «CGA в 1024 цветах — новый режим: иллюстрированное руководство» . Проверено 17 октября 2020 г.
... Палитра CGA, визуализированная с помощью композитного вывода ранней («старой» карты)
- ^ Персональный компьютер IBM (PDF) (технический справочник). Справочная библиотека по аппаратному обеспечению персональных компьютеров IBM (переработанная редакция). Апрель 1983 г. с. Д-50.
- ^ Адаптер цветного/графического монитора IBM (PDF) (технический справочник). Опции и адаптеры IBM. п. 32.
- ^ Адаптер цветного/графического монитора IBM (PDF) . 6361509. IBM. стр. 9, 20 – через Справочную библиотеку по аппаратному обеспечению персональных компьютеров IBM.
- ^ «Скриншоты California Games для DOS» . МобиИгры . Архивировано из оригинала 11 августа 2022 г.
- ^ «Скриншоты Фроггера (1983)» . МобиИгры .
- ^ «Поддерживаемые видеорежимы: CGA (изменено)» . МобиИгры .
- ^ «ibm :: ПК :: карты :: Технический справочник по опциям и адаптерам, том 2, апрель 84 г.» . Интернет-архив . Апрель 1984 г. с. 50 . Проверено 9 января 2020 г.
- ^ «Скриншоты Moon Bugs (1983)» . МобиИгры . Проверено 6 января 2023 г.
- ^ Windmill Software (1983), Moon Bugs , получено 6 января 2023 г.
- ^ «Лунные жуки» . Моя заброшенная программа . Проверено 6 января 2023 г.
- ^ Jump up to: а б «CGA в 1024 цветах — новый режим: иллюстрированное руководство» . int10h.org . Проверено 6 января 2023 г.
- ^ «Иконка: Quest for the Ring для DOS (1984)» . МобиИгры . Проверено 6 января 2023 г.
- ^ «Семь духов Ра для DOS (1987)» . МобиИгры . Проверено 6 января 2023 г.
- ^ «ИКОНА: В поисках Кольца» . Моя заброшенная программа . Проверено 6 января 2023 г.
- ^ «Семь духов Ра» . Моя заброшенная программа . Проверено 6 января 2023 г.
- ^ Аналоговые устройства. «Бюджетный кодер RGB в NTSC/PAL с портом Luma Trap» (PDF) . п. 14 . Проверено 18 октября 2020 г.
Основная проблема возникает, когда сигнал яркости... содержит частотные компоненты, попадающие в полосу цветности.
- ^ Аналоговые устройства. «Бюджетный кодер RGB в NTSC/PAL с портом Luma Trap» (PDF) . п. 15 . Проверено 18 октября 2020 г.
Резкие переходы от черного к белому... содержат частотные компоненты..., а переходы в полосе цветности создают перекрестную цветность.
- ^ Jump up to: а б ВилеР (15 апреля 2015 г.). «8088 миль в час: CGA в 1024 цветах — новый режим: иллюстрированное руководство» . int10h.org . Проверено 15 октября 2022 г.
- ^ Jump up to: а б «1К цветов на CGA: Как это делается» . Блог Реэнинь . 08.04.2015 . Проверено 27 апреля 2018 г.
- ^ «CGA в 1024 цветах — новый режим: иллюстрированное руководство» . Запись в блоге создателей демо-версии «8088 миль в час», объясняющая эту технику.
- ^ Адаптер расширенной графики IBM (PDF) (технический справочник). Опции и адаптеры IBM. 2 августа 1984 г. с. 41.
- ^ Адаптер цветного/графического монитора IBM (PDF) (технический справочник). Опции и адаптеры IBM. п. 7.
- ^ «Работа с двумя головками на старинных ПК» . www.seasip.info . Проверено 16 августа 2020 г.
- ^ «Установка драйвера дисплея CGA вручную» .
- ^ Фасти, Уилл (июнь 1983 г.). «Графический ПК» . Журнал ПК .
- ^ «Лексикон следующего поколения 1996 года от А до Я». Следующее поколение . № 15. Imagine Media . Март 1996 г. с. 31.
- ^ Карран, Лоуренс Дж.; Шуфорд, Ричард С. (ноябрь 1983 г.). «Эстридж от IBM» . БАЙТ . стр. 88–97 . Проверено 19 марта 2016 г.
- ^ Старк, Крейг Л. (2 октября 1984 г.). «Райская видеокарта: проще быть зеленым» . Журнал ПК . п. 59 . Проверено 25 октября 2013 г.
- Примечания
- Справочник по видео CGA, совместимому с IBM PC, включает технические подробности.
- Калибровка монитора CGA . Техническая информация о декодировании и калибровке цвета монитора IBM 5153.
- Библиотека аппаратного обеспечения персональных компьютеров IBM: Технический справочник (пересмотренное издание, 1983 г.)
- Эта статья изначально была основана на материалах из Бесплатного онлайн-словаря по информатике .