Программирование игр для Windows. Советы профессионала


Замечание - часть 10


Отслеживая значения счетчика, вы можете определить момент, когда следует заполнять следующую половину буфера. В программе PEND.C показано, как это сделать на практике.

ВХОД: AX=69Dh

ВЫХОД: АХ= Текущее значения счетчика (значение убывает, а не возрастает).

Функция № 23: Проверка буфера прямого доступа в память

Функция позволяет проконтролировать, не пересекает ли выбранный вами буфер прямого доступа в память грашщ страницы. Пример использования этой функции приведен в программе PEND.C.

ВХОД: AX=69Eh

ES:BX       *Реальный режим* Указатель на звуковую структуру, описывающую звуковой эффект.

ЕВХ         *Прямая адресация* В случае использования 32-разрядной адресации, ЕВХ указывает на 32-разрядный адрес звуковой структуры в первом мегабайте адресного пространства. Будет преобразован драйвером DIGPAK в допустимый адрес СЕГМЕНТ: СМЕЩЕНИЕ.

СХ =  Размер буфера. ВЫХОД: АХ=1        Блок не пересекает границу страницы. АХ=0        Блок пересекает границу страницы.

Функция № 24: Установка громкости при импульсно-кодовой модуляции

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

ВХОД: AX=69Fh

ВХ =         Громкость левого канала (или обоих для моно) 0-100.

СХ =         Громкость правого канала (или обоих для моно) 0-100.

ВЫХОД: АХ=1        Громкость установлена.

АХ=0        Устройство не поддерживает установку громкости.

Функция № 25: SetDPMIMode

Функция информирует драйвер DIGPAK о 32-разрядной адресации. Поскольку оригинальные драйверы DIGPAK предполагалось использовать только в реальном режиме, я не задумывался о возможности другой адресации. (Первые драйверы DIGPAK разрабатывались в 1987 году, поэтому в этом нет ничего удивительного.) Из-за того, что многие функции DIGPAK используют комбинацию регистров сегмента и смещения для формирования адреса, это порождает определенные проблемы в защищенном режиме. В защищенном режиме сегментные регистры являются селекторами и сформировать из них адрес реального режима трудно.


Начало  Назад  Вперед



Книжный магазин