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

       

При использовании видеоадаптеров EGA или


При использовании видеоадаптеров EGA или VGA не существует функциональных различий между режимом 0 и режимом 1. В данных режимах дисплей отображает цветную текстовую (алфавитно-цифровую) информацию - 25 строк и 40 столбцов. В качестве дисплея могут использоваться цветной дисплей (CD), улучшенный цветной дисплей (ECD), дисплей VGA, а также некоторые многчастотные дисплеи, с разрешением 25 строк и 40 столбцов.

Для отображения каждого символа используется матрица 8 на 8 пикселов, что соответствует низкому качеству изображения (можно различить отдельные пикселы из которых состоит символ).

Символы текста можно отображать в 8 основных и 8 дополнительных цветах. Последние имеют большую интенсивность, чем основные. Для каждого символа можно независимо задать его цвет и цвет фона. Список стандартных и дополнительных цветов представлен в таблице 3.2.

Для видеоадаптеров EGA и VGA можно изменить используемую палитру цветов. EGA с улучшенным цветным дисплеем позволяет выбрать 16 цветов из 64 возможных, а VGA 16 из 262144.



Стандартный цвет Дополнительный цвет
черный серый
синий светло-синий
зелный светло-зеленый
морской волны голубой
красный светло-красный
фиолетовый малиновый
коричневый желтый
белый ярко-белый
Таблица 3.2 Стандартные и дополнительные цвета.

Видеоадаптер CGA совместим с EGA и VGA не полностью. Вследствие этого не все программное обеспечение, разработанное для видеоадаптера CGA, будет правильно работать на EGA и VGA.

В основном несовместимость между этими видеоадаптерами возникает из-за различий в наборе регистров. Адаптеры EGA и VGA имеют больше регистров, чем CGA и их формат различен. На уровне BIOS происходит нивелировка этих отличий. Поэтому наиболее простой способ создания легко переносимых программ заключается в использовании исключительно функций BIOS и DOS.

В режимах 0 и 1 адаптеры EGA и VGA поддерживают восемь страниц видеопамяти. Страницей называется часть видеопамяти, полностью определяющая содержимое одного экрана дисплея. Одна из этих восьми страниц является активной, то есть ее содержимое отображается на экране. Для изменения активной страницы можно либо вызвать соответствующую функцию BIOS, либо непосредственно изменить содержимое регистра начального адреса, расположенного в контроллере электронно лучевой тубки (ЭЛТ). Следующий рисунок демонстрирует страничную организацию


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

       

Следующий рисунок демонстрирует страничную организацию


Следующий рисунок демонстрирует страничную организацию памяти. На дисплее отображается содержимое первой страницы видеопамяти, расположенной по адресу B000:0800.



Рисунок 3.1 Страничная организация видеопамяти.

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

Страницы видеопамяти располагаются по следующим адресам:

Страница 0 - B800:0000 Стрница 1 - B800:0800
Страница 2 - B800:1000 Стрница 3 - B800:1800
Страница 4 - B800:2000 Стрница 5 - B800:2800
Страница 6 - B800:3000 Стрница 7 - B800:3800
При работе видеоадаптера VGA в режимах с низким разрешением реализуется двойное сканирование.

Двойное сканирование заключается в том, что при работе VGA в режимах с разрешением 200 строк, каждая из строк отображается на экране дважды, увеличивая разрешение по вертикали до 400 строк. В результате улучшается восприятие текста на экране, так как фактически увеличивается разрешающая способность.

Двойное сканирование реализуется видеоадаптером VGA в режимах 0, 1, 2, 3, 4, 5, 6, 0Dh и 0Eh.


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





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