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

Стандарт vesa

Стандарт VESA описывает расширение прерывания BIOS номер 10h (VESA BIOS Extention - VBE), отвечающего за управление видеоадаптерами. Поддержка VBE обычно включается производителями видеоадаптеров в ПЗУ самого адаптера или поставляется в виде отдельной резидентной программы. Во втором случае перед использованием функций VBE необходимо загрузить данную резидентную программу в оперативную память компьютера. Ниже мы полностью опишем функции VBE версии 1.2 и опишем некоторые функции VBE версии 2.0.

Перед вызовом функций VBE следует записать в регистр AH значение 4Fh. Если ваша реализация VBE поддерживает данную функцию, то в регистре AL возвращается значение 4Fh. Если функция не реализована, тогда в регистре AL возвращается значение, отличное от 4Fh.

Результат выполнения функции записывается в регистр AH. В случае успешного завершения функции в регистре AH возвращается нулевое значение. Если в регистре AH записано значение 1h, значит функция завершилась с ошибкой. И, наконец, если в регистре AH возвращается значение 2h, значит аппаратура видеоадаптера не поддерживает данную функцию.

Возможна ситуация, когда VBE может выполнить запрашиваемую функцию, а аппаратура видеоадаптера - нет. В этом случае после завершения функции регистр AH содержит значение 4Fh, а регистр AH - 2h.

Получить информацию о реализации vbe и видеоадаптере

Функция позволяет получить различную информацию о возможностях VBE и видеоадаптера. Вы должны использовать данную функцию, чтобы определить, наличие VBE и его версию. Формат вызова функции отличается для VBE версии 2.0 и VBE более ранних версий.

В следующей таблице представлен формат вызова функции для VBE версии 1.2 и более ранних версий:

На входе:

AH

4Fh

AL

00h

ES:DI

Указатель на буфер размером 256 байт (формат буфера см. ниже). В этот буфер записывается различная информация о видеоадаптере SVGA и реализации VBE

На выходе:

AL

4Fh

AH

0, в случае успешного завершения, 1 в случае ошибки

Примечание:

Значения остальных регистров сохраняются

Теперь приведем расширенный формат этой же функции соответствующий VBE версии 2.0:

На входе:

AH

4Fh

AL

00h

ES:DI

Указатель на буфер размером 512 байт (формат буфера см. ниже). Первые четыре байта буфера должны содержать строку "VBE2". В буфер записывается различная информация о видеоадаптере SVGA и реализации VBE

На выходе:

AL

4Fh

AH

0, в случае успешного завершения, 1 в случае ошибки

Примечание:

Значения остальных регистров сохраняются

В следующей таблице представлен формат буфера, содержащего информацию об адаптере SVGA и реализации VBE. В таблице мы объединили разные версии VBE.

Смещение

Размер

Описание

00h

4 байта

В случае успешного завершения в это поле записывается строка 'VESA'

04h

Слово

Номер версии VBE. Старший байт содержит старшую часть номера версии, младший байт - младшую часть номера версии

06h

Двойное слово

Дальний указатель на строку, закрытую нулем. В строке содержится информация, определяемая производителем. Как правило, она служит для описания видеоадаптера и реализации VBE

0Ah

Двойное слово

Возможности видеоадаптера. В реализации VBE версии 1.2 задействуется только бит D0.

Бит D0 содержит единицу, если ЦАП видеоадаптера может работать с данными переменной длинны. В противном случае ЦАП может использовать для представления каждой компоненты цвета (RGB-красный, зеленый, синий) только 6 бит.

Бит D1 (VBE 2.0) содержит единицу, если видеоадаптер не полностью совместим с VGA.

Бит D2 (VBE 2.0) содержит единицу, если BIOS не поддерживает другие функции VBE

0Eh

Двойное слово

Дальний указатель на список режимов, поддерживаемых функциями VBE. Список состоит из 16-битовых величин, являющихся номерами режимов и заканчивается числом 0FFFFh

Следующие поля таблицы поддерживаются только VBE версии 1.2

12h

Слово

Объем памяти видеоадаптера, представленный в блоках размером по 64 Кбайт

Следующие поля таблицы поддерживаются только VBE версии 2.0

14h

Слово

Дополнительный номер версии VBE (номер пересмотренной версии)

16h

Двойное слово

Дальний указатель на строку, закрытую нулем. В строке содержится имя фирмы разработчика

1Ah

Двойное слово

Дальний указатель на строку, закрытую нулем. В строке содержится название видеоадаптера

1Eh

Двойное слово

Дальний указатель на строку, закрытую нулем. В строке содержится дополнительный номер версии видеоадаптера

22h

222 байт

Не используется

100h

256 байт

Информация фирмы разработчика