Программирование Sound Blaster
Программирование звуковой карты - это по сути программирование DSP. DSP(Digital Sound Processor) - это звуковой процессор для обработки звука. Он осуществляет преобразование аналогового сигнала в цифровой и наоборот. При работе со звуковой картой, мы непосредственно будем работать с портами ввода/вывода. Вот таблица портов:
$0388 | порт моно режима открытый для чтения и записи |
$0389 | порт данных, открытый для записи |
$0220 | порт для левого канала |
$0222 | порт для правого канала |
$0221 | порт данных для левого стереоканала |
$0223 | порт данных для правого стереоканала |
Инициализировать звуковую карту в программе надо только один раз, при запуске. Делается это путём записи нулевых значений в регистры звуковой карты(их 244, от $01 до $F5).
Пример: |
Регистры с $20 по $35 содержат управляющие байты. Регистры с $40 по $55 содержат байты отвечающие за громкость звука и за масштабирование. Старшие биты 6 и 7 отвечают за скорость изменения громкости при возрастании частоты. Биты с 0 по 5 отвечают за громкость звука. В шести битах можно закодировать 64 комбинации (от 0 до 63), причём повышение громкости происходит при переходе от 63 до 0. То есть максимум громкости можно добиться если во все шесть битов записать нули, а минимум - единицы.