Программирование Sound Blaster

Программирование звуковой карты - это по сути программирование DSP. DSP(Digital Sound Processor) - это звуковой процессор для обработки звука. Он осуществляет преобразование аналогового сигнала в цифровой и наоборот. При работе со звуковой картой, мы непосредственно будем работать с портами ввода/вывода. Вот таблица портов:

$0388 порт моно режима открытый для чтения и записи
$0389 порт данных, открытый для записи
$0220 порт для левого канала
$0222 порт для правого канала
$0221 порт данных для левого стереоканала
$0223 порт данных для правого стереоканала

Инициализировать звуковую карту в программе надо только один раз, при запуске. Делается это путём записи нулевых значений в регистры звуковой карты(их 244, от $01 до $F5).

Пример:
Begin
port[$0388] := $01;
port[$0388] := $00;
For i := $01 to $F5 do
Begin
port[$0388] := i;
port[$0389] := $00;
End;
End;

Регистры с $20 по $35 содержат управляющие байты. Регистры с $40 по $55 содержат байты отвечающие за громкость звука и за масштабирование. Старшие биты 6 и 7 отвечают за скорость изменения громкости при возрастании частоты. Биты с 0 по 5 отвечают за громкость звука. В шести битах можно закодировать 64 комбинации (от 0 до 63), причём повышение громкости происходит при переходе от 63 до 0. То есть максимум громкости можно добиться если во все шесть битов записать нули, а минимум - единицы.

Используются технологии uCoz