Usually, sound drivers consist of two parts: a front-end for installation and request processing, consisting of files such as SNDBLST.DLL or SYNTH.DLL; and a kernel driver for communicating with the hardware, consisting of files such as SNDBLST.SYS or SYNTH.SYS.
There is also a helper driver named MMDRV.DLL that transforms most low-level calls to Wave, MIDI, and AUX devices into calls to kernel mode drivers.
The installable sound kernel drivers for Windows NT are listed in the following table:
Sound driver | Comment |
MIPSSND.SYS | MIPS ARCSystem 100/150 built-in sound |
MVAUDIO.SYS | Media Vision Pro Audio Spectrum 16 and Pro Studio 16 |
MVOPL3.SYS | Synthesizer driver for Media Vision Pro Audio Spectrum 16 and Pro Studio 16 |
SNDBLST.SYS | Sound Blaster 1.5 and compatibles |
SNDSYS.SYS | Windows sound system and COMPAQ® Business Audio |
SYNTH.SYS | Ad Lib and OPL3 MIDI synthesizer driver |
For each installed sound driver, several parameters are stored in the Registry, based on choices made by using the Drivers icon in Control Panel. The following shows the Registry path for sound system driver entries:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ Services
\SoundDriverName\Parameters\Device0
The actual subkey name in the Registry is the same as the filename of the related kernel driver. For example, for SNDBLST.SYS, the subkey name is Sndblst.
Some drivers can write over the values they receive on the basis of information read from the hardware. The following shows some typical values found in the Parameters subkey for sound cards:
Configuration Error REG_DWORD 0, 1, 2, 3, or 4
Specifies an error that occurred during install. This value is only relevant if the driver fails to load. (Not all drivers write this information into the Registry.)
Value | Meaning |
0 | Nonspecific error |
1 | Hardware not found (usually the wrong I/O port was assumed) |
2 | Specified interrupt was incorrect or did not work |
3 | Specified DMA channel was incorrect or did not work |
4 | Hardware is present but not working |
DmaChannel REG_DWORD
Defines the DMA channel settings for transferring digitized sound.
Default: Depends on the sound card—not user-configurable.
Interrupt REG_DWORD Interrupt number
Defines the interrupt number used by the hardware.
Default: 0xa (configured for Interrupt 10)
LeftLineInAtten REG_DWORD Number
Specifies the current volume level of the left channel of the line-in input.
Port REG_DWORD Address
Defines the I/O port start address used to communicate with the hardware.
Default: 0x220 for SNDBLST.SYS
RightLineInAtten REG_DWORD Number
Specifies the current volume level of the right channel of the line-in input.