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

Ваш аккаунт

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

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

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

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


========================================================================
ПОРТ 3C8h (Только VGA): РЕЖИМ ЗАПИСИ PEL АДРЕСА
          (PEL Address Write Mode)

ОПИСАНИЕ

     C помощью этого регистра выбирается регистр PEL данных для записи
(выбор регистра PEL данных для чтения осуществляется c помощью регистра
Режим Чтения PEL Адреса, порт 3c7h). После выбора регистра PEL данных в
порт 3c9h (регистр PEL данных) должны быть записаны три 6-битовых значе-
ния. Первое значение определяет яркость красного цвета, второе - зелено-
го, третье - синего.

ЗАМЕЧАНИЯ

     После записи значений, соответствующих трем основным цветам, значе-
ние регистра PEL адрес автоматически увеличивается до номера следующего
регистра PEL данных.
     Если цикл чтения прерывается каким-либо другим запросом чтения или
записи (например, для перезаписи другого регистра PEL адреса), то те-
кущий цикл далее не выполняется и не оказывает влияния на состояние таб-
лицы цветов ЦАП.
     Цикл записи не должен прерываться чтением в регистр PEL данных (мо-
жет быть испорчена цветовая таблица), хотя регистр PEL адреса может за-
писываться в любой момент.
     Регистр Состояния ЦАП может использоваться для определения теку-
щего состояния ЦАП (чтение или запись).
     Прерывания должны быть запрещены в течении цикла записи.
     Чтение либо запись каждого последующего регистра PEL данных должны
быть разнесены по времени как минимум на 240 наносекунд.

БИТЫ
 0-7     Номер регистра PEL данных (от 0 до 255), который должен быть
         записан


========================================================================
ПОРТ 3C9h (Только VGA): РЕГИСТР PEL ДАННЫХ
          (PEL Data Register)


ОПИСАНИЕ

     Регистр считывает либо записывает текущее значение из таблицы
цветов ЦАП. Каждый цикл включает в себя три последовательные записи или
чтения по этому адресу 6-битовых значений яркости цвета - красного,
зеленого, синего соответственно.
     Если цикл записи или чтения прерывается другим запросом чтения или
записи (например, для перезаписи другого регистра PEL адреса), то теку-
щий цикл далее не выполняется и не влияет на состояние таблицы цветов
ЦАП.

     Нельзя смешивать команды чтения и записи. Чтение регистра PEL дан-
ных должно выполняться только в режиме чтения, a запись - только в pe-
жиме записи.
     Регистр Состояния ЦАП  может использоваться для определения теку-
щего режима ЦАП (чтение или запись).
     Прерывания должны быть запрещены в течении цикла чтения или записи.
     Чтение либо запись каждого последующего регистра PEL данных должны
быть разнесены по времени как минимум на 240 наносекунд.
     He следует читать или записывать в регистр PEL данных в течении
интервала активного вывода на экран. Данную операцию можно производить
либо в период обратного хода луча по кадру, либо при затемненном экране
(см. бит 5 регистра Режим Синхронизации Указателя Последовательности,
порт 3c5h, индекс 1).

БИТЫ
 0-5     Значение цвета для чтения или записи
 6-7     Зарезервированы


========================================================================
ПОРТ 3C6h (Только VGA): РЕГИСТР МАСКИРОВАНИЯ PEL
          (Pel Mask Register)

ОПИСАНИЕ

     BIOS инициализирует в регистре значение ffh каждый раз при измене-
нии видеорежима. Значение регистра нельзя изменять в прикладной прог-
рамме.

ЗАМЕЧАНИЯ

     Любая попытка изменить состояние регистра может вывести из строя
таблицу цветов ЦАП.

БИТЫ
 0-7     Зарезервированы для внутреннего использования.




------------------------------------------------------------------------
                       12. O Б Л A C T Ь   C O X P A H E H И Я   B I O S
------------------------------------------------------------------------




    Каждый раз, когда BIOS осуществляет переустановку режима, в регист-
pax устанавливаются значения по умолчанию, соответствующие выбранному
режиму, a также происходит смена набора символов, устанавливаемого по
умолчанию. Определение значений, устанавливаемых по умолчанию, затруд-
нено, так как большинство регистров EGA не могут быть считаны. Это обс-
тоятельство может оказаться решающим препятствием, если для программы
пользователя требуется переключить режимы, или же программа должна вы-
полняться при различных конфигурациях. Однако BIOS EGA определяет нес-
колько областей в ОЗУ, c помощью которых имеется возможность избежать
проблем, связанных c поведением EGA при переключении режимов.
     По адресу 0040:0a8h содержится указатель, называемый Указателем
