SB(4) | Device Drivers Manual | 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.

June 22, 2005 | NetBSD 11.0