Функция позволяет получить различную информацию о видеоадаптере и дисплее.
Программа, вызывающая данную функцию, должна зарезервировать область памяти размером 64 байта для получаемых данных. На входе: AH = 1Bh - получение данных о видеосистеме; BX = 00h; ES:DI = адрес буфера для возвращаемых данных, 64 байта. На выходе: AL = 1Bh; ES:DI - буфер заполняется данными (см. таблицу 10.1).
Смещение, байты | Размер | Содержание |
0-3 | двойное слово | адрес статической таблицы функций (см. ниже) |
4 | байт | номер текущего режима работы видеоадаптера |
5,6 | слово | число символов в строке |
7,8 | слово | размер области видеоданных (в байтах) |
9,0Ah | слово | начальный адрес области видеоданных |
0Bh-1Ah | 8 слов | позиции курсоров для каждой из 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 Формат статической функциональной таблицы.