1 |
1275 |
phoenix |
ALS-007/ALS-100/ALS-200 based sound cards
|
2 |
|
|
=========================================
|
3 |
|
|
|
4 |
|
|
Support for sound cards based around the Avance Logic
|
5 |
|
|
ALS-007/ALS-100/ALS-200 chip is included. These chips are a single
|
6 |
|
|
chip PnP sound solution which is mostly hardware compatible with the
|
7 |
|
|
Sound Blaster 16 card, with most differences occurring in the use of
|
8 |
|
|
the mixer registers. For this reason the ALS code is integrated
|
9 |
|
|
as part of the Sound Blaster 16 driver (adding only 800 bytes to the
|
10 |
|
|
SB16 driver).
|
11 |
|
|
|
12 |
|
|
To use an ALS sound card under Linux, enable the following options as
|
13 |
|
|
modules 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
|
18 |
|
|
Since the ALS-007/100/200 are PnP cards, ISAPnP support should probably be
|
19 |
|
|
compiled in. If kernel level PnP support is not included, isapnptools will
|
20 |
|
|
be required to configure the card before the sound modules are loaded.
|
21 |
|
|
|
22 |
|
|
When using kernel level ISAPnP, the kernel should correctly identify and
|
23 |
|
|
configure all resources required by the card when the "sb" module is
|
24 |
|
|
inserted. Note that the ALS-007 does not have a 16 bit DMA channel and that
|
25 |
|
|
the MPU401 interface on this card uses a different interrupt to the audio
|
26 |
|
|
section. This should all be correctly configured by the kernel; if problems
|
27 |
|
|
with the MPU401 interface surface, try using the standalone MPU401 module,
|
28 |
|
|
passing "0" as the "sb" module's "mpu_io" module parameter to prevent the
|
29 |
|
|
soundblaster driver attempting to register the MPU401 itself. The onboard
|
30 |
|
|
synth device can be accessed using the "opl3" module.
|
31 |
|
|
|
32 |
|
|
If isapnptools is used to wake up the sound card (as in 2.2.x), the settings
|
33 |
|
|
of the card's resources should be passed to the kernel modules ("sb", "opl3"
|
34 |
|
|
and "mpu401") using the module parameters. When configuring an ALS-007, be
|
35 |
|
|
sure to specify different IRQs for the audio and MPU401 sections - this card
|
36 |
|
|
requires they be different. For "sb", "io", "irq" and "dma" should be set
|
37 |
|
|
to the same values used to configure the audio section of the card with
|
38 |
|
|
isapnp. "dma16" should be explicitly set to "-1" for an ALS-007 since this
|
39 |
|
|
card does not have a 16 bit dma channel; if not specified the kernel will
|
40 |
|
|
default 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
|
42 |
|
|
also agree with the setting used by isapnp. To get the MPU401 interface
|
43 |
|
|
working on an ALS-007 card, the "mpu401" module will be required since this
|
44 |
|
|
card uses separate IRQs for the audio and MPU401 sections and there is no
|
45 |
|
|
parameter available to pass a different IRQ to the "sb" driver (whose
|
46 |
|
|
inbuilt MPU401 driver would otherwise be fine). Insert the mpu401 module
|
47 |
|
|
passing appropriate values using the "io" and "irq" parameters.
|
48 |
|
|
|
49 |
|
|
The 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 |
|
|
|
59 |
|
|
Jonathan Woithe
|
60 |
|
|
jwoithe@physics.adelaide.edu.au
|
61 |
|
|
30 March 1998
|
62 |
|
|
|
63 |
|
|
Modified 2000-02-26 by Dave Forrest, drf5n@virginia.edu to add ALS100/ALS200
|
64 |
|
|
Modified 2000-04-10 by Paul Laufer, pelaufer@csupomona.edu to add ISAPnP info.
|
65 |
|
|
Modified 2000-11-19 by Jonathan Woithe, jwoithe@physics.adelaide.edu.au
|
66 |
|
|
- updated information for kernel 2.4.x.
|