sbpro(7D) Devices sbpro(7D)
sbpro - Sound Blaster Pro, Sound Blaster 16, and Sound Blaster AWE32 audio device driver
The Creative Labs Sound Blaster family of audio cards comprises DMA-capable ISA bus plug-in cards that provide 8 and 16 bit mono and stereo
digitized sound recording and playback over a wide range of sampling rates. Each card includes a digital sound processor and mixing capa-
bility. Some of the cards also support more advanced audio features such as FM synthesis, advanced signal processing, advanced wave
effects, and MIDI capability; however, the sbpro driver does not currently support those advanced features. The features and interfaces
supported by the Solaris sbpro driver are described here and in audio(7I).
Some Sound Blaster cards support optional non-audio capabilities such as SCSI interfaces and CD-ROM interfaces. These interfaces are not
supported by the sbpro driver.
The sbpro driver also supports certain Sound Blaster-compatible audio devices, including some based on the ESS688 audio chip.
In addition, the driver supports some devices based on the Analog Devices AD1847 and AD1848, and Crystal Semiconductor CS4231 chips. Any
CS4231-based devices supported by this driver are programmed in AD1848 compatibility mode. There is no special support in this driver for
the more advanced CS4231 features. This family of devices will be referred to as the "AD184x family."
APPLICATION PROGRAMMING INTERFACE
The Sound Blaster device is treated as an exclusive resource, meaning that only one process may open the device at a time. Since the Sound
Blaster hardware does not support simultaneous sound input and output, the sbpro driver does not allow the simultaneous access of the
device by two processes, even if one tries to open it read-only and the other write-only.
The sbpro driver will return "SUNW,sbpro" or "SUNW,sb16" in the name field of the audio_device structure. The version field will contain
the version number of the card's
DSP chip, and the config field will be set to "SBPRO" or "SB16". The AWE32 is currently identified as an SB16. In all subjects covered
in this man page, the Sound Blaster
AWE32 behaves the same as the Sound Blaster 16.
Audio Data Formats
The Sound Blaster Pro handles 8-bit samples. In mono mode, audio data may be sampled at rates from 4,000 to 44,100 samples per second. In
stereo mode, samples may be handled at the rates of 11,025 and 22,050 samples per second. The SB-16 can sample 8-bit or 16-bit mono or
stereo data in the range of 5,000 to 44,100 Hz. Devices in the AD184x family can handle sample rates up to 48,000 Hz.
The Sound Blaster Pro hardware handles 8-bit linear samples in excess-128 format. The Sound Blaster 16 handles that format as well as
16-bit linear samples in two's complement format. The sbpro driver will generate and accept data in these formats if AUDIO_ENCODING_LINEAR
is selected in the encoding field of the audio information structure. 16 bit precision is not available on the Sound Blaster Pro. The
sbpro driver will also accept and generate mu-law format data (as in the Greek letter mu) if the encoding field is set to AUDIO_ENCOD-
ING_ULAW. In this case, driver software performs the translation between linear and mu-law formats. mu-law encoding is designed to provide
an improved signal-to-noise ratio at low amplitude levels. To achieve best results when using mu-law encoding, the audio record volume
should be set so that typical amplitude levels lie within approximately three-fourths of the full dynamic range. Devices in the AD184x
family support both mu-law and A-law in hardware, and the driver allows either of those encodings to be selected.
The Sound Blaster hardware does not support multiple output devices, so the play.port field of the audio information structure only sup-
ports AUDIO_HEADPHONE. Output volume is controlled by software. The volume control thumbwheel on the back of the card should be turned all
the way up to maximum; otherwise no sound may be audible.
The record.port field of the audio information structure allows selection of which audio source is used for recording, and may be set to
one of AUDIO_MICROPHONE, AUDIO_LINE_IN, or AUDIO_CD. These select input from the microphone jack, line-level input jack, or internal CD
input, respectively. The microphone input is treated as a mono source by the hardware, although the microphone jack is a stereo jack. If
your microphone has a mono plug, you should convert it to a stereo plug using an appropriate adapter. Line and CD are stereo sources.
When recording in mono mode, both stereo channels are mixed before recording.
Note - Many audio devices come with a software utility that allows you to select the IRQ and DMA settings. Often, this utility does not
record parameters in nonvolatile memory but in a configuration file used by DOS to set the card's configuration at each reboot.
This type of configuration file is not used by the Solaris software and does not affect the operation of the card with the Solaris
o Output volume is controlled by software. If you do not hear sound, turn the volume thumbwheel on the back of the card to the maximum
o Line-in and aux jacks typically require line level voltages, such as output from a tape or CD player line-out jack or from a powered
(battery-operated) microphone. Mic jacks typically require lower voltages. Consult the manufacturer's documentation for your device
o The Sound Blaster Pro card cannot share IRQ settings with any other card installed in your system. If the hardware-jumpered IRQ set-
ting conflicts with any other device, change the IRQ on the Sound Blaster card to one listed under Supported Settings. The most common
conflicts occur with the LPT1 parallel port or a network card.
o For Sound Blaster 16 cards that have an on-board SCSI subsystem, the audio subsystem needs its own I/O (port) address and an IRQ, dis-
tinct from those of the SCSI subsystem.
Note - Default settings differ slightly between the SB Pro, SB Pro-2 and SB 16, SB AWE32, SB Vibra 16 cards. Only the 0x220 and 0x240 set-
tings are supported for SB Pro and SB Pro-2 while additional addresses are supported for the SB 16, SB AWE32, and SB Vibra 16
If your card supports Plug and Play, your device resources are configured automatically. Use the following settings for devices that don't
support Plug and Play. Defaults settings are shown in italics.
o IRQ Level: 2, 5, 7, 10
o I/O Address: 0x220, 0x240, 0x260, 0x280
o 8-bit DMA Channel: 0, 1, 3
o 16-bit DMA Channel: 5, 6, 7
Settings for the Compaq Deskpro XL and Turtle Beach Tropez Card are provided below. For each device, the sbpro driver automatically chooses
an unused DMA channel and IRQ line.
o Compaq Deskpro XL Business Audio With Built-in AD1847 Chip -- I/O Address: 0x530, 0x604, 0xE80, 0xF40
Note - The sbpro support for the AD1848 and compatibles uses one DMA channel for both play and record; simultaneous play/record is
o Turtle Beach Tropez Card With CS4231 Chip -- I/O Address: 0x530 (The MWSS I/O address on the Turtle Beach Tropez card is 0x530 at
power-up. It can only be changed by software after the system is booted, a function that the Solaris operating environment does not
perform. Therefore, the Tropez card is only supported at I/O address 0x530.)
Note - The Tropez card comes with a software utility for selecting the IRQ, DMA, and MWSS compatibility I/O address settings used by
the card. However, that utility does not record those parameters in nonvolatile memory, but in a configuration file used by
DOS to set the card's configuration at each reboot. This type of configuration file is not used by the Solaris software and
does not affect the operation of the card with the Solaris operating environment.
Known Problems and Limitations
o Any Crystal Semiconductor CS4231-based devices supported by this driver are programmed in AD1848-compatibility mode. This driver does
not include support for advanced CS4231 features; in particular, simultaneous play/record.
o The Sound Blaster card cannot share IRQ settings with any other card installed in your system. The most common conflicts occur with
the LPT1 parallel port or a network card.
o Some devices can detect that the IRQ is in use by another device in the system. If this occurs, the driver prints an error message:
sbpro: MWSS_AD184x IRQ 7 is 'in use.'
To correct this, change the IRQ setting of either the audio device or the conflicting device. (Some devices are not able to detect
such a conflict. The driver will try to use the card, but that will likely result in the system hanging when the card is first used.
Thus, it is important to check that the IRQ that does not conflict with another device.)
o Although the sbpro driver supports A-law encoding on AD1848 and compatible devices, audiotool does not and produces an error message
if you select A-law encoding. Use audioplay(1) to play A-law encoded audio files, or use audioconvert(1) to convert the A-law sample
into a format that audiotool will accept, such as 16-bit linear. User-written applications can select A-law format using the sbpro
driver on AD1848 and compatible devices.
Note - Some Compaq Deskpro XL Business Audio system units with built-in AD184x chip have the headphone jack wired with its left and right
channels reversed. As a result, left and right output is reversed. The line-out jack at the back of the unit works as expected.
For optimum sound quality, use external microphone and speakers and not the ones built into the keyboard.
o Non-Plug and Play Sound Blaster 16, Sound Blaster Vibra 16, and Sound Blaster AWE32 cards are recognized as Sound Blaster 16 cards.
o The ISA version IBM Token Ring and compatible adapters will not work in a system that contains a Sound Blaster card that is configured
at the default I/O port address(0x220). If possible, move the Sound Blaster card to port address 0x240; otherwise, remove the Sound
Blaster device from the system.
/dev/audio Linked to s/dev/sound/0
/dev/audioctl Linked to /dev/sound/0ctl
/dev/sound/0 First audio device in the system
/dev/sound/0ctl Audio control for first audio device
/usr/share/audio Audio files
See attributes(5) for descriptions of the following attributes:
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|Architecture |x86 |
audioconvert(1), ioctl(2), attributes(5), audio(7I), streamio(7I)
Creative Labs, Inc. Sound Blaster Pro User Reference Manual
The current driver implementation does not support the A-law encoding mode for Sound Blaster and compatible devices.
The conversion of mu-law to 8-bit linear format for Sound Blaster and compatible devices can cause a loss of precision, resulting in poor
sound quality in cases where the original recording level was well below normal. If this occurs while using the Sound Blaster 16 card,
audioconvert(1) can be used to convert the original mu-law data to 16-bit linear format before play. This will preserve all the precision
from the original mu-law sample.
SunOS 5.10 16 January 2001 sbpro(7D)