Электронная библиотека книг Александра Фролова и Григория Фролова.
 
Библиотека
Братьев
Фроловых
Электронная библиотека книг Александра Фролова и Григория Фролова.
Библиотека системного программиста
Программирование на JAVA
ПК. Шаг за шагом
Другие книги
Восстановление данных
Антивирусная защита
Статьи для
программистов
Пользователю компьютера

Программирование видеоадаптеров.

© Александр Фролов, Григорий Фролов
Том 21, М.: Диалог-МИФИ, 1993.

[Назад] [Содеожание] [Дальше]

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

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

На входе:

AH

1Bh - получение данных о видеосистеме

 

BX

00h

 

ES:DI

Адрес буфера для записи данных, 64 байта

На выходе:

AL

1Bh

 

ES:DI

Буфер заполненный данными (см. таблицу ниже)

Формат буфера представлен в следующей таблице:

Смещение, байт

Размер

Содержание

0

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

Адрес статической таблицы функций (см. ниже)

4

Байт

Номер текущего режима работы видеоадаптера

5

Слово

Количество символов в строке

7

Слово

Размер отображаемой области видеоданных (в байтах)

9

Слово

Начальный адрес отображаемой области видеоданных

0Bh

8 слов

Позиции курсоров для каждой из 8 страниц видеопамяти (одно слово на страницу). В старшем байте записан номер колонки, в младшем байте номер строки курсора

1Bh

Байт

Нижняя линия курсора

1Ch

Байт

Верхняя линия курсора

1Dh

Байт

Номер активной страницы видеопамяти

1Eh

Слово

Адрес индексного порта контроллера ЭЛТ (3B4/3D4)

20h

Байт

Состояние регистра 3x8h

21h

Байт

Состояние регистра 3x9h

22h

Байт

Количество текстовых строк на экране

23h

Байт

Высота символов текста в пикселах

25h

Байт

Код первичного видеоадаптера (см. функцию 1Ah подфункция 0h)

26h

Байт

Код дополнительного видеоадаптера (см. функцию 1Ah подфункция 0h)

27h

Слово

Количество одновременно отображаемых цветов в текущем режиме

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 не используется

2Eh

Байт

Зарезервировано

2Fh

Байт

Зарезервировано

31h

Байт

Объем видеопамяти адаптера:

0 - 64 Кбайт,

1 - 128 Кбайт,

2 - 192 Кбайт,

3 - 256 Кбайт

32h

Байт

Состояние области сохранения: ???

D0 бит равен единице, если используется набор из 512 символов;

D1 бит равен единице, если используется область сохранения цветовой палитры;

D2 бит равен единице, если используется текстовый набор символов пользователя;

D3 бит равен единице, если используется графический набор символов пользователя;

D4 бит равен единице, если используется цветовая палитра, определенная пользователем;

D7-D5 зарезервировано

33h - 3Fh

 

Зарезервировано

Далее следует описание статической функциональной таблицы:

Смещение, байт

Размер

Содержание

0

Байт

Таблица режимов работы видеоадаптера. Если бит равен единице, то режим поддерживается:

D0 Режим 00h;

D1 режим 01h;

D2 режим 02h;

D3 режим 03h;

D4 режим 04h;

D5 режим 05h;

D6 режим 06h;

D7 режим 07h

1

Байт

D0 Режим 08h;

D1 режим 09h;

D2 режим 0Ah;

D3 режим 0Bh;

D4 режим 0Ch;

D5 режим 0Dh;

D6 режим 0Eh;

D7 режим 0Fh

2

Байт

D0 Режим 10h;

D1 режим 11h;

D2 режим 12h;

D3 режим 13h;

D7-D4 Не используются

3

4 байта

Зарезервировано

7

Байт

Количество строк растра в текстовых режимах. Если бит равен единице, то режим поддерживается:

D0 200 строк растра;

D1 350 строк растра;

D2 400 строк растра;

D7-D3 не используются

8

Байт

Количество таблиц знакогенератора, которые можно одновременно использовать (для текстовых режимов)

9

Байт

Количество таблиц знакогенератора, доступных в текстовом режиме

0Ah

Байт

Биты имеют различное назначение: ???

D0 не используется;

D1 поддерживается преобразование таблицы цветов в серые цвета;

D2 поддерживается загрузка шрифтов пользователя;

D3 поддерживается загрузка цветовой палитры по умолчанию;

D4 поддерживается эмуляция курсора CGA;

D5 присутствует палитра EGA;

D6 присутствует таблица цветов;

D7 поддерживается функция выбора множества цветов

0Bh

Байт

Биты имеют различное назначение: ???

D0 поддерживается световое перо;

D1 сохранение/восстановление видеосостояний, поддерживается функция 1Ch;

D2 управление битом D3 байта атрибутов;

D3 код конфигурации монитора

D7-D4 не используются

0Ch

2 байта

Зарезервировано

0Eh

Байт

Состояние указателя: ???

D0 бит равен единице, если поддерживается набор из 512 символов

D1 бит равен единице, если поддерживается область сохранения цветовой палитры

D2 бит равен единице, если поддерживается текстовый набор символов пользователя

D3 бит равен единице, если поддерживается графический набор символов пользователя

D4 бит равен единице, если поддерживается цветовая палитра, определенная пользователем

D7-D5 зарезервировано

0Fh

Байт

Зарезервировано


[Назад] [Содеожание] [Дальше]


Создание интернет-магазинов: http://www.shop2you.ru/ © Александр Фролов, Григорий Фролов, 1991-2016