modprobe sound
insmod uart401
insmod sb ...

This loads the driver for the Sound Blaster and assorted clones. Cards that
are covered by other drivers should not be using this driver.

The Sound Blaster module takes the following arguments

io		I/O address of the Sound Blaster chip (0x220,0x240,0x260,0x280)
irq		IRQ of the Sound Blaster chip (5,7,9,10)
dma		8-bit DMA channel for the Sound Blaster (0,1,3)
dma16		16-bit DMA channel for SB16 and equivalent cards (5,6,7)
mpu_io		I/O for MPU chip if present (0x300,0x330)

sm_games=1	Set if you have a Logitech soundman games
acer=1		Set this to detect cards in some ACER notebooks
mwave_bug=1	Set if you are trying to use this driver with mwave (see on)
type		Use this to specify a specific card type

The following arguments are taken if ISAPnP support is compiled in

isapnp=0	Set this to disable ISAPnP detection (use io=0xXXX etc. above)
multiple=0	Set to disable detection of multiple Soundblaster cards.
		Consider it a bug if this option is needed, and send in a
		report.
pnplegacy=1	Set this to be able to use a PnP card(s) along with a single
		non-PnP (legacy) card.  Above options for io, irq, etc. are
		needed, and will apply only to the legacy card.
reverse=1	Reverses the order of the search in the PnP table.
uart401=1	Set to enable detection of mpu devices on some clones.
isapnpjump=n	Jumps to slot n in the driver's PnP table. Use the source,
		Luke.

You may well want to load the opl3 driver for synth music on most SB and
clone SB devices

insmod opl3 io=0x388

Using Mwave

To make this driver work with Mwave you must set mwave_bug. You also need
to warm boot from DOS/Windows with the required firmware loaded under this
OS. IBM are being difficult about documenting how to load this firmware.

Avance Logic ALS007

This card is supported; see the separate file ALS007 for full details.

Avance Logic ALS100

This card is supported; setup should be as for a standard Sound Blaster 16.
The driver will identify the audio device as a "Sound Blaster 16 (ALS-100)".