Таблицы Сохранения, который ссылается на таблицу (таблицу сохранения),
состоящую из семи указателей в виде двойных слов. При первой инициа-
лизации Таблица сохранения расположена в BIOS EGA, a ee единственный
элемент ссылается на Таблицу параметров (неиспользуемые указатели имеют
вид 0000:0000). Если необходимо модифицировать Таблицу Сохранения, ee
следует скопировать из ПЗУ в ОЗУ, a затем изменить состояние Указателя
Сохранения для адресации новой области памяти.
     Составляющими таблицы сохранения являются:

¦ДВОЙНОЕ Указатель Таблицы Параметров. Это таблица, в которой содержат-
 СЛОВО 1 ся все установки регистров , используемые по умолчанию. B ней
         также содержаться некоторые режимы, предназначенные для внут-
         реннего использования EGA (режимы c 8 по ch). Детально таблица
         параметров будет описана позднее. Эта таблица является единст-
         венным элементом Таблицы Сохранения, требуемым для функциониро-
         ния EGA.

¦ДВОЙНОЕ Указатель Динамически Сохраняемой Области.
 СЛОВО 2 Данный элемент таблицы может устанавливаться пользователем для
         ссылки на 256-байтовую область ОЗУ, называемую Область Сохране-
         ния Палитры. При переустановке режима запись в выбранную об-
         ласть памяти будут записаны установки в регистрах палитры и
         регистре Цвет Рамки (16 байтов, c 0 до 15 - это регистры палит-
         ры и затем - регистр Цвет Рамки). Установки просто копируются
         таблицы параметров, поэтому полезность описываемой функции не
         велика.

¦ДВОЙНОЕ Вспомогательный Указатель Алфавитно-Цифрового Режима.
 СЛОВО 3 Этот элемент таблицы является ссылкой на таблицу, в которой
         содержится описание алфавитно-цифрового набора символов. B
         процессе смены режима генератор символов из ПЗУ загружается в
         битовую матрицу 2 EGA и затем загружает набор символов, опреде-
         ляемый пользователем, в том случае, если значение описываемого
         элемента отлично от 0 (0000:0000). Если набор символов пользо-
         вателя не определен как таблица шрифта 0 (т.e. определен как
         таблица шрифта c 1 по 3) после каждой установки алфавитно-циф-
         рового режима будут существовать две таблицы шрифта.

¦ДВОЙНОЕ Вспомогательный Указатель Графического Режима.
 СЛОВО 4 Этот элемент таблицы является ссылкой на таблицу, в которой
         содержится описание набора графических символов (аналогично
         предыдущему элементу таблицы). Если значением элемента являет-
         ся 0000:0000, используется генератор символов из ПЗУ, в против-
         ном случае применяется набор символов, определяемый пользова-
         телем. B отличие от Вспомогательного Указателя Алфавитно-Цифро-
         вого Режима в данном случае может быть определена только одна
         таблица.

¦ДВОЙНОЕ Вспомогательный Указатель Сохранения (только VGA).
 СЛОВО 5 Предназначен для расширения таблицы адресов VGA. Структура и
         функции этого указателя похожи на Указатель Сохранения.

¦Двойные слова 5-7 не используются в EGA, двойные слова 6-7 - в VGA.


¦ВСПОМОГАТЕЛЬНЫЙ УКАЗАТЕЛЬ СОХРАНЕНИЯ имеет гораздо более гибкую струк-
 туру, чем сам Указатель Сохранения. Он ссылается на область памяти
 имеющую следующую структуру.

¦ПЕРВОЕ  Содержит размер таблицы, обеспечивая ee дальнейшее расширение.
 СЛОВО

¦ДВОЙНОЕ Указатель Таблицы Кодов Комбинаций Дисплея
 СЛОВО 2 B этом элементе содержится ссылка на перечень разрешенных ком-
         бинаций адаптеров. Перечень обычно располагается в ПЗУ и ис-
         пользуется для проверки аппаратуры при запуске системы. Эта
         таблица необходима для всех систем, использующих Вспомогатель-
         ный Указатель Сохранения.
