Иллюстрированный самоучитель по SVGA

Информационные функции VBE

Таблица 1.2. (Продолжение).

Адрес поля Размер поля Что хранится в поле Режим 101h Режим 110h Режим 112h
1Dh 1 Номер последнем страницы 0Bh 05 02
1Еh 1 Резервный байт 01 01 01
IFh 1 Размер маски красного цвета 00 05 08
20h 1 Позиция маски красного цвета 00 0Ah 10h
21h 1 Размер маски зеленого цвета 00 05 08
22h 1 Позиция маски зеленого цвета 00 05 08
23h 1 Размер маски синего цвета 00 05 08
24h 1 Позиция маски синего цвета 00 00 00
25h 1 Размер резервного поля 00 01 08
26h 1 Позиция резервного поля 00 0Fh 18
27h 1 Флаги для режимов direct color 00 00 00
Следующие 3 поля заполняются при VBE 2.0 и выше
28h 4 Адрес начала видеопамяти 0000 F800
2Ch 4 Адрес свободного пространства 00 00 00
30h 2 Размер свободного пространства 00 00 00

Часть величин, перечисленных в табл. 1.2, уже обсуждалась выше, назначение остальных будет описано по мере изложения материала, в тех случаях, когда они используются при программировании. Здесь мы ограничимся одним замечанием и опишем байт атрибутов режима.

Замечание
Начиная с версии VBE 1.2, появились поля, в которых указываются количество банков видеопамяти (lAh) и размер банка в килобайтах (ich). У всех исследованных видеокарт указан один банк, а его размер равен нулю. Непонятно о каких банках идет речь, тем более, если их размер, выраженный в килобайтах, помещается в пределах одного байта. Поэтому эти поля лучше не использовать до выяснения их назначения
.

Атрибуты видеорежима

Нулевое слово информационного массива, возвращаемого по запросу 4FOih, содержит характеристики видеорежима, которые называются атрибутами. Каждый разряд этого слова имеет конкретное назначение, кроме первого, который зарезервирован. Стандарты VBE 1.2 и 2.0 описывают только назначение разрядов младшего байта этого слова (его адрес в массиве 0), а старший байт зарезервирован. В табл. 1.3 показано, что обозначает 1 в каждом из разрядов.

Таблица 1.3. Назначение разрядов кода атрибутов режимов.

Бит Код Что обозначает установка разряда
0 1 Видеокарта поддерживает режим
1   Резервный разряд (состояние безразлично)
2 1 BIOS поддерживает вывод на экран
3 1 Используется цветной монитор
4 1 Режим графический
5 1 Режим не совместим с VGA
6 1 Невозможна работа с окнами видеопамяти
7 1 Доступно все пространство видеопамяти (VBE 2. 0)

При программировании для защищенного режима надо проверять состояние бита 7. Если он установлен, то возможна непосредственная работа со всем пространством видеопамяти без переключения окон.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.