Технология создания 3D звука










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



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





Зачем все это нужно



Зачем все это нужно

Пришло время сказать несколько слов о конкретном использовании SBLive! под DOS. Например, для того, чтобы проиграть файлы формата WAV в «чистом» DOS (работа SBLive! в Windows не вызывает абсолютно никаких проблем, например, для DOS-игр), рекомендуется записать программу SEA версии 1.3, поскольку более ранние возможностью проигрывания звуковых форматов не обладают. Минимальный пакет SEA состоит из файлов: SEA.EXE, DOS4GW.EXE и SEA.DAT.

Далее необходимо набрать в командной строке: SEA.EXE /irq:x /port:xxx /dma:x /dma16:x , где irq:x — прерывание (обычно 5 или 7), port:xxx — системны адрес, используемый аудио-картой (обычно 220 или 240), dma:x — канал DMA (обычно 1 или 3) и dma16:x — 16-разрядный канал DMA (используется только 100%-совместимыми со стандартом SB16 аудио-картами и обычно бывает 7). Однако, если необходимые параметры точно неизвестны, то для их определения нужно запустить программу SBECFG.EXE, которая подробно укажет все необходимые данные. Следует учесть, что программа SEA не может проигрывать файлы формата WAV при работе под Windows в окне DOS или в сеансе MS-DOS — только в «чистом» DOS.

В игровых приложениях при работе под DOS полностью гарантируется работоспособность звуковой карты SB Live!, если интерфейс программы поддерживает:

  • Отдельно определение SFX (SBPro или SB16 или AWE32) и MIDI (WaveBlaster или GeneralMIDI или MPU-401 или Roland SoundCanvas). Если есть в параметрах MIDI сразу все, то в данном случае они расположены по рекомендуемому приоритету определения. Если же возникают трудности (иногда случается), то придется выбирать из всех перечисляемых экспериментально. Определение в SFX-параметрах SB16/AWE32 на слух не дает никакой разницы.
  • Совместное определение SFX и MIDI, увы, однозначно указывает на использование SB Live! как SB16. Яркий пример — игра Descent2.

Остальные задачи, решаемые пользователями в DOS с применением звуковой карты, оставим нерассмотренными, поскольку это не так уж и важно, да и стратегия установки, настройки и применения SBLive! под DOS, думается, очерчена с лихвой.

В заключение отмечу, что все описываемые выше варианты настроек в CONFIG.SYS и AUTOEXEC.BAT от самых минимально необходимых до включения поддержки CD-ROM и кэширования дисков (загрузка SMARTDrive) тщательно, долго и кропотливо проверялись на довольно большом количестве распространенных игровых приложений под DOS, среди которых были и оригинальные версии с поддержкой CD-ROM. При этом «произвольно» менялись настройки аудио-параметров как звуковой карты (либо ручной правкой файла CTSYN.INI, либо при помощи утилиты конфигурирования SBESET.EXE), так и непосредственно аудио-интерфейса самого приложения (проверялась совместимость с SBPro/SB16/AWE32 по части эффектов и WaveBlaster/GeneralMIDI/MPU-401/SoundCanvas в плане воспроизведения музыки).

Данное практическое исследование показало почти 100% работоспособность SBLive! под DOS. Своего рода «исключение» составляют приложения, использующие 3D звуковые эффекты типа реверберации, эхо и т.д. — например, это игры Shadow Warrior и DukeNukem 3D от 3D Realms, и Blood от Monolith. Проблема заключается не только конкретно в SBLive!, а и в некоторых других аудио-картах, использующих шину PCI, когда в определенных местах игры, где должен быть использован некий звуковой 3D-эффект, возникает крах приложения с последующим зависанием или моментальным выходом из игры, причем до этого программа работает совершенно нормально. Разработчики такой игры учитывают подобные ошибки, и пишут корректирующие эти досадные моменты поправки (patch), которые можно загрузить со странички поддержки конкретного игрового приложения (исключение составляет игра Blood, для которой такого рода патч до сих пор, увы, не вышел).

Максим Лень (carcass@ixbt.com)

Опубликовано — 10 января 2004 года