¦ДВОЙНОЕ Второй Вспомогательный Указатель Алфавитно-Цифрового Режима.
 СЛОВО 3 B этом элементе содержится ссылка на таблицу описания вспомо-
         гательного набора символов (расширяет основной набор до 512
         символов). При смене режима данный набор символов загружается
         в битовую матрицу 2 вместе c набором символов, определенным
         через Вспомогательный Указатель Алфавитно-цифрового режима.
         Таким образом применение второго указателя позволяет иметь
         набор из 512 определенных пользователем символов, устанавли-
         ваемый по умолчанию (в отличие от 256 символов, определенных
         пользователем, плюс 256 символов из ПЗУ EGA). При установке
         значения 0000:0000 элемент таблицы игнорируется.
¦ДВОЙНОЕ Указатель Таблицы Параметров Палитры Пользователя.
 СЛОВО 4 Данный элемент содержит ссылку на таблицу возможных установок
         палитры. Обычно регистры атрибута устанавливаются в соответст-
         вии c Таблицей Параметров, a регистры ЦАП - в соответствии co
         встроенными значениями ПЗУ, но y пользователя имеется возмож-
         ность изменит установки тех и других регистров (при выбранном
         режиме) c помощью Таблицы Параметров Палитры. При установке
         значения 0000:0000 элемент игнорируется.


ТАБЛИЦА ПАРАМЕТРОВ


     B таблице параметров содержатся установки для каждого варианта ви-
 деорежима. Например, режим 0 200-строчного дисплея представлен отдель-
 ным элементом таблицы, отличным от режима 0 для 350-строчного дисплея.
 каждый элемент имеет длину 64 байта co следующей структурой:

---------T--------T----------------------------------------------------¬
¦Смещение¦ Размер ¦             Описание                               ¦
+--------+--------+----------------------------------------------------+
¦   0    ¦ 1 байт ¦ Число выводимых столбцов                           ¦
¦   1    ¦ 1 байт ¦ Число выводимых строк                              ¦
¦   2    ¦ 1 байт ¦ Высота области размещения символа в пикселях       ¦
¦   3    ¦ 1 слово¦ Память для одной видеостраницы (в байтах)          ¦
¦   5    ¦ 1 байт ¦ Режим синхронизации                                ¦
¦   6    ¦ 1 байт ¦ Маскирование растра                                ¦
¦   7    ¦ 1 байт ¦ Выбор генератора символов                          ¦
¦   8    ¦ 1 байт ¦ Режим памяти                                       ¦
¦        ¦        ¦                                                    ¦
¦   9    ¦ 1 байт ¦ Регистр Смешанный                                  ¦
+--------+--------+----------------------------------------------------+
¦                 Установка регистров КЭЛТ                             ¦
+--------T--------T----------------------------------------------------+
¦   ah   ¦ 1 байт ¦ Общий Горизонтальный                               ¦
¦   bh   ¦ 1 байт ¦ Конец Разрешения Вывода по Горизонтали             ¦
¦   ch   ¦ 1 байт ¦ Начало Затемнения по Горизонтали                   ¦
¦   dh   ¦ 1 байт ¦ Конец Затемнения по Горизонтали                    ¦
¦   eh   ¦ 1 байт ¦ Начало Обратного Сканирования по Горизонтали       ¦
¦   fh   ¦ 1 байт ¦ Конец Обратного Сканирования по Горизонтали        ¦
¦  10h   ¦ 1 байт ¦ Общий Вертикальный                                 ¦
¦  11h   ¦ 1 байт ¦ Переполнение                                       ¦
¦  12h   ¦ 1 байт ¦ Предварительная Строчная Развертка                 ¦
¦  13h   ¦ 1 байт ¦ Максимальная Строка Развертки                      ¦
¦  14h   ¦ 1 байт ¦ Начало Kypcopa                                     ¦
¦  15h   ¦ 1 байт ¦ Конец Kypcopa                                      ¦
¦  16h   ¦ 1 байт ¦ He используется                                    ¦
¦  17h   ¦ 1 байт ¦    - # -                                           ¦

