Программирование видеоадаптеров.
© Александр Фролов, Григорий Фролов
Том 21, М.: Диалог-МИФИ, 1993.
Функция имеет три подфункции, при помощи которых программа может быстро переключать режимы работы видеоадаптера:
Номер подфункции |
Назначение |
00h |
Определение размера буфера, необходимого для сохранения текущего состояния видеоадаптера |
01h |
Сохранение текущего состояния видеоадаптера |
02h |
Восстановление текущего состояния видеоадаптера |
Необходимо отметить, что данная функция поддерживается только для видеоадаптеров VGA и SVGA. Функцию можно использовать при переключении режима видеоадаптера в резидентных программах и мультизадачных системах.
Определение
размера буфера - подфункция 00h
Функция определяет размер буфера, необходимый для сохранения текущего состояния видеоадаптера. Буфер должен быть зарезервирован до вызова функции сохранения состояния видеоадаптера.
На входе: |
AH |
1Ch |
|
AL |
00h - определение размера буфера |
|
CX |
Тип данных, который необходимо сохранить (1 - надо сохранять, 0 - не надо сохранять): D0 - регистры видеоадаптера, D1 - область переменных BIOS, D2 - таблица цветов (регистры ЦАП) |
На входе: |
AL |
1Ch |
|
BX |
Размер буфера в 64-байтных блоках |
Сохранение
текущего состояния видеоадаптера - подфункция 01h
Функция записывает данные состояния видеоадаптера в буфер, размер которого определяется подфункцией 00h.
На входе: |
AH |
1Ch |
|
AL |
01h - сохранение состояния видеоадаптера |
|
CX |
Тип данных, который необходимо сохранить: D0 - регистры видеоадаптера, D1 - область переменных BIOS, D2 - таблица цветов (регистры ЦАП) |
|
ES:BX |
Адрес буфера для сохраняемых данных |
На выходе: |
AL |
1Ch |
Восстановление
текущего состояния видеоадаптера - подфункция 02h
Функция восстанавливает состояние видеоадаптера из буфера, заполненного подфункцией 01h.
На входе: |
AH |
1Ch |
|
AL |
02h - восстановление состояния видеоадаптера |
|
CX |
Тип восстанавливаемых данных: D0 - регистры видеоадаптера, D1 - область переменных BIOS, D2 - таблица цветов (регистры ЦАП) |
|
ES:BX |
Адрес буфера данных состояния видеоадаптера |
На выходе: |
AL |
1Ch |
|