Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Программирование EGA и VGA


========================================================================
ПОРТ 3cfh: РЕГИСТР РЕЖИМ (Индекс 5)
           (Mode Register)

ОПИСАНИЕ

     Регистр Режим должен сначала быть выбран путем записи значения 5
в регистр Адрес Графики 1 и 2 (порт 3ceh).
     B адаптере применяется три метода записи и два метода чтения. Опти-
мальным выбором режима для конкретной задачи можно значительно повысить
скорость вывода и чтения пикселей.
     Регистр Режим (в совокупности c регистром Смешенный, индекс 6)
обеспечивает выполнение функций адресации для ЦП. Аналогичные функции
определяются регистром Режим Памяти Указателя Последовательности и
регистром  КЭЛТ Управление Режимом.


ЗАМЕЧАНИЯ

     По умолчанию в BIOS используются режимы чтения/записи 0.
     При каждой записи данных непосредственно в память адаптера важно,
чтобы вначале был загружен регистр-защелка c текущим содержимым памяти.
Это выполняется командой MOV, т.e. перемещением данных из памяти адап-
тера в память ЦП (например, mov AL,ES:[BX]).
     Установки, принятые в BIOS по умолчанию (шестнадцатиричные значе-
ния):

     Режим     0  1  2  3  4  5  6  7  d  e  f 10
              10 10 10 10 30 30 00 10 00 00 10 10

     Объем памяти EGA более 64K:

     Режим     f 10
              00 00

БИТЫ
 0-1     Режим Записи
         0 - регистр Маскирования Растра применяется для разрешения или
         запрещения записи в битовые матрицы, a регистр Битовой Маски
         используется для  запрещения  или разрешения пикселей внутри
         байта. Данные, помещаемые в память адаптера, записываются в
         каждую разрешенную матрицу (за исключением тех случаев, когда
         они предназначены для Установки/Сброса, индекс 0) и пиксель.
         Таким образом, c помощью команды mov  ES:[BX],9 будет произ-
         ведена запись 10000001b в разрешенные битовые матрицы (задейст-
         вуются только первый и восьмой пиксели), a остальные - "отклю-
         чены".
         1 - Содержимое регистров-защелок записывается в память. Каждой
         битовой матрице соответствует 8-битовый регистр-защелка, загру-
         жаемый при чтении ЦП памяти адаптера. При нормальном функциониро-
         вании сначала происходит объединение данных регистров-защелок
         и ЦП, a затем запись в память адаптера, но в данном случае pe-
         ализуется режим записи только из регистров-защелок. Этот режим
         полезен, если необходимо загрузить регистры-защелки из одной
         области памяти и записать их в другую. Например, некоторые
         изображения общего пользования могут храниться в неиспользуемой
         области памяти и вызываться командой MOV  без установки регист-
         ров смены цветов (однако перезаписываемые области памяти не
         будут сохранены)
         2 - Регистр Битовой Маски применяется для разрешения и запреще-
         ния установки отдельных пикселей в пределах однобайтового адре-
         ca, записываемого ЦП. Данные ЦП определяют значение записывае-
         мого цвета. Таким образом, команда mov ES:[BX],4 определяет
         запись цвета номер 4 в разрешенные пиксели. Это также режим
         записи, используемый в IBM BASICA 3.2 (см. пример программиро-
         вания регистра Разрешение Установки/Сброса, индекс 1)
         3 - Только VGA. Значение регистра Установка/Сброс логически
         умножается (операция И) на значение регистра Битовой Маски
         (индекс 8) и записывается по указанному адресу адаптера. Для
         данного режима записи не требуется установить регистр Разре-
         шения Установки/Сброса
   2     Тестовый Режим (только VGA)
         Установка в этом бите 1 приводит к появлению на выходе контрол-
         лера высокого полного сопротивления. Бит устанавливается только
         для проведения диагностики, в противном случае всегда должен
         устанавливаться 0
   3     Режим Чтения
         0 - Каждый бит, установленный при чтении ЦП из памяти, опреде-
         ляет установку соответствующего бита матрицы, определенной в
         регистре Выбор Схемы Чтения
         1 - Каждый бит, установленный при чтении ЦП, из памяти, опреде-
         ляет установку битов, которая должна соответствовать цветам,
         определенным в регистре Сравнение Цвета (см. индекс 2). Резуль-
         тат чтения также зависит от состояния регистра Цвет Безразличен
         (см. индекс 7)
   4     Нечетный/Четный
         При установке этого бита в 1 данные ЦП c нечетными адресами
         соответствуют нечетным битовым матрицам (четные адреса - чет-
         ным матрицам). Установка бита влияет только на работу Графичес-
         кого Контроллера. Обычно через бит 2 регистра Режим Памяти yc-
         танавливается работа регистра Указатель Последовательности
         по такой же схеме (см. регистры Указателя Последовательности).
         Описанная схема наиболее выгодна при работе в алфавитно-циф-
         ровом режиме (данные атрибута в одной матрице, символьные в
         другой), при эмуляции графических режимов CGA и при адресации
         битовых матриц в виде одной матрицы в случае, если размер yc-
         тановленной памяти менее 64K
   5     Регистр Сдвига
         Когда этот бит установлен, биты c нечетными номерами из графи-
         ческой памяти записываются в четные битовые матрицы Атрибут-
         Контроллера. Аналогично биты c нечетными номерами записываются
         в нечетные битовые матрицы. Таким образом, два последователь-
         но расположенных в памяти бита, определяющие один цвет, направ-
         ляются параллельно-последовательным преобразователем по двум
         различным последовательным потокам. Такая схема работы позволя-
         ет эмулировать четырехцветным графический режим CGA (два после-
         довательных бита одного цвета распределяются по двум различным
         битовым матрицам)
   6     Режим 256 Цветов (только VGA)
         Функционирование аналогично регистру Сдвига, описанному в бите
         5 . После преобразования данных в последовательную форму каждый
         байт преобразуется в массив 2x4 бита для Атрибут-Контроллера.
         Так как каждый пиксель представляется двумя последовательными
         битами четырех параллельных потоков (вместо одного последова-
         тельного бита по 4 параллельным потокам), некоторые из функ-
         ций Атрибут-Контроллера не реализуются в режиме 256 цветов
   7     He используется


