Регистры видеоадаптеров EGA и VGA
Программирование видеоадаптеров на уровне регистров повышает скорость работы программ, но могут возникнуть проблемы с переносом созданного ПО на другой компьютер в связи с неполным соответствием регистров адаптеров различных фирм по их набору, структуре и расположению в адресном пространстве. Современные адаптеры эмулируют регистры адаптеров более низкого уровня. Доступ к большинству регистров осуществляется в два этапа: вначале через один порт указывается номер выбираемого регистра; затем через другой порт выполняется обмен. Такое решение позволяет сократить число портов. Многие регистры доступны только по записи, что приводит к неудобствам в мультизадачных системах. При работе с конкретным видеоадаптером необходимо ознакомиться с соответствующей документацией. ПРИМЕЧАНИЕ: Далее приведено назначение некоторых регистров адаптеров EGA и VGA. Внешние регистры
Управляют работой видеоадаптера в целом. Адресуются непосредственно по адресам своих портов. MOR (Miscellaneous Output Register) - Регистр определения режима работы. 7 - полярность сигнала вертикальной синхронизации (0+, 1-); 6 - полярность сигнала горизонтальной синхронизации (0+, 1-); 5 - используется для перекомпоновки слоев в различные адреса памяти (для текстового режима =1); 4 - =1 дисплей управляется дополнительным устройством; 3..2 - управление тактовой частотой: 00 - 640 или 320 столбцов, 10 - внешний генератор, 01 - 720 столбцов, 11 - резерв. 1 - =0 доступ к видеопамяти запрещен; 0 - выбор диапазона адресов регистров FCR, ISR1 и контроллера ЭЛТ: =0 3Bxh, =1 3Dxh. FCR (Feature Control Register) - Регистр управления дополнительным устройством. Биты D1, D0 регистра передаются на разъем дополнительного устройства FC1, FC0. Бит D3 =0.
ISR0 (Input Status Register 0) - Регистр состояния 0. 7 - обратный ход кадровой развертки (генерируется прерывание IRQ2); 6..5 - значение выходных линий FEAT1, FEAT0 дополнительного устройства; 4 - значение бита переключателя на плате EGA, номер бита соответствует значениям битов 3..2 регистра MOR. Для VGA бит определяет какой дисплей используется (монохромный или цветной); 3..0 - не используются. ISR1 (Input Status Register 1) - Регистр состояния 1. 7..6 - не используются; 5..4 - диагностические (соответствуют двум выходным сигналам); 3 - обратный вертикальный ход луча; 2 - состояние переключателя светового пера; 1 - значение триггера светового пера; 0 - =1 когда адаптер читает данные из видеобуфера. Регистры контроллера ЭЛТ Эти регистры управляют сигналами синхронизации, необходимыми для формирования растра, определяют формат данных на экране и форму курсора. Изменение настройки большинства регистров приводит к потере работоспособности адаптера. Доступ к регистрам осуществляется через индексный порт и порт данных. HTR (Horizontal Total Register) - Общая длина горизонтальной развертки. Длина указывается в знакоместах с учетом времени, необходимого на обратный ход луча. HDER (Horizontal Display Enable Register) - Число отображаемых в строке знакомест, уменьшенное на единицу. SHBR (Start Horizontal Blank Register) - Начало импульса гашения лучагоризонтальной развертки. EHBR (End Horizontal Blank Register) - Конец импульса гашения луча горизонтальной развертки. 7 - =0 для EGA и =1 для VGA; 6..5 - смещение между началом выборки символов и их отображением: 00 - нет, 01 - 1, 10 - 2, 11 - 3 символа; 4..0 - собственно конец импульса. SHRR (Start Horizontal Retrace Regicter) - рачало импульса горизонтального обраного хода луча. EHRR (End Horizontal Retrace Register) - Конец импульса горизонтального обратного хода луча. 7 - для EGA управление горизонтальной сверткой, для VGA пятый бит регистра гашения луча; 6..5 - смещение импульса относительно отображаемого участка развертки: 00 - нет, 01 - 1, 10 - 2, 11 - 3 символа; 4..5 - младшие пять битов конца импульса горизонтальной развертки.
(1) - Общая длительность цикла горизонтальной развертки; (2) - Отображаемая строка символов; (3) - формирование "рамки"; (4) - выключение луча; (5) - начало выбора символов из видеобуфера; (6) - обратный ход луча. Регистры синхронизатора Доступ осуществляется через индексный порт и порт данных. Регистры доступны по записи. CPWE (Color Plane Write Enable) - Регистр разрешения записи цветового слоя. 7..4 - не используются; 3..0 - =1 разрешено записывать в соответствующий слой. CGSR (Character Generator Select Register) - Регистр выбора знакогенератора. 7..6 - не используется; 5..4 - старшие биты номера таблиц; 3..2 - номер таблицы при D3 атрибута = 1; 1..0 - номер таблицы при D3 атрибута = 0; Доступ осуществляется через индексный порт и порт данных. Использование регистров довольно не опасно. В общем виде графический контроллер работает следующим образом: 1. Байт, записываемый в видеопамять поступает в графический контроллер; 2. В соответствии со значением регистра сдвига и выбора функции происходит циклический сдвиг полученного байта; 3. Затем результат сдвига обрабатывается по функции ИЛИ, И или ИСКЛ.ИЛИ с содержимым регистров-защелок; 4. На основе значений регистров разрешения установки/сброса и регистра установки/сброса данные дополнительно модифицируются; 5. В зависимости от значения регистра битовой маски в слои помешается информация из регистров-защелок или результаты преобразования. SRR (Set/Reset Register) - Регистр установки/сброса. 7..4 - резерв; 3..0 - записываемое значение в слой при установленном бите регистра разрешения установки/сброса. SRER (Set/Reset Enable Register) - Регистр разрешения установки/сброса. 7..4 - резерв; 3..0 - =0 - данные для соответствующего слоя берутся от процессора, =1 - данные формируются размножением соответствующего бита регистра установки/сброса. DRFS (Data Rotate & Function Select) - Регистр циклического сдвига и выбора функции. 7..5 - не используются; 4..3 - функция: 00 - нет операции, 01 - И, 10 - ИЛИ, 11 - ИСКЛ. ИЛИ; 2..0 - величина сдвига (вправо). BMR (Bit Mask Register) - Регистр битовой маски. Если его бит =0, то соответствующий бит будет записываться из регистра-защелки; иначе бит поступает от процессора.
Регистры контроллера атрибутов Управляет цветовыми характеристиками изображений. Доступ осуществляется через один порт. Переключение индекс-данные осуществляется при каждой записи в порт. Установку в исходное состояние можно осуществить, прочитав содержимое ISR1. CPR (Color Palette Register's) - Регистры цветовой палитры (0..15). Формат регистров различен для различных дисплеев. SBCR (Screen Border Color Register) - Регистр цвета рамки экрана. Формат эквивалентен формату регистров цветовой палитры. Регистры цифро-аналогового преобразователя VGA LTRIR (Look-up Table Read Index Register) - Указывается индекс читаемого регистра палитры. LTWIR (Look-up Table Write Index Register) - Указывается индекс записываемого регистра палитры. LTDR (Look-up Table Data Register) - Регистр данных таблицы цветов. После установки адреса необходимо выполнить три операции чтения (записи) с интервалом не менее 240нс. 7..6 - не используется; 5..0 - код уровня сигнала
Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|