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

       

Регистр режима работы (Mode Register - MDR) (индекс5)


Регистр управляет несколькими различными функциями графического контроллера. В частности он управляет режимом записи в видеопамять, а также разрешением режима сравнния цветов (см. регистр сравнения цветов графического контроллера).

D1-D0 Режим записи. D2 Не используется. D3 Разрешение режима сравнения цветов. D4 Четный/нечетный режим. D5 Режим регистра сдвига. D6 Управление режимом VGA с 256 цветами. D7 Не используется.

Ниже подробно рассмотрены отдельные биты регистра. Мы не рекомендуем изменять состояние битов D4-D7, так как это может привести к потере изображения на экране дисплея.

  • D1, D0 Данные биты определяют режим записи в видеопамять. Возможно использование трех различных режимов записи:


  • D1 D0 Номер режима Режим записи
    0 0 0 режим непосредственной записи
    0 1 1 использование для записи регистров-защелок
    1 0 2 заполнение N-ого цветового слоя битом номер N из данных, записываемых процессором
    1 1 - не используется

  • Режим 0 - режим непосредственной записи. Процессор имеет доступ к видеопамяти и возможно использование следующих операциий: установки/сброса, циклического сдвига и всех логических функций. В этом режиме также возможно использование регистра битовой маски.
  • Режим 1 - режим записи, использующий регистр-защелку. При чтении данных из видеопамяти происходит запись восьми битов из каждого цветового слоя в регистры-защелки. Затем, при выполнении операции записи содержимое регистров-защелок может быть записано обратно в видеопамять, но уже по другому адресу. Этот режим полезно использовать для быстрого копирования данных из одной области видеопамяти в другую.
  • Режим 2. В этом режиме происходит заполнение N-ого цветового слоя битом с порядковым номером N из байта данных, переданного процессором видеоадаптеру для записи. Отсюда следует, что содержимое четырех старших битов записываемого байта (то есть битов D4-D7) значения не имеет.
  • Процесс записи в видеопамять в каждом из перечисленных выше режимов показан на рисунке 8.14.






    Рисунок 8.14 Различные режимы записи в видеопамять.

  • D3 Этот бит управляет разрешением использования режима сравнения цветов (см. регистр сравнения цветов графического контроллера). Для перевода видеоадаптера в режим сравнения цветов бит D3 должен содержать единицу.


  • Остальные биты регистра модифицировать не рекомендуется.

  • D4 Данный бит устанавливается в текстовых режмимах. При этом доступ по четным адресам происходит к четным цветовым слоям, а по нечетным адресам - к нечетным цветовым слоям видеопамяти (см. видеопамять в текстовых режимах).


  • D5 Используется в режимах 4 и 5 для обработки видеоданных в формате "два бита на пиксел".


  • D6 Используется VGA в режиме с 256 цветами (режим 13h).


  • При установке режима работы видеоадаптера BIOS загружает в регистр MDR следующие значения, в зависимости от режима работы видеоадаптера:

    Режим 0,1,2,3,7,F,10 4,5 6,D,E
    Содержимое регистра 10h 30h 00

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