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

         

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

Электронно-лучевая трубка


Видеопамять

Видеоадаптеры EGA и VGA можно условно разделить на шесть логических блоков:
Видеопамять. В видеопамяти размещаются данные, отображаемые адаптером на экране дисплея. Для видеоадаптеров EGA и VGA видеопамять, как правило, имеет объем 256К байт. На некоторых моделях Super VGA и XGA объем видеопамяти может быть увеличен до 1М байт. Видеопамять находится в адресном пространстве процессора и программы могут непосредственно производить с ней обмен данными. Физически видеопамять разделена на четыре банка или цветовых слоя, разделяющих единое адресное пространство.
Графический контроллер. Посредством его происходит обмен данными между центральным процессором компьютера и видеопамятью. Аппаратура графического контроллера позволяет производить над данными, поступающими в видеопамять, и над данными, расположенными в регистрах-защелках (регистры-защелки описаны ниже) простейшие логические опрерации (И, ИЛИ, ИСКЛЮЧАЮЩЕЕ ИЛИ, циклический сдвиг).
Последовательный преобразватель. Выбирает из видеопамяти один или несколько байт, преобразует их в последовательный поток битов и затем передает контроллеру атрибутов.
Контроллер ЭЛТ. Генерирует временные синхросигналы, управляющие ЭЛТ.
Контроллер атрибутов. Преобразует информацию о цветах из формата, в котором она хранится в видеопамяти, в формат, необходимый для ЭЛТ. Преобразование цветов осуществляется в соответствии с таблицей цветовой палитры (Color Look-up Table). Модифицируя таблицу цветовой палитры, можно выбирать 16 цветов, поддерживаемых видеоадаптером EGA из 64 цветов, которые может отображать цветной улучшенный дисплей.
Синхронизатор. Управляет всеми временными параметрами видеоадаптера. Синхронизатор также управляет доступом процессора к цветовым слоям видеоадаптера.

На рисунке 6.1 представлена блок схема видеоадаптеров EGA и VGA, отображающая связи между их основными логическими блоками.



Блок схема видеоадаптеров EGA/VGA. 5.1. Электронно-лучевая трубка
Электронно-лучевая трубка
Экран электронно-лучевой трубки.

Видеопамять
Текстовый режим
Структура видеопамяти в текстовых режимах.
Преобразование кода ASCII в образ символа на экране.
Отображение цветовых слоев.
Знакогенератор
Активные таблицы знакогенераторов.
Атрибуты символов
Байт атрибутов символа.
Атрибуты символов (монохромный режим)

Видеопамять в графических режимах
Режимы 4 и 5
Структура видеопамяти для режимов 4 и 5.
Режим 6
Структура видеопамяти в режиме 6.
Режимы 0Dh и 0Eh
Структура видеопамяти в режимах 0Dh и 0Eh.
Режим 0Fh
Структура видеопамяти режима 0Fh.
Режим 10h

Структура видеопамяти режима 10h.
Режим 11h
Структура видеопамяти режима 11h.
Режим 12h
Структура видеопамяти режима 12h.
Режим 13h
Структура видеопамяти в режиме 13h.
Графический контроллер
Исполнение видеоадаптером операции записи
Иллюстрирует выполнение графическим контроллером операции записи данных в видеопамять:

Запись данных в видеопамять.
Выполнение видеоадаптером операции чтения
Последовательный преобразватель
Контроллер атрибутов
Контроллер атрибутов в текстовых режимах.
Контроллер атрибутов в графических режимах.
Контроллер ЭЛТ
Синхронизатор
Содержание раздела