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

Программирование видеоадаптеров 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.

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


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