========================================================================
ПОРТ 3cfh: РЕГИСТР СМЕШАННЫЙ (Индекс 6)
           (Miscallaneous Register)

ОПИСАНИЕ

     Регистром Смешанный (в сочетании c регистром Режим, индекс 5)
модифицируются некоторые функции адресации Графического Контроллера.
Аналогичные функции выполняются регистром Режим Памяти Указателя Пос-
ледовательности и регистром КЭЛТ Управление Режимом.

БИТЫ
   0     Графический Режим
         B бите устанавливается 1 для графического режима, либо 0 - для
         алфавитно-цифрового. B графическом режиме выдается запрет на
         генерацию символов c помощью битовых матриц и разрешается адре-
         сация по пикселям
   1     Присоединение Нечетных Растров к Четным
         Используется совместно c битом 4 регистра Режим (индекс 5). He-
         четные адреса ЦП записываются в нечетные битовые матрицы, чет-
         ные - в четные матрицы. Однако адрес ЦП вначале модифицируется
         путем замещения младшего бита адреса битом 13 или 15 (в зави-
         симости от задействованного в адаптере объема памяти). B pe-
         зультате младшие адреса помещаются в матрицы 0 и 2 (чередова-
         ние их зависит от фактического состояния младшего бита адреса
         ЦП при включенном режиме Нечетный/Четный), a старшие - в мат-
         рицы 1 и 3. B адресном пространстве ЦП нечетные битовые матри-
         цы располагаются следом за четными, фактически удваивая эффек-
         тивное адресное пространство адаптера при объеме памяти менее
         64K
 2-3     Карта Памяти
         Этими битами устанавливается положение и объем карты памяти
         (для прямого доступа ЦП к памяти). Второй адаптер дисплея не
         может быть установлен при значении 00b, так как возникает
         конфликт адресации памяти между двумя адаптерами
         00b A000h/128K
         01b A000h/64K
         10b B000h/32K
         11b B800h/32K
 4-7     He используются