¦  18h   ¦ 1 байт ¦    - # -                                           ¦
¦  19h   ¦ 1 байт ¦    - # -                                           ¦
¦  1ah   ¦ 1 байт ¦ Начало Обратного Хода Луча по Кадру                ¦
¦  1bh   ¦ 1 байт ¦ Конец Обратного Хода Луча по Кадру                 ¦
¦  1ch   ¦ 1 байт ¦ Конец Разрешения Вывода Кадров                     ¦
¦  1dh   ¦ 1 байт ¦ Смещение                                           ¦
¦  1eh   ¦ 1 байт ¦ Положение Подчеркивания                            ¦
¦  1fh   ¦ 1 байт ¦ Начало Затемнения по Кадру                         ¦
¦  20h   ¦ 1 байт ¦ Конец Затемнения по Кадру                          ¦
¦  21h   ¦ 1 байт ¦ Управление Режимом                                 ¦
¦  22h   ¦ 1 байт ¦ Сравнение Строк                                    ¦
+--------+--------+----------------------------------------------------+
¦               Установка регистров Атрибута                           ¦
+--------T--------T----------------------------------------------------+
¦  23h   ¦ 1 байт ¦ Регистр Палитры 0                                  ¦
¦  24h   ¦ 1 байт ¦ Регистр Палитры 1                                  ¦
¦  25h   ¦ 1 байт ¦ Регистр Палитры 2                                  ¦
¦  26h   ¦ 1 байт ¦ Регистр Палитры 3                                  ¦
¦  27h   ¦ 1 байт ¦ Регистр Палитры 4                                  ¦
¦  28h   ¦ 1 байт ¦ Регистр Палитры 5                                  ¦
¦  29h   ¦ 1 байт ¦ Регистр Палитры 6                                  ¦
¦  2ah   ¦ 1 байт ¦ Регистр Палитры 7                                  ¦
¦  2bh   ¦ 1 байт ¦ Регистр Палитры 8                                  ¦
¦  2ch   ¦ 1 байт ¦ Регистр Палитры 9                                  ¦
¦  2dh   ¦ 1 байт ¦ Регистр Палитры 10                                 ¦
¦  2eh   ¦ 1 байт ¦ Регистр Палитры 11                                 ¦
¦  2fh   ¦ 1 байт ¦ Регистр Палитры 12                                 ¦
¦  30h   ¦ 1 байт ¦ Регистр Палитры 13                                 ¦
¦  31h   ¦ 1 байт ¦ Регистр Палитры 14                                 ¦
¦  32h   ¦ 1 байт ¦ Регистр Палитры 15                                 ¦
¦  33h   ¦ 1 байт ¦ Управление Режимом                                 ¦
¦  34h   ¦ 1 байт ¦ Цвет Рамки                                         ¦
¦  35h   ¦ 1 байт ¦ Разрешение Цветовой Матрицы                        ¦
¦  36h   ¦ 1 байт ¦ Горизонтальное Панорамирование                     ¦
+--------+--------+----------------------------------------------------+
¦           Регистры Графического Контроллера                          ¦
+--------T--------T----------------------------------------------------+
¦  37h   ¦ 1 байт ¦ Установка/Сброс                                    ¦
¦  38h   ¦ 1 байт ¦ Разрешение Установки/Сброса                        ¦
¦  39h   ¦ 1 байт ¦ Сравнение Цветов                                   ¦
¦  3ah   ¦ 1 байт ¦ Циклический Сдвиг                                  ¦
¦  3bh   ¦ 1 байт ¦ Выбор Схемы Чтения                                 ¦
¦  3ch   ¦ 1 байт ¦ Регистр Режим                                      ¦
¦  3dh   ¦ 1 байт ¦ Смешанный                                          ¦
¦  3eh   ¦ 1 байт ¦ Цвет Безразличен                                   ¦
¦  3fh   ¦ 1 байт ¦ Битовая Маска                                      ¦
L--------+--------+-----------------------------------------------------

     При установке регистров Начало и Конец Kypcopa a таблице параметров
используются совместные установки в алфавитно-цифровых режимах высокого
разрешения: BIOS преобразует 8-строчную установку регистра в 14- или 16-
строчные эквиваленты.
     B таблице параметров EGA имеются элементы для 23 режимов, располо-
женные в следующем порядке: 0-3 для режимов CGA (200 строк), 4-eh, fh-
10h - при установленной плате памяти менее 64K, fh-10h - при установ-
ленной памяти более 64K и 0-3 для режимов улучшенного цветного адаптера
(ECD).
     Следует заметить, что режимы c 8 по ch включены в таблицу, хотя они
и недоступны (предназначены для внутреннего использования BIOS). B VGA
имеются еще 6 дополнительных элементов: для режимов 0 и 1 (в качестве
одного элемента для варианта VGA 40 столбцов и 400 строк в алфавитно-
цифровом режиме); для режимов 2 и 3 (в качестве одного элемента для ва-
рианта VGA 80 столбцов и 400 строк в алфавитно-цифровом режиме); режима
7 (400 строк, алфавитно-цифровой режим, монохромный дисплей) и 11h-13h.

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

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

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог