Электронная библиотека книг Александра Фролова и Григория Фролова.
Shop2You.ru Создайте свой интернет-магазин
Библиотека
Братьев
Фроловых

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

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

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

9.7. Сохранение/восстановление состояния видеоадаптера - функция 1Ch

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


Номер подфункции   Назначение


00h   определение размера буфура,
   необходимого для сохранения текущего
   состояния видеоадаптера

01h   сохранение текущего состояния
   видеоадаптера

02h   восстановление текущего состояния
   видеоадаптера

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

Определение размера буфера - подфункция 00h

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


На входе:   AH = 1Ch;

   AL = 00h - определение размера буфера;

   CX = тип данных, который необходимо сохранить:

      0 - регистры видеоадаптера,

      1 - область переменных BIOS,

      2 - таблица цветов (регистры ЦАП).

На выходе:   AL = 1Ch;

   BX = необходимый размер буфера в 64-байтных
      блоках.

Сохранение текущего состояния видеоадаптера - подфункция 01h

Функция записывает данные сотояния видеоадаптера в буфер, размер которого определяется подфункцией 00h.


На входе:   AH = 1Ch;

   AL = 01h - сохранение состяния видеоадаптера;

   CX = тип данных, который необходимо сохранить:

      0 - регистры видеоадаптера,

      1 - область переменных BIOS,

      2 - таблица цветов (регистры ЦАП);

   ES:BX = адрес буфера для сохраняемых данных.

На выходе:   AL = 1Ch.

Восстановление текущего состояния видеоадаптера - подфункция 02h

Функция восстанавливает сотояние видеоадаптера из буфера, заполненного подфункцией 01h.


На входе:   AH = 1Ch;

   AL = 02h - восстановление состояния
      видеоадаптера;

   CX = тип восстанавливаемых данных:

      0 - регистры видеоадаптера,

      1 - область переменных BIOS,

      2 - таблица цветов (регистры ЦАП);

   ES:BX = адрес буфера данных состояния
      видеоадаптера.

На выходе:   AL = 1Ch.

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