SB(4)

NAME
sb - SoundBlaster family (and compatible) audio device driver

SYNOPSIS
sb0 at isa? port 0x220 irq 5 drq 1 drq2 5
sb1 at isa? port 0x240 irq 7 drq 1 flags 1
sb* at isapnp?
sb* at pnpbios? index ?
audio* at audiobus?
midi* at sb?
mpu* at sb?
opl* at sb?

DESCRIPTION
The sb driver provides support for the SoundBlaster, SoundBlaster Pro, SoundBlaster 16, Jazz 16, SoundBlaster AWE 32, SoundBlaster AWE 64, and hardware register-level compatible audio cards.

The SoundBlaster series are half-duplex cards, capable of 8- and 16-bit audio sample recording and playback at rates up to 44.1kHz (depending on the particular model).

The base I/O port address is usually jumper-selected to either 0x220 or 0x240 (newer cards may provide software configuration, but this driver does not directly support them--you must configure the card for its I/O addresses with other software). The SoundBlaster takes 16 I/O ports. For the SoundBlaster and SoundBlaster Pro, the IRQ and DRQ channels are jumper-selected. For the SoundBlaster 16, the IRQ and DRQ channels are set by this driver to the values specified in the config file. The IRQ must be selected from the set {5,7,9,10}.

The configuration file must use 1 flags specification to enable the Jazz16 support. This is to avoid potential conflicts with other devices when probing the Jazz 16 because it requires use of extra I/O ports not in the base port range.

With a SoundBlaster 16 card the device is full duplex, but it can only sensibly handle a precision of 8 bits. It does so by extending the output 8 bit samples to 16 bits and using the 8 bit DMA channel for input and the 16 bit channel for output.

The joystick interface (if enabled by a jumper) is handled by the joy(4) driver, and the optional SCSI CD-ROM interface is handled by the aic(4) driver.

SoundBlaster 16 cards have MPU401 emulation and can use the mpu attachment, older cards have a different way to generate MIDI and has a midi device attached directly to the sb.

SEE ALSO
aic(4), audio(4), i386/pnpbios(4), isa(4), isapnp(4), joy(4), midi(4), mpu(4), opl(4)

HISTORY
The sb device driver appeared in NetBSD 1.0.

BUGS
Non-SCSI CD-ROM interfaces are not supported.

The MIDI interface on the SB hardware is braindead, and the driver needs to busy wait while writing MIDI data. This will consume a lot of system time.