logo search
ЗФ / Вопросы-Ответы (ВМСиС)

19. Видеоадаптер. Цветной и монохромный режимы. Интерфейс с видеоадаптером

Видеоадаптер состоит из двух частей: контроллера ЭЛТ (электронно-лучевой трубки) и видеопамяти (видеобуфера). Основная задача видеобуфера - хранение образа информации экрана. Изображение на экране строиться из набора пикселов (элементы покрытия экрана). Сами пикселы объединяются в телевизионные строки.

Память, которая необходима для полного хранения образа экрана, называется видеостраницей. Обычно общий объем видеопамяти превышает размер видеостраницы. Тогда вся видеопамять делиться на несколько видеостраниц, одна из которых в данный момент является текущей (т.е. в данный момент времени информация с нее отображается на экране). В данном случае видеоадаптер еще выполняет действия по переключению видеостраниц.

Важной характеристикой работы видеоадаптера является количество поддерживаемых им режимов. Под режимом можно понимать работу адаптера, с какими-то особыми свойствами (вывод информации на экран, число поддерживаемы строк и т.д.). Режимы нумеруются с нуля (адаптер работающие в современных режимах поддерживают работу и в старых режимах). MDA (монохромный видеоадаптер) самый старый. Он может работать в режимах 0 и 1. После него появился CGA (цветным графическим адаптером) (работает в режимах 0 - 6). Следующий за CGA появился EGA (улучшенный цветной дисплей) адаптер. Он поддерживает режимы, начиная с 0 и заканчивая 10h. Режимы, которые начинаются с 11h и выше поддерживает VGA – адаптер.

Все возможные режимы работы видеоадаптеров можно разделить на две категории: текстовые и графические. Переключение из графического режима работы в текстовый режим и обратно полностью меняют логику работы видеоадаптера с видеобуфером.

При работе видеоадаптера в текстовом режиме весь экран рассматривается как набор элементов (текстел). Каждому такому элементу соответствует два байта видеобуфера. Четный байт содержит ASCII-код символа, а нечетный байт – его атрибуты (цвет очертания пикселя, цвет фона).

Видеопамять адаптера, при его работе в текстовом режиме, доступна для непосредственного доступа из программы. Таким образом, как и при работе с обычной памятью, каждую ячейку видеопамяти можно прочитать или записать туда какие-то данные. CGA адаптер, с 16 К байт видеопамяти, содержит 4 страницы видеопамяти. Вывод информации на экран со страницы происходит с некоторого начального адреса, которое называется смешением до видеостраницы. Страница 0 имеет нулевое смещение. Следующая страница имеет смещение 4К байт. При изменении начального смещения происходит переключение страницы, т.е. обновляется экран.

Работая в графическом режиме, мы управляем цветом выводимого пиксела. Сам экран представляет собой матрицу пикселов. Число строк и столбцов пикселов зависит от текущего режима работы видеоадаптера. В процессе работы видеоадаптер хранит коды цветов пикселов в видеобуфере.