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