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

       

Регистр разрешения установки/сброса (Set/Reset Enable Register - SRER) (индекс1)



Регистр разрешения установки/сброса
(Set/Reset Enable Register - SRER) (индекс 1)

Регистр разрешения установки/сброса позволяет при операции записи в видеопамять для одних цветовых слоев использовать данные от процессора, а для других - из регистра установки/сброса (см. рисунок 8.11).

Если биты регистра, управляющие цветовыми слоями, содержат единицы, то при выполнении операции записи, в соответствующие цветовые слои записывается информация из регистра установки/сброса. В остальные слои видеопамяти заносятся данные от процессора.

Теперь приведем формат регистра разрешения установки/сброса:

  • D0 Разрешение использования данных из регистра установки/сброса для цветового слоя 0.
  • D1 Разрешение использования данных из регистра установки/сброса для цветового слоя 1.
  • D2 Разрешение использования данных из регистра установки/сброса для цветового слоя 2.
  • D3 Разрешение использования данных из регистра установки/сброса для цветового слоя 3.
  • D7-D4 Зарезервированно.

По умолчанию во все биты регистра записываются нулевые значения.

Заметим, что возможность использования регистров установки/сброса можно реализовать только в нулевом режиме записи. Режим записи устанавливается регистром режима работы графического контроллера (Mode Register, индекс 5). В нулевом режиме записи, если запрещено выполнение операции маскирования пикселов (регистр битовой маски содержит значение 0FFh), то каждый байт, записываемый процессором в видеопамять определяет параметры 8 пикселов в одном или нескольких цветовых слоях. Более подрбное описание регистра режима работы графического контроллера и регистра битовой маски приведено ниже.

Рассмотрим на рисунке 8.11 применение регистров установки/сброса. Пусть графический контроллер находится в нулевом режиме работы, и регистр битовой маски равен 0FFh (используются только данные от процессора). В этом случае можно использовать регистры установки/сброса.

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

  • байт 11110000b передается в третий слой видеопамяти,
  • байт 00000011b передается во второй слой видеопамяти,
  • байт 00110011b передается в первый слой видеопамяти,
  • байт 00110011b передается в нулевой слой видеопамяти.

Данные, непосредственно поступающие в видеопамять зависят от значения регистра разрешения установки/сброса. Биты D3 и D0, регистра разрешения установки/сброса равны нулю, поэтому в третий слой и нулевой слой видеопамяти данные заносятся без изменения. Биты D2 и D1 регистра разрешения установки/сброса равны единице, значит во второй и первый слои видеопамяти записываются данные в соответствии со значением битов D2 и D1 регистра установки/сброса. То есть во второй слой записывается байт 00000000b, а в первый - 11111111b.



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