Программирование видеоадаптеров CGA,EGA и VGA


9.6. Получение данных о состоянии VGA - функция 1Bh


Функция позволяет получить различную информацию о видеоадаптере и дисплее.

Программа, вызывающая данную функцию, должна зарезервировать область памяти размером 64 байта для получаемых данных. На входе: AH = 1Bh - получение данных о видеосистеме; BX = 00h; ES:DI = адрес буфера для возвращаемых данных, 64 байта. На выходе: AL = 1Bh; ES:DI - буфер заполняется данными (см. таблицу 10.1).

Смещение, байтыРазмер Содержание
0-3двойное словоадрес статической таблицы функций (см. ниже)
4байт номер текущего режима работы видеоадаптера
5,6словочисло символов в строке
7,8словоразмер области видеоданных (в байтах)
9,0Ahсловоначальный адрес области видеоданных
0Bh-1Ah8 слов позиции курсоров для каждой из 8 страниц видеопамяти (одно слово на страницу)
1Bhбайтверхняя линия курсора
1Chбайтнижняя линия курсора
1Dhбайтномер активной страницы видеопамяти
1Ehсловоадрес порта контроллера ЭЛТ (3B4/3D4)
20hбайтсостояние регистра 3x8h
21hбайтсостояние регистра 3x9h
22hбайтчисло текстовых строк на экране
23hбайтвысота символов текста (в пикселах)
25hбайткод первичного видеоадаптера (см. функцию 1Ah подфункция 0h)
26hбайткод дополнительного видеоадаптера (см. функцию 1Ah подфункция 0h)
27h,28hсловочисло цветов в текущем режиме
29hбайтчисло страниц видеопамяти в текущем режиме
2Ahбайтчисло линий развертки в текущем режиме:
0 - 200
1 - 350
2 - 400
3 - 480
2Bhбайтномер первой таблицы знакогенератора
2Chбайтномер второй таблицы знакогенератора
2Dhбайтбайт, содержащий различные данные:
D0 не используется;
D1 бит равен единице, если разрешено преобразование палитры в серый цвет;
D2 бит равен единице, если подключен монохромный дисплей;
D3 запрещена переустановка регистров палитры по умолчанию;
D4 бит равен единице, если разрешена эмуляция курсора CGA;
D5 определяет назначение бита D3, байта атрибутов: если бит равен 1, то он управляет миганием символа, если бит равен нулю, то D3 управляет интенсивностью фона символа;
D7-D6 не используется
31hбайтобъем видеопамяти:
0 - 64К байт,
1 - 128К байт,
2 - 192К байт,
3 - 256К байт;
32hбайтсостояние указателя?:
D0 бит равен единице, если используется набор из 512 символов;
D1 бит равен единице, если используется область сохранения цветовой палитры;
D2 бит равен единице, если используется текстовый набор символов пользователя;
D3 бит равен единице, если используется графический набор символов пользователя;
D4 бит равен единице, если используется цветовая палитра, определенная пользователем;
D7-D5 зарезервировано;
33h - 3Fhзарезервировано.

Таблица 10.1 Формат буфера данных.

Далее следует описание статической функциональной таблицы: Смещение, байты Размер Содержание 0-2 3 байта таблица поддерживаемых режимов работы видеоадаптера, если бит равен единице, то режим поддерживается: байт 0 D0 Режим 0; D1 режим 1; D2 режим 2; D3 режим 3; D4 режим 4; D5 режим 5; D6 режим 6; D7 режим 7. байт 1 D0 Режим 8; D1 режим 9; D2 режим 0Ah; D3 режим 0Bh; D4 режим 0Ch; D5 режим 0Dh; D6 режим 0Eh; D7 режим 0Fh. байт 2 D0 Режим 10h; D1 режим 11h; D2 режим 12h; D3 режим 13h; D7-D4 не используются. 7 1 байт возможное число линий растра; если бит равен единице, то режим поддерживается: D0 200 линий; D1 350 линий; D2 400 линий; D7-D3 не используются. 8 1 байт число таблиц знакогенератора в текстовом режиме 9 1 байт максимальное число одновременно используемых таблиц знакогенератора в текством режиме 0Ah 1 байт биты имеют различное назначение: D0 не используется; D1 поддердивается преобразование таблицы цветов в серые цвета; D2 поддердивается загрузка шрифтов пользователя; D3 поддердивается загрузка цветовой палитры по умолчанию; D4 поддердивается эмуляция курсора CGA; D5 присутствует палитра EGA; D6 присутствует таблица цветов; D7 поддерживается функция выбора множества цветов; 0Bh 1 байт биты имеют различное назначение: 7 6 5 4 3 2 1 0 _________________ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ _________________ _______ _ _ _ ___ поддерживается световое перо; _ _ _ _ _ _ _ _____ сохранение/восстановление _ _ _ видеосостояний, поддерживается _ _ _ функция 1Ch; _ _ _ _ _ _______ управление битотм D3 байта _ _ атрибутов; _ _ _ _________ код конфигурации дисплея; _ ______________ не используются 0Eh 1 байт состояние указателя?: 7 6 5 4 3 2 1 0 _________________ ¦ ¦ ¦ ¦ ¦ ¦ ¦ _________________ _____ _ _ _ _ __ бит равен единице, если _ _ _ _ _ поддерживается набор из 512 _ _ _ _ _ символов; _ _ _ _ _ _ _ _ _ ____ бит равен единице, если _ _ _ _ поддерживается область сохранения _ _ _ _ цветовой палитры; _ _ _ _ _ _ _ ______ бит равен единице, если _ _ _ поддерживается текстовый набор _ _ _ символов пользователя; _ _ _ _ _ ________ бит равен единице, если _ _ поддерживается графический набор _ _ символов пользователя; _ _ _ __________ бит равен единице, если _ поддерживается цветовая палитра, _ определенная пользователем; _ ______________ зарезервированно

Таблица 10.2 Формат статической функциональной таблицы.









Начало  Назад  Вперед