Регистры графического контроллера
🕛 28.12.2008, 20:11
┌─────────────────────────────────────┬────────────┬───────────────┐ │ Наименование │ Порт │ Индекс │ ├─────────────────────────────────────┼────────────┼───────────────┤ │ Регистр позиции графики 1 │ 3СС │ │ │ (Graphics 1 Position ) │ │ │ │ Регистр позиции графики 2 │ 3СA │ │ │ (Graphics 2 Position ) │ │ │ │ Адресный регистр графического конт │ 3CE │ │ │ роллера (Graphics 1 & 2 Address) │ │ │ │ Цвета (Set/Reset) │ 3CF │ 00 │ │ Разрешения цвета (Enable Set/Reset) │ 3CF │ 01 │ │ Сравнения цвета (Color Compare) │ 3CF │ 02 │ │ Вращения данных (Data rotate) │ 3CF │ 03 │ │ Выбора плоскости для чтения │ 3CF │ 04 │ │ (Read Map Select) │ │ │ │ Выбора режима (Mode) │ 3CF │ 05 │ │ Многоцелевой (Miscellaneous) │ 3CF │ 06 │ │ Регистр независимости от значения │ │ │ │ плоскости при чтении │ 3CF │ 07 │ │ (Color Don't Care) │ │ │ │ Маски (Bit Mask) │ 3CF │ 08 │ └─────────────────────────────────────┴────────────┴───────────────┘ Регистр позиции графики 1 Регистр типа "только запись". Адрес порта вывода для этого ре гистра 3CC. ┌──────────────────────────────────────────────────────────────────┐ │ Формат регистра позиции графики 1 │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ │ │ └──> Позиция 0 │ │ │ │ │ │ │ │ └────> Позиция 1 │ │ └─┴─┴─┴─┴─┴──────> Не используются │ └──────────────────────────────────────────────────────────────────┘ Бит0Бит1 Биты иерархии графических микросхем. Регистр позиции оп ределяет, за обработку каких двух битов процессорных дан ных отвечает каждая графическая микросхема. Для адаптера EGA в этот регистр всегда заносится значение 0.  Регистр позиции графики 2 Регистр типа "только запись". Адрес порта вывода для этого ре гистра 3CA. ┌──────────────────────────────────────────────────────────────────┐ │ Формат регистра позиции графики 2 │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ │ │ └──> Позиция 0 │ │ │ │ │ │ │ │ └────> Позиция 1 │ │ └─┴─┴─┴─┴─┴──────> Не используются │ └──────────────────────────────────────────────────────────────────┘ Бит0Бит1 Биты иерархии графических микросхем. Регистр позиции оп ределяет, за обработку каких двух битов процессорных дан ных отвечает каждая графическая микросхема. Для адаптера EGA в этот регистр всегда заносится значение 1. Адресный регистр графического контроллера Регистр типа "только запись". Адрес порта вывода для этого ре гистра 3CE. ┌──────────────────────────────────────────────────────────────────┐ │ Формат адресного регистра графического контроллера │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ └─┴─┴─┴──> Адрес регистра │ │ └─┴─┴─┴──────────> Не используются │ └──────────────────────────────────────────────────────────────────┘ Бит0Бит3 Биты адреса регистра графического контроллера индекс регистра графического контроллера в который будет произ водится запись. Регистр цвета Регистр типа "только запись". Для доступа к этому регистру зна чение адресного регистра должно быть равным 00h. Адрес порта вывода регистра цвета 3CF.
┌──────────────────────────────────────────────────────────────────┐ │ Формат регистра цвета │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ │ │ └──> Значения для плоскости 0 │ │ │ │ │ │ │ │ └────> Значения для плоскости 1 │ │ │ │ │ │ │ └──────> Значения для плоскости 2 │ │ │ │ │ │ └────────> Значения для плоскости 3 │ │ └─┴─┴─┴──────────> Не используются │ └──────────────────────────────────────────────────────────────────┘
  Бит0Бит3 Эти биты представляют собой значения помещаемые в соот ветствующие битовые плоскости при записи данных в режиме записи 0 при условии, что в регистре разрешения цвета соответствующая плоскость разрешена. Плоскости могут быть разрешены для записи значением из регистра цвета путем помещения в регистр разрешения цвета необходимого значе ния командой типа OUT. Регистр разрешения цвета Регистр типа "только запись". Для доступа к этому регистру зна чение адресного регистра должно быть равным 01h. Адрес порта вывода регистра разрешения цвета 3CF.
┌──────────────────────────────────────────────────────────────────┐ │ Формат регистра разрешения цвета │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ │ │ └──> Разрешение битовой плоскости 0 │ │ │ │ │ │ │ │ └────> Разрешение битовой плоскости 1 │ │ │ │ │ │ │ └──────> Разрешение битовой плоскости 2 │ │ │ │ │ │ └────────> Разрешение битовой плоскости 3 │ │ └─┴─┴─┴──────────> Не используются │ └──────────────────────────────────────────────────────────────────┘ Бит0Бит3 Эти биты используются для разрешения заполнения каждого бита в байте битовой плоскости значением бита из регистра цвета для соответствующей плоскости при использовании ре жима записи 0. Если установлен режим записи 0 и плоскость не разрешена для записи значением из регистра цвета, то в данную плоскость при выполнении процессором операции за писи в память видеоадаптера заносится байт данных посту пающий от процессора. Регистр сравнения цвета Регистр типа "только запись". Для доступа к этому регистру зна чение адресного регистра должно быть равным 02h. Адрес порта вывода регистра сравнения цвета 3CF.
┌──────────────────────────────────────────────────────────────────┐ │ Формат регистра сравнения цвета │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ │ │ └──> Бит 0 кода цвета для сравнения │ │ │ │ │ │ │ │ └────> Бит 1 кода цвета для сравнения │ │ │ │ │ │ │ └──────> Бит 2 кода цвета для сравнения │ │ │ │ │ │ └────────> Бит 3 кода цвета для сравнения │ │ └─┴─┴─┴──────────> Не используются │ └──────────────────────────────────────────────────────────────────┘
  Бит0Бит3 Эти биты используются для задания 4х битового кода цве та для сравнения. Если для графических микросхем установ лен режим чтения 1 и выполняется операция чтения видеопа мяти, то в прочитанном байте каждый бит для которого зна чения всех четырех плоскостей совпадает с соответствующи ми битами из рассматриваемого регистра будет установлен в 1 и в 0 в противном случае. Регистр вращения данных Регистр типа "только запись". Для доступа к этому регистру зна чение адресного регистра должно быть равным 03h. Адрес порта вывода регистра вращения данных 3CF.
┌──────────────────────────────────────────────────────────────────┐ │ Формат регистра вращения данных │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ └─┴─┴──> Число бит на которое производится сдвиг │ │ │ │ │ └─┴────────> Логическая функция │ │ └─┴─┴────────────> Не используются │ └──────────────────────────────────────────────────────────────────┘ Бит0Бит2 Двоичное значение, определяющее число бит на которое про изводится циклический сдвиг данных процессора влево при записи данных в видеобуфер. Эта операция выполняется только в режиме записи 0. Для записи данных без сдвига эти биты должны быть установлены в 0. Бит3Бит4 При выполнении операции записи, данные процессора могут быть логически обработаны вместе с данными хранящимися в регистрефиксаторе. Ниже представлен список допустимых битовых функций. Биты 4 3 ───── 0 0 Данные не изменяются 0 1 AND со значением в регистрефиксаторе 1 0 OR со значением в регистрефиксаторе 1 1 XOR со значением в регистрефиксаторе Если должен быть выполнен циклический сдвиг, то операция сдвига выполняется до выполнения логической операции.
  Регистр выбора плоскости для чтения Регистр типа "только запись". Для доступа к этому регистру зна чение адресного регистра должно быть равным 04h. Адрес порта вывода регистра выбора плоскости для чтения 3CF.
┌──────────────────────────────────────────────────────────────────┐ │ Формат регистра выбора плоскости для чтения │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ └─┴─┴──> Номер плоскости для чтения │ │ └─┴─┴─┴─┴────────> Не используются │ └──────────────────────────────────────────────────────────────────┘ Бит0Бит2 Двоичное число, определяющее номер плоскости из которой будут читаться данные при выполнении операции чтения в режиме 0. Значение в данном регистре не оказывает влияния на результат выполнения операции в режиме чтения 1. Регистр выбора режима Регистр типа "только запись". Для доступа к этому регистру зна чение адресного регистра должно быть равным 05h. Адрес порта вывода регистра выбора режима 3CF.
┌──────────────────────────────────────────────────────────────────┐ │ Формат регистра выбора режима │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ │ └─┴──> Режим записи │ │ │ │ │ │ │ └──────> Бит тестирования │ │ │ │ │ │ └────────> Режим чтения │ │ │ │ │ └──────────> Чет/нечет │ │ │ │ └────────────> Режим регистра сдвига │ │ └─┴──────────────> Не используются │ └──────────────────────────────────────────────────────────────────┘
  Бит0Бит1 Режим записи Биты 1 0 ───── 0 0 В том случае, если для битовой плоскости не уста новлен бит разрешения в регистре разрешения цвета, в соответствующую битовую плоскость заносятся дан ные процессора сдвинутые в соответствии со значе нием в регистре вращения. Все 8 бит байтов плос костей для которых установлен бит разрешения за полняются значением для данной плоскости из регис тра цвета. 0 1 Каждая битовая плоскость заполняется соответствую щим значением из регистрафиксаторе. Загрузка ре гистрафиксатора производится при выполнении про цессором операции чтения видеобуфера. 1 0 Все 8 бит байта битовой плоскости n (от 0 до 3) заполняются значением nго бита записываемого про цессором в видеобуфер байта. 1 1 Не используется. Бит 2 При установке в 1 все выходы графического контроллера пе реводятся в режим высокого сопротивления для тестирования. Бит 3 Режим чтения. Логический 0 процессор осуществляет чте ние данных из плоскости заданной значением в регистре вы бора плоскости для чтения. Логическая 1 в результате выполнения операции чтения в 1 будут установлены только те биты в байте, для которых цвет совпадает с цветом, за данным в регистре сравнения цвета. Бит 4 Логическая 1 используется для выбора режима адресации чет/нечет который является полезным при работе в режимах совместимости с адаптерами типа CGA. Обычно значение дан ного бита совпадает со значением бита 3 регистра режима использования памяти блока синхронизации. Бит 5 Логическая 1 в регистрах сдвига каждой графической мик росхемы последовательный поток данных форматируется таким образом, что биты с четными номерами помещаются в битовые плоскости с четными номерами, а с нечетными номерами в нечетные битовые плоскости.
  Многоцелевой регистр Регистр типа "только запись". Для доступа к этому регистру зна чение адресного регистра должно быть равным 06h. Адрес порта вывода многоцелевого регистра 3CF.
┌──────────────────────────────────────────────────────────────────┐ │ Формат многоцелевого регистра │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ │ │ └──> Графический режим │ │ │ │ │ │ │ │ └────> Сцепление нечетных плоскостей с четными │ │ │ │ │ │ │ └──────> Битовая плоскость 0 │ │ │ │ │ │ └────────> Битовая плоскость 1 │ │ └─┴─┴─┴──────────> Не используюся │ └──────────────────────────────────────────────────────────────────┘ Бит 0 Используется для управления адресацией в алфавитноцифро вых режимах. Логическая 1 перводит адаптер в графический режим. В графическом режиме фиксация адресов генератора символов не производится. Бит 1 Логическая 1 Бит 0 генерируемого процессором адреса за меняет старший бит адреса и, таким образом четная/нечет ная плоскость выбирается в зависимости от того четный или нечетный адрес формирует процессор при обращении к видео памяти. Бит2Бит3 Данные биты используются для отображения пространства ад ресов процессора на видеопамять. Биты 3 2 ───── 0 0 A000h длиной 128 Кб 0 1 A000h длиной 64 Кб 1 0 B000h длиной 32 Кб 1 1 B800h длиной 32 Кб Если пространство адресов начинается с A000h и имеет дли ну 128 Кб, в системе не может быть дополнительно установ лен никакой другой дисплейный адаптер.
  Регистр независимости от цвета Регистр типа "только запись". Для доступа к этому регистру зна чение адресного регистра должно быть равным 07h. Адрес порта вывода регистра независимости от значения плоскости при чтении 3CF. ┌──────────────────────────────────────────────────────────────────┐ │ Формат независимоти от значения плоскости при чтении │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ │ │ │ │ │ │ │ └──> Независимость от значения плоскости 0 │ │ │ │ │ │ │ │ └────> Независимость от значения плоскости 1 │ │ │ │ │ │ │ └──────> Независимость от значения плоскости 2 │ │ │ │ │ │ └────────> Независимость от значения плоскости 3 │ │ └─┴─┴─┴──────────> Не используются │ └──────────────────────────────────────────────────────────────────┘ Бит 0 Логическая 1 при чтении с использованием регистра срав нения цвета значение в битовой плоскости 0 не оказывает влияния на результат. Бит 1 Логическая 1 при чтении с использованием регистра срав нения цвета значение в битовой плоскости 1 не оказывает влияния на результат. Бит 2 Логическая 1 при чтении с использованием регистра срав нения цвета значение в битовой плоскости 2 не оказывает влияния на результат. Бит 3 Логическая 1 при чтении с использованием регистра срав нения цвета значение в битовой плоскости 3 не оказывает влияния на результат. Регистр маски Регистр типа "только запись". Для доступа к этому регистру зна чение адресного регистра должно быть равным 08h. Адрес порта вывода регистра маски 3CF. ┌──────────────────────────────────────────────────────────────────┐ │ Формат регистра маски │ ├──────────────────────────────────────────────────────────────────┤ │Биты 7 6 5 4 3 2 1 0 │ │ └─┴─┴─┴─┴─┴─┴─┴──> 0 значение не изменяется │ │ 1 значение может быть изменено │ └──────────────────────────────────────────────────────────────────┘ Бит0Бит7 Если nй бит регистра маски установлен в 0, nй бит в каждой из 4х плоскостей при выполнении операции записи не будет изменен (при условии, что последняя операция чтения производилась процесоором по тому же адресу что и запись). Если бит установлен в 1, то соответствующий бит может быть изменен в соответствии с правилами, определяе мыми значениями других регистров графического контроллера.
  Битовая маска используется при всех вариантах выполнения операции записи (при циклическом сдвиге, применении логи ческих операций OR, XOR, AND, при записи плоскостей дан ными из регистра цвета и т.д.). Для того чтобы с помощью регистра маски защитить определенные биты в байте от из менения, находящиеся по рассматриваемому адресу видеопа мяти данные должны быть помещены во внутренний ре гистрфиксатор адаптера. При выполнении процессором опе рации чтения байта видеопамяти данные всех четырех плос костей автоматически помещаются в регистрфиксатор. Бито вая маска одновременно применяется ко всем четырем плос костям.