Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Функция 12: Прервать цикл вывода звука

Формула 8.1. Аксонометрическая проекция спрайта. | Формула 8.2. Расчет масштабирования. | Листинг 8.1. Новая функция масштабирования спрайтов (без отсечения). | Листинг 8.2. Демонстрационная программа новой функции масштабирования (VYREN.C). | Алгоритм 8.1. Масштабирование спрайта. | Формула 8.3. Вычисление вектора скорости. | Формула 8.4. Вычисление угла между наблюдателем и объектом. | Листинг 8.3. Последний Шаттл (FINVYREN.C). | Создание студии | ЗВУКОВЫЕ ЭФФЕКТЫ И МУЗЫКА |


Читайте также:
  1. I. Выделение (узнавание) звука на фоне слова
  2. II. Вычленение первого и последнего звука из слова
  3. IV. Перепишите и переведите предложения, обращая внимание на употребление герундия в разных функциях.
  4. IV. Перепишите и переведите предложения, обращая внимание на употребление герундия в разных функциях.
  5. Stand-up с выводами и прогнозами.
  6. X. Прочитайте и переведите предложения, обращая внимание на употребление инфинитива в различных функциях.
  7. XIV. Прочитайте и переведите предложения, обращая внимание на употребление Participle I в разных функциях.

Функция прерывает цикл вывода оцифрованных данных.

Вход: ВХ = 12

АХ = 0 - прервать цикл в конце текущей итерации;

= 1 - прервать цикл немедленно.

Выход: АХ = 0 - успешное выполнение операции;

= 1 - цикл вывода звука не активен.

Использование функций драйвера для проигрывания VOC-файлов

Давайте подытожим разговор об используемых функциях. Вообще-то они потрясающе просты и вы наверняка сможете самостоятельно написать неболь­шую программу и поэкспериментировать с цифровыми каналами ввода-вывода звуковой карты Sound Blaster... Как бы не так! Неужели я вас брошу одних в этом цифровом чистилище? Ни в коем случае. Давайте-ка вместе загрузим драйвер и проиграем какой-нибудь VOC-файл. То, что у нас получится, вы можете впоследствии использовать в собственных играх.

Первое, что мы должны сделать, это загрузить CT-VOICE.DRV в память. Для этого нужно просто выделить некоторое количество памяти, открыть файл как двоичный и загрузить его байт за байтом. Есть, правда, одна проблема: драйвер должен быть загружен от границы сегмента. Это значит, что сегмент может, быть любым, но смещение начала драйвера должно быть нулевым. Ни одна функция из семейства allocate этого делать не умеет. Здесь необходима функция, которая способна резервировать память на границе параграфа. Такая функция называется _dos_allocmem(). Итак, нам надо сделать следующее:

§ Открыть файл CT-VOICE.DRV;

§ Определить его размер;

§ Отвести под него память;

§ Загрузить его.

Это делает функция, приведенная в Листинге 9.1.


Дата добавления: 2015-07-12; просмотров: 195 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Функция 0: Получить версию драйвера| Листинг 9.1. Выделение памяти для CT-VOICE.DRV.

mybiblioteka.su - 2015-2024 год. (0.006 сек.)