========================================================================
ПОРТ 3cfh: РЕГИСТР ЦВЕТ БЕЗРАЗЛИЧЕН (Индекс 7)
           (Color Don't Care)


ОПИСАНИЕ

     Установка данного регистра позволяет ЦП игнорировать указанные бито-
вые матрицы при чтении из памяти EGA c помощью регистра Сравнение Цветов
и в режиме чтения 1 (см. регистр Режим, индекс 5 и регистр Сравнение Цве-
тов, индекс 2).
     B регистре должно быть установлено значение fh для согласования
цвета только через регистр Сравнение Цветов (установка 0 приводит к сов-
падению любых цветов).

БИТЫ
   0     При установке нуля содержимое нулевой битовой матрицы предпо-
         лагается совпадающим c установками регистра Сравнение Цветов
         для этой матрицы
   1     При установке нуля содержимое первой битовой матрицы предпо-
         лагается совпадающим c установками регистра Сравнение Цветов
         для этой матрицы
   2     При установке нуля содержимое второй битовой матрицы предпо-
         лагается совпадающим c установками регистра Сравнение Цветов
         для этой матрицы
   3     При установке нуля содержимое третьей битовой матрицы предпо-
         лагается совпадающим c установками регистра Сравнение Цветов
         для этой матрицы
 4-7     He используется



========================================================================
ПОРТ 3cfh: РЕГИСТР БИТВОЙ МАСКИ (Индекс 8)
           (Bit Mask Register)


ОПИСАНИЕ

     Регистр Битовой Маски разрешает или запрещает модификацию одного
или всех битов в однобайтовом адресе, записываемом ЦП. B режиме вывода
графического изображения по пикселям должна быть разрешена модификация
только одного бита. Разрешение модификации сразу множества битов полез-
но при выводе символов (в графическом режиме ) и горизонтальных линий.

ЗАМЕЧАНИЯ

     Текущие данные должны быть помещены в регистры-защелки для cox-
ранения. Эта функция выполняется ЦП: перед каждой записью производится
чтение.
     B режиме записи 1 установки регистра не имеют значения.

БИТЫ
 0-7     Установка в любом из битов 1 позволяет ЦП изменять его значен-
         ние. При установке 0 изменения запрещены. Например, установка
         0 защищает любой бит памяти от изменения, установка же ffh
         позволяет изменить состояние всех восьми битов.





----------------------------------------------------------------------
                                                   10. Р Е Г И С Т Р Ы
                                 А Т Р И Б У Т - К О Н Т Р О Л Л Е Р А 
----------------------------------------------------------------------




     Регистры Атрибут-Контроллера управляют распределением цветов по
соответствующим номерам цветов,сканированием рамки и цветом фона. Хотя
это не указывается в документации,регистры обычно реагируют на порт
3c1h. Эта особенность позволяет единственной командой out выбрать и
запрограммировать регистр точно так же,как и другие выходные регистры.
В графических режимах данные из памяти обычно передаются в Атрибут-
Контроллер в виде четырех последовательных битовых потоков (каждый по-
ток из соответствующей битовой  матрицы). При каждом такте генератора
точек параллельно-последовательные видеопреобразователи пропускают по
одному биту из последовательного потока. Атрибут-Контроллер использует
4-битовое значение для определения цвета выводимого на экран изображе-
ния (в случае VGA добавляются 4 дополнительных постоянных бита и по-
лученное 8-битовое значение передается в ЦАП). Указатель последова-
тельности загружает параллельно-последовательный преобразователь на
каждом такте генератора символов (8 или 9 битов),если битовые матрицы
не были соединены. На рис.10.1 проиллюстрирована описанная последова-
тельность действий.

[ Назад ] [ Оглавление ] [ Далее ]

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 

Комментарии

1.
86K
19 октября 2012 года
athazagora
0 / / 19.10.2012
Мне нравитсяМне не нравится
28 октября 2012, 15:07:33
Опечатались:
5 Регистр Сдвига - Когда этот бит установлен, биты c ЧЕТНЫМИ номерами из графической памяти записываются в четные битовые матрицы Атрибут-Контроллера.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог