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