Программирование видеоадаптеров CGA, EGA и VGA

       

Контроллер атрибутов


Контроллер атрибутов в графических и текстовых режимах работы видеоадаптера управляет цветами. Значениям цветовых атрибутов ставится в соответствие определенный цвет при помощи таблицы цветовой палитры (Color Lock-up Table). Таблица цветовой палитры ставит в соответствие четырем битам, взятым из видеопамяти, 6 битов цветовой информации. Если к видеоадаптеру EGA подключен цветной дисплей, то используются только четыре младших бита из шести.

Для видеоадаптера EGA эта информация поступает непосредственно на дисплей, а для VGA - преобразуется дальше в соответствии с таблицей цветов и преобразуется тремя цифро-аналоговыми преобразователями в RGB сигнал и только после этого передается на дисплей.

Таким образом, изменяя данные, записанные BIOS в таблицу цветовой палитры при выборе определенного режима работы видеоадаптера, можно менять используемую палитру цветов.

На рисунках 6.17 и 6.18 показана работа контроллера атрибутов в графическом и текстовом режимах.

Рисунок 6.17 Контроллер атрибутов в текстовых режимах.

В текстовых режимах видеоадаптеров, цвет символа и его фона определяется его байтом атрибутов. Цвет фона символа, как видно из рисунка, задают четыре старших бита байта атрибутов. Значение этих четырех бит служит индексом в таблице цветовой палитры. Элемент таблицы с данным индексом впоследствии определяет цвет фона символа.

Аналогично битам, определяющим цвет фона символа, четыре младших бита задают цвет самого символа.

Рисунок 6.18 Контроллер атрибутов в графических режимах.

В отличае от текстовых режимов, в графических режимах цвет каждого пиксела определяется отдельно. На рисунке 6.18 четыре бита, считанные из цветовых слоев видеопамяти определяют один пиксел. Значене этих бит служат индексом для таблицы цветовой палитры. Элементы таблицы определяют цвет данного пиксела.

Контоллер атрибутов подробно описан в разделе "Регистры видеоадаптеров EGA и VGA".



Содержание раздела