1ALS-007/ALS-100/ALS-200 based sound cards 2========================================= 3 4Support for sound cards based around the Avance Logic 5ALS-007/ALS-100/ALS-200 chip is included. These chips are a single 6chip PnP sound solution which is mostly hardware compatible with the 7Sound Blaster 16 card, with most differences occurring in the use of 8the mixer registers. For this reason the ALS code is integrated 9as part of the Sound Blaster 16 driver (adding only 800 bytes to the 10SB16 driver). 11 12To use an ALS sound card under Linux, enable the following options as 13modules in the sound configuration section of the kernel config: 14 - 100% Sound Blaster compatibles (SB16/32/64, ESS, Jazz16) support 15 - FM synthesizer (YM3812/OPL-3) support 16 - standalone MPU401 support may be required for some cards; for the 17 ALS-007, when using isapnptools, it is required 18Since the ALS-007/100/200 are PnP cards, ISAPnP support should probably be 19compiled in. If kernel level PnP support is not included, isapnptools will 20be required to configure the card before the sound modules are loaded. 21 22When using kernel level ISAPnP, the kernel should correctly identify and 23configure all resources required by the card when the "sb" module is 24inserted. Note that the ALS-007 does not have a 16 bit DMA channel and that 25the MPU401 interface on this card uses a different interrupt to the audio 26section. This should all be correctly configured by the kernel; if problems 27with the MPU401 interface surface, try using the standalone MPU401 module, 28passing "0" as the "sb" module's "mpu_io" module parameter to prevent the 29soundblaster driver attempting to register the MPU401 itself. The onboard 30synth device can be accessed using the "opl3" module. 31 32If isapnptools is used to wake up the sound card (as in 2.2.x), the settings 33of the card's resources should be passed to the kernel modules ("sb", "opl3" 34and "mpu401") using the module parameters. When configuring an ALS-007, be 35sure to specify different IRQs for the audio and MPU401 sections - this card 36requires they be different. For "sb", "io", "irq" and "dma" should be set 37to the same values used to configure the audio section of the card with 38isapnp. "dma16" should be explicitly set to "-1" for an ALS-007 since this 39card does not have a 16 bit dma channel; if not specified the kernel will 40default to using channel 5 anyway which will cause audio not to work. 41"mpu_io" should be set to 0. The "io" parameter of the "opl3" module should 42also agree with the setting used by isapnp. To get the MPU401 interface 43working on an ALS-007 card, the "mpu401" module will be required since this 44card uses separate IRQs for the audio and MPU401 sections and there is no 45parameter available to pass a different IRQ to the "sb" driver (whose 46inbuilt MPU401 driver would otherwise be fine). Insert the mpu401 module 47passing appropriate values using the "io" and "irq" parameters. 48 49The resulting sound driver will provide the following capabilities: 50 - 8 and 16 bit audio playback 51 - 8 and 16 bit audio recording 52 - Software selection of record source (line in, CD, FM, mic, master) 53 - Record and playback of midi data via the external MPU-401 54 - Playback of midi data using inbuilt FM synthesizer 55 - Control of the ALS-007 mixer via any OSS-compatible mixer programs. 56 Controls available are Master (L&R), Line in (L&R), CD (L&R), 57 DSP/PCM/audio out (L&R), FM (L&R) and Mic in (mono). 58 59Jonathan Woithe 60jwoithe@physics.adelaide.edu.au 6130 March 1998 62 63Modified 2000-02-26 by Dave Forrest, drf5n@virginia.edu to add ALS100/ALS200 64Modified 2000-04-10 by Paul Laufer, pelaufer@csupomona.edu to add ISAPnP info. 65Modified 2000-11-19 by Jonathan Woithe, jwoithe@physics.adelaide.edu.au 66 - updated information for kernel 2.4.x. 67