Программирование видеоадаптеров CGA, EGA и VGA© Александр Фролов, Григорий ФроловТом 3, М.: Диалог-МИФИ, 1992, 287 стр. 2.1. Режимы 0 и 1При использовании видеоадаптеров 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, либо непосредственно изменить содержимое регистра начального адреса, расположенного в контроллере электронно лучевой тубки (ЭЛТ). Следующий рисунок демонстрирует страничную организацию памяти. На дисплее отображается содержимое первой страницы видеопамяти, расположенной по адресу B000:0800.
Рисунок 3.1 Страничная организация видеопамяти. К каждой странице экрана вы можете обратиться как через функции BIOS, так и напрямую. Во втором случае процессор записывает необходимую информацию непосредственно в видеопамять. Страницы видеопамяти располагаются по
следующим адресам:
При работе видеоадаптера VGA в режимах с низким разрешением реализуется двойное сканирование. Двойное сканирование заключается в том, что при работе VGA в режимах с разрешением 200 строк, каждая из строк отображается на экране дважды, увеличивая разрешение по вертикали до 400 строк. В результате улучшается восприятие текста на экране, так как фактически увеличивается разрешающая способность. Двойное сканирование реализуется видеоадаптером VGA в режимах 0, 1, 2, 3, 4, 5, 6, 0Dh и 0Eh. |