Средства разработки приложений


Листинг 2. Извлечение данных из переменной окружения - часть 2


Например, можно подсоединить правый канал CD к левому звуковой платы, а правый канал линейного входа смешать с микрофоном и снова послать в правый канал. Кроме того, появились входные и выходные аттенюаторы с шагом 6 дБ и регуляторы тембра с шагом 2 дБ, а также стала возможной автоматическая регулировка уровня микрофонного входа. В случае монофонического сигнала все регулировки осуществляются по левому каналу.

Таблица 3. Формат первого байта команды DSP Bx/Cx Номер бита Назначение Значение
D0 Зарезервирован 0
D1 FIFO 0 - выключен;
1 - включен
D2 Автоинициализация 0 - режим одного цикла;
1 - режим с автоинициализацией
D3 Вид преобразования 0 - цифроаналоговое (воспроизведение);
1 - аналого-цифровое (запись)
D4-D7 Разрядность 1011 (Bh) - 16 разрядов;
1100 (Сh) - 8 разрядов
Примечание: другие комбинации соответствуют остальным командам

Таблица 4. Формат второго байта команды DSP Bx/CxНомер бита Назначение Значение
D0-D3 Зарезервированы 0000
D4 Представление отсчетов 0 - беззнаковое;
1 - знаковое
D5 Число каналов (-1) 0 - моно;
1 - стерео
D6-D7 Зарезервированы 00

Таблица 5. Регистр статуса прерыванийНомер бита Источник прерывания
D0 8-разрядный ввод-вывод
D1 16-разрядный ввод-вывод
D2 Внешний MIDI-интерфейс (MPU-401)
D3-D7 Зарезервированы

После сброса DSP и установки режима работы микшера следует создать в оперативной памяти два буфера: для записываемого звука и для воспроизводимого. Поскольку и запись и воспроизведение будут осуществляться через DMAC (Direct Memory Access Controller - контроллер прямого доступа к памяти), к расположению буферов предъявляются некоторые дополнительные требования. Во-первых, они должны находиться в нижнем мегабайте адресного пространства. В реальном режиме работы процессора это выполняется всегда, а о том, как сделать такое в защищенном, рассказано в статье "Программирование Sound Blaster в защищенном режиме процессора" (см. "Мир ПК", № 3/98, с. 48). Во-вторых, буфер не должен пересекать границы 64-Кбайт страниц, поэтому при выделении памяти под него сначала следует проверить, хватит ли места для размещения буферов записи и воспроизведения до конца текущей страницы.


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



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