Программирование видеоадаптеров, регисторв и видеоподсистемы, страница 7

Непосредственный доступ к памяти

В процессе работы в алфавитно-цифровом режиме имеющаяся память используется для сохранения ASCII-кодов выводимых символов и их атрибутов (цвет, яркость и/или мерцание). Первые два байта памяти адаптера рассматриваются центральным процессором как место расположения символа в левом верхнем углу экрана, а последующими словами (двухбайтовыми) определяются позиции символов в направлении слева направо и сверху вниз по экрану соответственно. Первый байт каждого слова представляет собой ASCII-код каждого символа. Второй байт разделен на группы, состоящие из одного и трех битов, отвечающих за цвет символа (биты 0-2), яркость (бит 3), цвет фона (биты 4-6) и мерцание (бит 7) соответственно. Для графических мониторов адреса начинаются со значения b8000h, а для монохромных (неграфических) мониторов - со значения b0000h.

В графическом режиме память используется для хранения цвета каждой растровой точки (пиксела). Распределение памяти по растровым точкам зависит от вида графического режима и размера памяти, установленной в EGA (для случая работы с VGA используется такое же распределение памяти, как и для EGA с памятью 256К). Во всех режимах пикселы размещаются слева направо и сверху вниз в соответствии с увеличением адресов памяти.

Программирование регистров видеоадаптера

EGA и VGA имеют регистры, предназначенные для реализации управляющих функций адаптера. Регистры адаптера могут быть разделены на 5 основных групп:

·  внешние регистры;

·  регистры указателя последовательности;

·  регистры КЭЛТ (контроллера электронно-лучевой трубки);

·  регистры графического контроллера;

·  регистры атрибута.

Эти группы регистров связаны между собой, хотя и существуют исключения. Посредством указателя последовательности осуществляется управление доступом к памяти, синхронизацией и  потоком данных между другими регистрами. КЭЛТ регулирует длительность временного интервала для вывода информации. Основная задача, решаемая графическим контроллером - реализация функций графического режима. Атрибут-контроллер осуществляет управление цветовыми палитрами, a внешние регистры предназначены для работы c различными функциями. При использовании VGA к вышеуказанным группам добавляется группа регистров, называемых регистрами ЦАП (цифро-аналогового преобразователя), предназначенного для преобразования номера цвета в напряжение для аналогового монитора.