Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование видеоадаптеров EGA, VGA и SVGA.doc
Скачиваний:
138
Добавлен:
01.05.2014
Размер:
4.51 Mб
Скачать

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

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

Графический контроллер содержит девять регистров. Обращение к ним происходит через индексный порт с адресом 3CEh и порт данных с адресом 3CFh. Адаптер EGA имеет два дополнительных порта с адресами 3CAh и 3CCh, используемых при инициализации видеоадаптера.

Список регистров представлен в следующей таблице:

Индекс регистра

Регистр графического контроллера

0

Регистр установки/сброса (Set/Reset Register - SRR)

1

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

2

Регистр сравнения цветов (Color Compare Register - CCR)

3

Регистр циклического сдвига и выбора функции (Data Rotate & Function Select - DRFS)

4

Регистр выбора читаемого слоя (Read Plane Select Register - RPSR)

5

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

6

Регистр смешанного назначения (Miscellaneous Register - MIR)

7

Регистр маскирования цветовых слоев (Color Don't Care Register - CDCR)

8

Регистр битовой маски (Bit Mask Register - BMR)

На рисунке 4.9, демонстрируются функции, выполняемые графическим контроллером. Рассмотрим функционирование графического адаптера.

Байт, записываемый центральным процессором в видеопамять (11100001b), поступает в графический контроллер. В соответствии со значением регистра циклического сдвига и выбора функции, происходит циклический сдвиг на один бит содержимого байта, записываемого в видеопамять.

Полученный результат складывается по логике ИЛИ с содержимым регистров-защелок. Вы можете применить другие булевы функции - И, ИСКЛЮЧАЮЩЕЕ ИЛИ. Используемая булева функция выбирается регистром циклического сдвига и выбора функции.

Дальнейшие преобразования происходят в соответствии со значениями регистра разрешения установки/сброса и регистра установки/сброса:

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

w Если бит регистра разрешения установки/сброса, управляющий данным цветовым слоем, равен единице, то в него записывается байт, все биты которого устанавливаются в соответствии со значением регистра установки/сброса для данного цветового слоя.

Затем в зависимости от состояния регистра битовой маски происходит запись данных в видеопамять:

w Если бит регистра битовой маски содержит единицу, то соответствующие биты для каждого из цветовых слоев поступают из видеопамяти.

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

PICTURE._FIG_40.PCX;6";4.308";PCX

Рисунок 4.9 Функции графического контроллера

Теперь рассмотрим регистры графического контроллера более подробно.