- SU.PASCAL.MODULA.ADA (2:5021/22) --------------------- SU.PASCAL.MODULA.ADA -
From : Dmitry Eliseev 2:5053/11.25 23 Apr 97 16:10:20
To : Armen Ambartsumian 23 Apr 97 07:41:03
Subj : SOUND
-------------------------------------------------------------------------------
Hello Armen.
Суббота 19. Апрель 1997 18:35, Armen Ambartsumian wrote to Dmitry Eliseev:
> ----- [ здесь был дигер ] -----
AA> Hужен миксер!
AA> Hикак не могу понять!
Вот ловите модуль миксера для SB Pro.
Кидаю сюда потому что много запросов, а размер небольшой 2кило.
Тестировано BP 7.0; SB16 Creative, SBPro Creative, Sound Galaxy Pro 16 Extra
{ Две базовые функции для работы с чипами бластера }
Procedure SetIndexDataPort(PortN : Word; Index,Data : Byte);
Function GetIndexDataPort(PortN : Word; Index : Byte): Byte;
{ Набор функций по управлению миксером }
{ порт миксера 000h - Reset : Сбрасывает миксер в начальное положение }
{ только запись, значение 0000000x }
{ зарезервировано --------++++++++- Reset Status (0 - Stop reset) }
Procedure MixerReset;
{ порт миксера 001h - Status : только чтение. Возвращает байт статуса SB }
Function MixerStatus : Byte;
{ порт миксера 004h - DACLevel : чтение/запись. Регулирует DAC (ЦАП) SB }
{ значение 00010001 }
{ левый канал ЦАП --------+++|++++- 1 - SBPro, 0 - SB16 }
{ | +-- правый канал ЦАП }
{ +----- 1 - SBPro, 0 - SB16 }
Procedure MixerSetDACLevel(Left,Right : Byte);
Function MixerGetDACLevel : Byte;
{ порт миксера 00Ah - MicrophoneLevel : чтение/запись. Регулирует DAC (ЦАП) SB }
{ значение 00000000 }
{ зарезервировано --------+++++||+- 0 - SBPro, 1 - SB16 }
{ ++-- Microphone Level (SBPro) }
Procedure MixerSetMicrophoneLevel(Level : Byte);
Function MixerGetMicrophoneLevel : Byte;
{ порт миксера 022h - Master volume : чтение/запись. }
{ значение 00010001 }
{ левый канал Master -----+++|++++- 1 - SBPro, 0 - SB16 }
{ | +-- правый канал Master }
{ +----- 1 - SBPro, 0 - SB16 }
Procedure MixerSetMasterLevel(Left,Right : Byte);
Function MixerGetMasterLevel : Byte;
{ порт миксера 026h - FM volume : чтение/запись. }
{ значение 00010001
|