| SB(4) | Device Drivers Manual | SB(4) |
sb —
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?
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.
sb device driver appeared in NetBSD
1.0.
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 10.0 |