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

Установить режим видеоадаптера

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

На входе:

AH

4Fh

AL

02h

BX

Номер режима VESA. Номера режимов VESA перечислены в главе "Режимы работы видеоадаптеров"

На выходе:

AL

4Fh

AH

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

Перед вызовом функции вы должны занести в регистр BX номер режима VESA, который необходимо установить. Старший бит регистра BX (бит D15) определяет, будет ли выполняться очистка видеопамяти. Если бит D15 равен единице, тогда видеопамять не очищается.

Бит D14 управляет адресацией видеопамяти. Если бит D14 равен единице, функция устанавливает режим видеоадаптера, используя 32-битную адресацию защищенного режима видеопамяти. В этом случае вы можете получить адрес начала и размер видеобуфера при помощи функции 01h (см. выше).

Определить текущий режим видеоадаптера

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

На входе:

AH

4Fh

AL

03h

На выходе:

AL

4Fh

AH

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

BX

Номер режима

Сохранить/восстановить состояние видеоадаптера

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

На входе:

AH

4Fh

AL

04h

DL

00h Определить размер буфера состояния

DL

01h Сохранить состояние видеосистемы

ES:BX

Указатель на буфер

DL

02h Восстановить состояние видеосистемы

ES:BX

Указатель на буфер

CX

Флаги управления сохранением и восстановлением:

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

D1 состояние видеоданных BIOS;

D2 состояние регистров ЦАП;

D3 состояние регистров SVGA

На выходе:

AL

4Fh

AH

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

Управление адресацией видеопамяти

Центральный процессор получает доступ к видеопамяти адаптера через окно небольшого размера. Функция 4F05h позволяет позиционировать окно по видеопамяти и определять его текущее положение. Окно может позиционироваться с определенным шагом.

Функция 4F05h содержит две подфункции, выбираемые регистром BH. Первая подфункция BH = 0 позволяет переместить окно в определенную позицию. Вторая подфункция BH = 1 определяет текущее положение окна.

На входе:

AH

4Fh

AL

05h

BL

Номер окна: 0 - окно A, 1 - окно B

BH

00h выбор окна видеопамяти

DX

Адрес окна видеопамяти (в единицах шага)

BH

01h определить адрес окна видеопамяти

DX

Адрес окна видеопамяти (в единицах шага)

На выходе:

AL

4Fh

AH

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