Адаптер VGA. Организация и работа

Базовые системы отображения.

Без возможности видеть результаты своей работы, персональный компьютер стал бы бесполезным инструментом. Необходимо каким-либо образом наблюдать за сигналами компьютерной системы, что бы знать, чем она занимается в данный момент. Сегодня реализацией подобного рода функций занимается видеосистема.

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

Стандартными средствами для отображения текста являются дисплеи, работающие с картами символов. Специальная область памяти зарезервирована для хранения символа, который предстоит изобразить на экране. И программы пишут текст на экран, заполняя символами эту область памяти. Экран чаще всего представляется матрицей 80 на 25 символов.

Образ каждого символа, который появляется на экране, хранится в специальной микросхеме ПЗУ. Эта память относится к видеоцепям компьютера.

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

IBM четыре раза меняла назначение ОЗУ под видеосистему. Во-первых, это касается PC и XT. Еще один вариант используется в PCjr и последний предназначается для всех последних улучшеных видеосистем.

Первые две видеосистемы PC использовали различные области памяти и поэтому могли работать одновременно. Обычно одна область памяти предназначается для монохромного дисплея, а другая для цветного. Используются одни и те же области памяти для любого режима в независимости от используемого адаптера дисплея. Память монохромного экрана распологается по адресу В0000, цветного — В8000. Для обеспечения совместимости все новые видеосистемы могут работать через эти же адреса, даже если они хранят дополнительную информацию еще где-либо.

Программы, заносящие информацию на экран, должны знать, какую память они должны использовать для этого. Нужную информацию можно получить, прочтя информацию из специального байта памяти — флага видеорежима. Он предназначается для указания: какого вида адаптер дисплея установлен внутри компьютера и используется в настоящее время. Он позволяет компьютеру знать, с каким дисплеем — монохромным или цветным он имеет дело.

Этот байт позволяет так же указать — с цветным или монохромным дисплеем работает компьютер даже в том случае, если установлен адаптер, способный работать с двумя видами дисплеев. Байт флага видеорежима размещается в начале оперативной памяти, по адресу 0463h. Для кодировки текущего дисплея используется байт 0В4h для указания монохромного режима и 0D4h — для цветного.

По стандарту IBM символы, видимые на экране, не хранятся в непрерывной последовательности. Символы, которые мы видим на экране, располагаются в байтах памяти с промежутком в один байт. Эти промежуточные байты отведены для хранения параметров изображаемых символов. Четный байт памяти содержит символ, а нечетный — хранит его атрибуты.

Излишки выделенной памяти могут использоваться для хранения нескольких изображений экранов. Каждый такой образ называется видеостраницей. Все базовые видеосистемы разработаны таким образом, чтобы реализовать быстрое переключение с одной страницы на другую. Это позволяет изменять изображения экрана почти без всяких задержек. С помощью переключателей можно управлять скоростью замены экранных страниц.