1 Configuring VoxWare 3.0 (for Linux) with some most common soundcards
2 ====================================================================
4 NOTE! This document may contain some error. Please inform me
5 if you find any mistakes.
7 Read this before trying to configure the driver
8 -----------------------------------------------
10 There are currently many cards that work with VoxWare. Some of the cards
11 have native support while the others work since they emulate some other
12 cards (usually SB, MSS/WSS and/or MPU401). The following cards have native
13 support in VoxWare. Detailed instructions for configuring these cards
14 will be given later in this document.
16 Pro Audio Spectrum 16 (PAS16) and compatibles:
20 NOTE! The original Pro Audio Spectrum as well as the PAS+ are not
21 and will not be supported by VoxWare.
23 Media Vision Jazz16 based cards
25 Logitech SoundMan Wave
26 (Other Jazz based cards should work but I don't have any reports
33 NOTE! The ASP chip and the EMU synth of the AWE32 is not supported
34 since their manufacturer doesn't release information about
35 the card. However both the AB16ASP and the AWE32 work with
36 VoxWare just like a SB16. Also see the comment about some
37 unsupported cards at the end of this file.
38 SB16 compatible cards by other manufacturers than Creative.
39 You have been fooled since there are no SB16 compatible
40 cards in the market (July95). It's likely that your card
41 is compatible just with SB Pro but there is also a non SB
42 compatible 16 bit mode. Usually it's MSS/WSS but could also
43 be a proprietary one like MV Jazz16.
45 Gravis Ultrasound (GUS)
47 GUS + the 16 bit option
49 GUS ACE (No MIDI port and audio recording)
51 MPU-401 and compatibles
52 The driver works both with the full (intelligent mode) MPU-401
53 cards (such as MPU IPC-T and MQX-32M) and with the UART only
54 dumb MIDI ports. MPU-401 is currently the most common MIDI
55 interface. Most soundcards are compatible with it. However
56 don't enable MPU401 mode blindly. Many cards having native support
57 in VoxWare have their own MPU401 driver. Enabling the standard one
58 will cause a conflict with these cards. So look if your card is
59 in the list of supported cards before enabling MPU401.
61 Windows Sound System (MSS/WSS)
62 Even Microsoft has discontinued their own Sound System card, they
63 managed to make a standard. MSS compatible cards are based on a
64 codec chip which is easily available from at least two manufacturers
65 (AD1848 by Analog Devices and CS4231/CS4248 by Crystal Semiconductor).
66 Currently most soundcards are based on one of the MSS compatible codec
67 chip. The CS4231 is used in the high quality cards such as GUS MAX,
68 MediaTriX AudioTriX Pro and TB Tropez (GUS MAX is not MSS compatible).
70 Having a AD1848, CS4248 or CS4231 codec chip on the card is a good
71 sign. Even if the card is not MSS compatible, it could be easy to write
72 support for it to VoxWare. Note also that most MSS compatible cards
73 require special boot time initialization which may not be present
74 in VoxWare. Also some MSS compatible cards have native support in
75 VoxWare. Enabling the MSS support with these cards is likely to
76 cause a conflict. So check if your card is listed in this file before
77 enabling the MSS support.
80 This UART chip is used in the MIDI interface of some (rare)
81 soundcards. It's supported by VoxWare in case you need it.
83 Yamaha FM synthesizers (OPL2, OPL3 and OPL4)
84 Most soundcards have a FM synthesizer chip. The OPL2 is a 2
85 operator chip used in the original AdLib card. Currently it's used
86 only in the cheapest (8 bit mono) cards. The OPL3 is a 4 operator
87 FM chip which provides better sound quality and/or more available
88 voices than the OPL2. The OPL4 is a new chip which has a OPL3 and
89 a wave table synthesizer packed on the same chip. VoxWare supports
90 just the OPL3 mode directly. Most cards having a OPL4 (like
91 SM Wave and AudioTriX Pro) support the OPL4 mode using MPU401
92 emulation. Writing a native OPL4 support to VoxWare is difficult
93 since Yamaha doesn't give information about their sample ROM chip.
95 Enable the generic OPL2/OPL3 FM synthesizer support if your
96 card has a FM chip made by Yamaha. Don't enable it if your card
97 has a software (TRS) based FM emulator.
99 PSS based cards (AD1848 + ADSP-2115 + Echo ESC614 ASIC)
100 Analog Devices and Echo Speech have together defined a soundcard
101 architecture based on the above chips. The DSP chip is used
102 for emulation of SB Pro, FM and General MIDI/MT32.
104 There are several cards based on this architecture. The most known
105 ones are Orchid SW32 and Cardinal DSP16.
107 VoxWare supports downloading DSP algorithms to these cards.
109 MediaTriX AudioTriX Pro
110 The ATP card is built around a CS4231 codec and a OPL4 synthesizer
111 chips. The OPL4 mode is supported by a microcontroller running a
112 General MIDI emulator. There is also a SB 1.5 compatible playback mode.
114 Ensoniq SoundScape and compatibles
115 Ensoniq has designed a soundcard architecture based on the
116 OTTO synthesizer chip used in their professional MIDI synthesizers.
117 Several companies (including Ensoniq, Reveal and Spea) are selling
118 cards based on this architecture.
120 MAD16 and Mozart based cards
121 The Mozart (OAK OTI-601) and MAD16 Pro (OPTi 82C929) interface
122 chips are used in many different soundcards, including some
123 cards by Reveal and Turtle Beach (Tropez). Purpose of these
124 chips is to connect other audio components to the PC bus. The
125 interface chip performs address decoding for the other chips.
128 Support for this card is made by Riccardo Faccetti
129 (riccardo@cdc8g5.cdc.polimi.it). See aedsp16.c for more info.
131 Crystal CS4232 based cards such as AcerMagic S23
132 CS4232 is a PnP multimedia chip which contains a CS3231A codec,
133 SB and MPU401 emulations. There is support for OPL3 too.
134 (Unfortunately the MPU401 mode doesn't work).
136 Turtle Beach Maui and Tropez
137 VoxWare supports sample, parch and program loading commands
138 described in the Maui/Tropez User's manual. There is no initialization
139 code for Maui so it must be initialized using DOS. Audio side of Tropez
140 is based on the MAD16 chip (see above).
142 Jumpers and software configuration
143 ----------------------------------
145 Some of the earliest soundcards were jumper configurable. You have to
146 configure VoxWare to configure VoxWare use I/O, IRQ and DMA settings
147 that match the jumpers. Just few 8 bit cards are fully jumper
148 configurable (SB 1.x/2.x, SB Pro and clones).
149 Some cards made by Aztech have an EEPROM which contains the
150 config info. These cards behave much like hardware jumpered cards.
152 Most cards have jumper for the base I/O address but other parameters
153 are software configurable. Sometimes there are few other jumpers too.
155 Latest cards are fully software configurable or they are PnP ISA
156 compatible. There are no jumpers on the board.
158 VoxWare handles software configurable cards automaticly. Just configure
159 the driver to use I/O, IRQ and DMA settings which are known to work.
160 You could usually use the same values than with DOS and/or Windows.
161 Using different settings is possible but not recommended since it may cause
162 some trouble (for example when warm booting from an OS to another or
163 when installing new hardware to the machine).
165 VoxWare sets the soft configurable parameters of the card automaticly
166 during boot. Usually you don't need to run any extra initialization
167 programs when booting Linux but there are some exceptions. See the
168 card specific instructions (below) for more info.
170 The drawback of software configuration is that the driver needs to know
171 how the card must be initialized. It cannot initialize unknown cards
172 even if they are otherwise compatible with some other cards (like SB,
173 MPU401 or Windows Sound System).
175 What if your card was not listed above?
176 ---------------------------------------
178 The first thing to do is to look at the major IC chips on the card.
179 Many of the latest soundcards are based on some standard chips. If you
180 are lucky, all of them could be supported by VoxWare. The most common ones
181 are the OPTi MAD16, Mozart, SoundScape (Ensoniq) and the PSS architectures
182 listed above. Also look at the end of this file for list of unsupported
183 cards and the ones which could be supported later.
185 The last resort is to send _exact_ name and model information of the card
186 to me together with a list of the major IC chips (manufactured, model) to
187 me. I could then try to check if your card looks like something familiar.
189 There are much more cards in the word than listed above. The first thing to
190 do with these cards is to check if they emulate some other card/interface
191 such as SB, MSS and/or MPU401. In this case there is a chance to get the
192 card to work by booting DOS before starting Linux (boot DOS, hit ctrl-alt-del
193 and boot Linux without hard resetting the machine). In this method the
194 DOS based driver initializes the hardware to use a known I/O, IRQ and DMA
195 settings. If VoxWare is configured to use the same settings, everything should
199 Configuring VoxWare (with Linux)
200 ================================
202 VoxWare sound driver is currently a part of Linux kernel distribution. The
203 driver files are located in directory /usr/src/linux/drivers/sound.
205 ****************************************************************************
206 * VoxWare MUST BE CONFIGURED AND COMPILED WITH THE KERNEL. TRYING *
207 * TO COMPILE IT ALONE WILL _NOT_ WORK. *
209 * ALWAYS USE THE SOUND DRIVER VERSION WHICH IS DISTRIBUTED WITH *
210 * THE KERNEL SOURCE PACKAGE YOU ARE USING. SOME ALPHA AND BETA TEST *
211 * VERSIONS CAN BE INSTALLED FROM A SEPARATELY DISTRIBUTED PACKAGE *
212 * BUT CHECK THAT THE PACKAGE IS NOT MUCH OLDER (OR NEWER) THAN THE *
213 * KERNEL YOU ARE USING. IT'S POSSIBLE THAT THE KERNEL/DRIVER *
214 * INTERFACE CHANGES BETWEEN KERNEL RELEASES WHICH MAY CAUSE SOME *
215 * INCOMPATIBILITY PROBLEMS. *
217 * IN CASE YOU INSTALL A SEPARATELY DISTRIBUTED SOUND DRIVER VERSION, *
218 * BE SURE TO REMOVE OR RENAME THE OLD SOUND DRIVER DIRECTORY BEFORE *
219 * INSTALLING THE NEW ONE. LEAVING OLD FILES TO THE SOUND DRIVER *
220 * DIRECTORY _WILL_ CAUSE PROBLEMS WHEN THE DRIVER IS USED OR *
222 ****************************************************************************
224 To configure the driver, run "make config" in the kernel source directory
225 (/usr/src/linux). Answer y to the question about Sound card support (after
226 questions about mouse, CD-ROM, ftape, etc. supports). Sound config options
227 will then be asked after some additional questions.
229 After configuring the kernel and sound driver, run "make dep" and compile
230 the kernel following instructions in the kernel README.
232 The sound driver configuration dialog
233 -------------------------------------
235 All config information of the sound driver is written to file
236 linux/drivers/sound/local.h. You may save the old version is this file and
237 use it again in case you want to use the same config later. In this case
238 just answer n to each question made by the sound config program and put
239 the original local.h back before running "make dep".
240 Don't do this if the version number of the sound driver has changed. In this
241 case you have to enter the configuration information again.
243 If you already have the sound driver installed, consult printout of
244 "cat /dev/sndstat" when configuring the driver again. It gives the I/O,
245 IRQ and DMA settings you have used earlier.
248 The sound config program (linux/drivers/sound/configure) starts by making
249 some yes/no questions. Be careful when answering to these questions since
250 answering y to a question may prevent some later ones from being asked. For
251 example don't answer y to the first question (PAS16) if you don't really
252 have a PAS16. Don't enable more cards than you really need since they
253 just consume memory. Also some drivers (like MPU401) may conflict with your
254 SCSI controller and prevent kernel from booting. If you card was in the list
255 of supported cards (above), please look at the card specific config
256 instructions (later in this file) before starting to configure. Some cards
257 must be configured in way which is not obvious.
259 So here is the beginning of the config dialog. Answer 'y' or 'n' to these
260 questions. The default answer is shown so that (y/n) means 'y' by default and
261 (n/y) means 'n'. To use the default value, just hit ENTER. But be careful
262 since using the default _doesn't_ guarantee anything.
264 Note also that all questions may not be asked. The configuration program
265 may disable some questions dependig on the earlier choices. It may also
266 select some options automaticly as well.
268 "ProAudioSpectrum 16 support",
269 - Answer 'y'_ONLY_ if you have a Pro Audio Spectrum _16_,
270 ProAudio Studio 16 or Logitech SoundMan 16 (be sure that
271 you read the above list correctly). Don't answer 'y' if you
272 have some other card made by Media Vision or Logitech since they
273 are not PAS16 compatible.
274 "SoundBlaster support",
275 - Answer 'y' if you have an original SB card made by Creative Labs
276 or a full 100% hardware compatible clone (like Thunderboard or
277 SM Games). If your card was in the list of supported cards (above),
278 please look at the card specific instructions later in this file
279 before answering this question. For an unknown card you may answer
280 'y' if the card claims to be SB compatible.
282 Don't enable SB if you have a MAD16 or Mozart compatible card.
284 "Generic OPL2/OPL3 FM synthesizer support",
285 - Answer 'y' if your card has a FM chip made by Yamaha (OPL2/OPL3/OPL4).
286 Answering 'y' is usually a safe and recommended choice. However some
287 cards may have software (TSR) FM emulation. Enabling FM support
288 with these cards may cause trouble. However I don't currently know
290 "Gravis Ultrasound support",
291 - Answer 'y' if you have GUS or GUS MAX. Answer 'n' if you don't
292 have GUS since the GUS driver consumes much memory.
293 Currently I don't have experiences with the GUS ACE so I don't
294 know what to answer with it.
295 "MPU-401 support (NOT for SB16)",
296 - Be careful with this question. The MPU401 interface is supported
297 by almost any soundcard today. However some natively supported cards
298 have their own driver for MPU401. Enabling the MPU401 option with
299 these cards wil cause a conflict. Also enabling MPU401 on a system
300 that doesn't really have a MPU401 could cause some trouble. If your
301 card was in the list of supported cards (above), please look at
302 the card specific instructions later in this file.
303 It's safe to answer 'y' if you have a true MPU401 MIDI interface
305 "6850 UART Midi support",
306 - It's safe to answer 'n' to this question in all cases. The 6850
307 UART interface is so rarely used.
308 "PSS (ECHO-ADI2111) support",
309 - Answer 'y' only if you have Orchid SW32, Cardinal DSP16 or some
310 other card based on the PSS chipset (AD1848 codec + ADSP-2115
311 DSP chip + Echo ESC614 ASIC CHIP).
312 "16 bit sampling option of GUS (_NOT_ GUS MAX)",
313 - Answer 'y' if you have installed the 16 bit sampling daughtercard
314 to your GUS. Answer 'n' if you have GUS MAX. Enabling this option
315 disables GUS MAX support.
317 - Answer 'y' only if you have a GUS MAX.
318 "Microsoft Sound System support",
319 - Again think carefully before answering 'y' to this question. It's
320 safe to answer 'y' in case you have the original Windows Sound
321 System card made by Microsoft or Aztech SG 16 Pro (or NX16 Pro).
322 Also you may answer 'y' in case your card was not listed earlier
323 in this file. For cards having native support in VoxWare, consult
324 the card specific instructions later in this file. Some drivers
325 have their own MSS support and enabling this option wil cause a
327 "Ensoniq Soundscape support",
328 - Answer 'y' if you have a soundcard based on the Ensoniq SoundScape
329 chipset. Suach cards are being manufactured at least by Ensoniq,
330 Spea and Reveal (note that Reveal makes other cards also).
331 "MediaTriX AudioTriX Pro support",
332 - Answer 'y' if you have the AudioTriX Pro.
333 "Support for MAD16 and/or Mozart based cards",
334 - Answer y if your card has a Mozart (OAK OTI-601) or MAD16
335 (OPTi 82C928 or 82C929) audio interface chip. These chips are
336 currently quite common so it's possible that many no-name cards
337 have one of them. In addition the MAD16 chip is used in some
338 cards made by known manufacturers such as Turtle Beach (Tropez),
339 Reveal (some models) and Diamond (latest ones).
340 "SoundBlaster Pro support",
341 - Enable this option if your card is SB Pro or SB16. Enable it
342 also with any SB Pro clones. Answering 'n' saves some amount of
343 memory but 'y' is the safe alterative.
344 "SoundBlaster 16 support",
345 - Enable if you have a SB16 (including the AWE32).
346 "Audio Excel DSP 16 initialization support",
347 - Don't know much about this card. Look at aedsp16.c for more info.
349 Then the configuration program asks some y/n questions about the higher
350 level services. It's recommended to answer 'y' to each of these questions.
351 Answer 'n' only if you know you will not need the option.
353 "/dev/dsp and /dev/audio supports (usually required)",
354 - Answering 'n' disables /dev/dsp and /dev/audio. Answer 'y'.
355 "MIDI interface support",
356 - Answering 'n' disables /dev/midi## devices and access to any
357 MIDI ports using /dev/sequencer and /dev/music. This option
358 also affects any MPU401 and/or General MIDI compatible devices.
359 "FM synthesizer (YM3812/OPL-3) support",
361 "/dev/sequencer support",
362 - Answering 'n' disables /dev/sequencer and /dev/music.
364 Entering the I/O, IRQ and DMA config parameters
365 -----------------------------------------------
367 After the above questions the configuration program prompts for the
368 card specific configuration information. Usually just a set of
369 I/O address, IRQ and DMA numbers are asked. With some cards the program
370 asks for some files to be used during initialization of the card. For example
371 many cards have a DSP chip or microprocessor which must be initialized by
372 downloading a program (microcode) file to the card. In some cases this file
373 is written to a .h file by the config program and then included to the driver
376 Instructions for answering these questions are given in the next section.
379 Card specific information
380 =========================
382 This section gives additional instructions about configuring some cards.
383 Please refer manual of your card for valid I/O, IRQ and DMA numbers. Using
384 the same settings with DOS/Windows and VoxWare is recommended. Using
385 different values could cause some problems when switching between
386 different operating systems.
388 SoundBlasters (the original ones by Creative)
389 ---------------------------------------------
391 It's possible to configure these cards to use different I/O, IRQ and
392 DMA settings. Since the available settings have changed between various
393 models, you have to consult manual of your card for the proper ones. It's
394 a good idea to use the same values than with DOS/Windows. With SB and SB Pro
395 it's the only choice. SB16 has software selectable IRQ and DMA channels but
396 using different values with DOS and Linux is likely to cause troubles. The
397 DOS driver is not able to reset the card properly after warm boot from Linux
398 if Linux has used different IRQ or DMA values.
400 The original (steam) Sound Blaster (versions 1.x and 2.x) use always
401 DMA1. There is no way to change it.
403 The SB16 needs two DMA channels. A 8 bit one (1 or 3) is required for
404 8 bit operation and a 16 bit one (5, 6 or 7) for the 16 bit mode. In theory
405 it's possible to use just one (8 bit) DMA channel by answering the 8 bit
406 one when the configuration program asks for the 16 bit one. This may work
407 in some systems but is likely to cause terrible noise on some other systems.
409 NOTE! Don't enable the SM Games option (asked by the configuration program)
410 if you are not 101% sure that your card is a Logitech Soundman Games
411 (not a SM Wave or SM16).
416 First of all: There are no SB16 clones. There are SB Pro clones with a
417 16 bit mode which is not SB16 compatible. The most likely alternative is that
418 the 16 bit mode means MSS/WSS.
420 There are just few fully 100% hardware SB or SB Pro compatible cards.
421 I know just Thunderboard and SM Games. Other cards require some kind of
422 hardware initialization before they become SB compatible. Check if your card
423 was listed in the beginning of this file. In this case you should follow
424 instructions for your card later in this file.
426 For other not fully SB clones yoy may try initialization using DOS in
429 - Boot DOS so that the card specific driver gets run.
430 - Hit ctrl-alt-del (or use loadlin) to boot Linux. Don't
431 switch off power or press the reset button.
432 - If you use the same I/O, IRQ and DMA settings in Linux, the
435 If your card is both SB and MSS compatible, I recommend using the MSS mode.
436 Most cards of this kind are not able to work in the SB and the MSS mode
437 simultaneously. Using the MSS mode provides 16 bit recording and playback.
439 ProAudioSpectrum 16 and compatibles
440 -----------------------------------
442 There are nothing special with these cards. Just don't enable any
443 other cards in case you don't have them also. The PAS16 has
444 a SB mode so the driver config program will prompt for the SB settings
445 do. Use I/O 0x220 and DMA1 for the SB mode. Ensure that you assign different
446 IRQ numbers for the SB and PAS16 modes.
448 With PAS16 you can use two audio device files at the same time. /dev/dsp (and
449 /dev/audio) is connected to the 8/16 bit native codec and the /dev/dsp1 (and
450 /dev/audio1) is connected to the SB emulation (8 bit mono only).
455 There are many different revisions of the Ultrasound card (GUS). The
456 earliest ones (pre 3.7) don't have a hardware mixer. With these cards
457 the driver uses a software emulation for synth and pcm playbacks. It's
458 also possible to switch some of the inputs (line in, mic) off by setting
459 mixer volume of the channel level below 10%. For recording you have
460 to select the channel as a recording source and to use volume above 10%.
462 GUS 3.7 has a hardware mixer.
464 GUS MAX and the 16 bit sampling daughtercard have a CS4231 codec chip which
465 also contains a mixer.
467 Configuring GUS is simple. Just enable the GUS support and GUS MAX or
468 the 16 bit daughtercard if you have them. Note that enabling the daughter
469 card disables GUS MAX driver.
471 With just the standard GUS enabled the configuration program prompts
472 for the I/O, IRQ and DMA numbers for the card. Use the same values than
475 With the daughter card option enabled you will be prompted for the I/O,
476 IRQ and DMA numbers for the daughter card. You have to use different I/O
477 and DMA values than for the standard GUS. The daughter card permits
478 simultaneous recording and playback. Use /dev/dsp (the daughtercard) for
479 recording and /dev/dsp1 (GUS GF1) for playback.
481 GUS MAX uses the same I/O address and IRQ settings than the original GUS
482 (GUS MAX = GUS + a CS4231 codec). In addition an extra DMA channel may be used.
483 Using two DMA channels permits simultaneous playback using two devices
484 (dev/dsp0 and /dev/dsp1). The second DMA channel is required for
486 To enable the second DMA channels, give a valid DMA channel when the config
487 program asks for the GUS MAX DMA (entering -1 disables the second DMA).
488 Using 16 bit DMA channels (5,6 or 7) is recommended.
490 If you have problems in recording with GUS MAX, you could try to use
491 just one 8 bit DMA channel. Recording will not work with one DMA
492 channel if it's a 16 bit one.
496 MPU401 and Windows Sound System
497 -------------------------------
499 Again. Don't enable these options in case your card is listed
500 somewhere else in this file.
502 Configuring these cards is obvious (or it should be). With MSS
503 you should propably enable the OPL3 synth also since
504 most MSS compatible cards have it. However check that this is true
505 before enabling OPL3.
507 VoxWare supports more than one MPU401 compatible cards at the same time
508 but the config program asks config info for just the first of them.
509 Adding the second or third MPU interfaces must be done manually by
510 editing sound/local.h (after running the config program). Add defines for
511 MPU2_BASE & MPU2_IRQ (and MPU3_BASE & MPU3_IRQ) to the file.
515 The default I/O base of Adaptec AHA-1542 SCSI controller is 0x330 which
516 is also the default of the MPU401 driver. Don't configure the sound driver to
517 use 0x330 as the MPU401 base if you have a AHA1542. The kernel will not boot
518 if you make this mistake.
523 Even the PSS cards are compatible with SB, MSS and MPU401, you must not
524 enable these options when configuring the driver. The configuration
525 program handles these options itself. (You may use the SB, MPU and MSS options
526 together with PSS if you have another card on the system).
528 The PSS driver enables MSS and MPU401 modes of the card. SB is not enabled
529 since it doesn't work concurrently with MSS. The driver loads also a
530 DSP algorithm which is used to for the general MIDI emulation. The
531 algorithm file (.ld) is read by the config program and written to a
532 file included when the pss.c is compiled. For this reason the config
533 program asks if you want to download the file. Use the genmidi.ld file
534 distributed with the DOS/Windows drivers of the card (don't use the mt32.ld).
535 With some cards the file is called 'synth.ld'. You must have access to
536 the file when configuring the driver. The easiest way is to mount the DOS
537 partition containing the file with Linux.
539 It's possible to load your own DSP algorithms and run them with the card.
540 Look at the directory sound/pss_test for more info (in the VoxWare-3.0.tar.gz)
546 You have to enable the OPL3 and SB (not SB Pro or SB16) drivers in addition
547 to the native AudioTriX driver. Don't enable MSS or MPU drivers.
549 Configuring ATP is little bit tricky since it uses so many I/O, IRQ and
550 DMA numbers. Using the same values than with DOS/Win is a good idea. Don't
551 attemp to use the same IRQ or DMA channels twice.
553 The SB mode of ATP is implemented so the the ATP driver just enables SB
554 in the proper address. The SB driver handles the rest. Yoy have to configure
555 both the SB driver and the SB mode of ATP to use the same IRQ, DMA and I/O
558 Also the ATP has a microcontroller for the General MIDI emulation (OPL4).
559 For this reason the driver asks for the name of a file containing the
560 microcode (TRXPRO.HEX). This file is usually located in the directory
561 where the DOS drivers were installed. You must have access to this file
562 when configuring the driver.
564 If you have the effects daughtercard, it must be initialized by running
565 the setfx program of snd-util-3.0.tar.gz package. This step is not required
566 when using the (future) binary distribution version of the driver.
571 The SoundScape driver handles initialization of MSS and MPU supports
572 itself so you don't need to enable other drivers than SoundScape
573 (enable also the /dev/dsp, /dev/sequencer and MIDI supports).
575 SoundScape driver uses the MSS compatible codec of the card. It's important
576 to note that /dev/dsp0 (/dev/dsp is linked to /dev/dsp0 by default)
577 doesn't work with SoundScape (yet). The 'ssinit' program needs /dev/dsp0 so
578 that's the reason why it's there. It's possible that 'primary' pcm channel
579 becomes supported later. Currently the card's firmware doesn't contain
582 With 3.0 of VoxWare you have to change your system to use /dev/dsp1 by default
583 so execute: cd /dev;rm dsp;ln -s dsp1 dsp after you have installed VoxWare
586 The configuration program asks two DMA channels and two interrupts. One IRQ
587 and one DMA is used by the MSS codec. The second IRQ is required for the
588 MPU401 mode (you have to use different IRQs for both purposes).
589 The second DMA channel is required for initialization of the microcontroller.
590 You have to use separate DMA channels.
592 The SoundScape card has a Motorola microcontroller which must initialized
593 _after_ boot (the driver doesn't initialize it during boot).
594 The initialization is done by running the 'ssinit' program which is
595 distributed in the snd-util-3.0.tar.gz package. You have to edit two
596 defines in the ssinit.c and then compile the program. You may run ssinit
597 manually (after each boot) or add it to /etc/rc.d/rc.local.
599 The ssinit program needs the microcode file that comes with the DOS/Windows
600 driver of the card. You will need to use version 1.30.00 or later
601 of the microcode file (sndscape.co0 or sndscape.co1 depending on
602 your card model). THE OLD sndscape.cod WILL NOT WORK. IT WILL HANG YOUR
603 MACHINE. The only way to get the new microcode file is to download
604 and install the DOS/Windows driver from ftp://ftp.ensoniq.com/pub.
606 Then you have to select the proper microcode file to use: soundscape.co0
607 is the right one for most cards and sndscape.co1 is for few (older) cards
608 made by Reveal and/or Spea. The driver has capability to detect the card
609 version during boot. Look at the boot log messages in /var/adm/messages
610 and locate the sound driver initialization message for the SoundScape
611 card. If the driver displays string <Ensoniq Soundscape (old)>, you have
612 an old card and you will need to use sndscape.co1. For other cards use
615 Check /var/adm/messages after running ssinit. The driver prints
616 the board version after downloading the microcode file. That version
617 number must match the number in the name of the microcode file (extension).
619 Running ssinit with a wrong version of the sndscape.co? file is not
620 dangerous as long as you don't try to use a file called sndscape.cod.
621 If you have initialized the card using a wrong microcode file (sounds
622 are terrible), just modify ssinit.c to use another microcode file and try
623 again. It's possible to use an earlier version of sndscape.co[01] but it
626 Btw, The driver may complain something about "sscapeintr()" after
627 running ssinit. You should just ignore these messages.
629 MAD16 (Pro) and Mozart
630 ----------------------
632 You need to enable just the MAD16 /Mozart support when configuring
633 the driver. _Don't_ enable SB, MPU401 or MSS. However you will need the
634 /dev/audio, /dev/sequencer and MIDI supports.
636 Mozart and OPTi 82C928 (the original MAD16) chips don't support
637 MPU401 mode so enter just 0 when the configuration program asks the
638 MPU/MIDI I/O base. The MAD16 Pro (OPTi 82C929) has MPU401 mode.
640 TB Tropez is based on the 82C929 chip. It has two MIDI ports.
641 The one connected to the MAD16 chip is the second one (there is a second
642 MIDI connector/pins somewhere??). If you have not connected the second MIDI
643 port, just disable the MIDI port of MAD16. The 'Maui' compatible synth of
644 Tropez is jumper configurable and not connected to the MAD16 chip.
645 It can be used by enabling the stand alone MPU401 support but you have
646 to initialize it by using the MS-DOS SNDSETUP program.
648 There are some other OPTi chips which may be used in soundcards such as
649 82C930 and MAC32. These chips are not supported by VoxWare yet. Please
650 contact me if you have a soundcard which uses these chips.
652 Some MAD16 based cards may cause feedback, whistle or terrible noise if the
653 line3 mixer channel is turned too high.
655 If you have a MAD16 card which have an OPL4 (FM + Wave table) synthesizer
656 chip (_not_ an OPL3), you have to apped line containing #define MAD16_OPL4
657 to the file linux/dirvers/sound/local.h (after running make config).
662 The Jazz16 driver is just a hack made to the SB Pro driver. However it works
663 fairly well. You have to enable SB, SB Pro (_not_ SB16) and MPU401 supports
664 when configuring the driver. The configuration program asks later if you
665 want support for MV Jazz16 based cards (after asking SB base address). Answer
666 'y' here and the driver asks the second (16 bit) DMA channel.
668 The Jazz16 driver uses the MPU401 driver in a way which will cause
669 problems if you have another MPU401 compatible card. In this case you must
670 give address of the Jazz16 based MPU401 interface when the config
671 program prompts for the MPU401 information. Then look at the MPU401
672 spesific section for instructions about configuring more than one MPU401 cards.
674 Logitech Soundman Wave
675 ----------------------
677 Read the above MV Jazz spesific instructions first.
679 The Logitech SoundMan Wave (don't confuse with the SM16 or SM Games) is
680 a MV Jazz based card which has an additional OPL4 based wave table
681 synthesizer. The OPL4 chip is handled by an on board microcontroller
682 which must be initialized during boot. The config program asks if
683 you have a SM Wave immediately after asking the second DMA channel of jazz16.
684 If you answer 'y', the config program will ask name of the file containing
685 code to be loaded to the microcontroller. The file is usually called
686 MIDI0001.BIN and it's located in the DOS/Windows driver directory. The file
687 may also be called as TSUNAMI.BIN or something else (older cards?).
689 The OPL4 synth will be inaccessible without loading the microcontroller code.
690 Also remember to enable MPU401 support if you want to use the OPL4 mode.
692 NOTE! Don't answer 'y' when the driver asks about SM Games support
693 (the next question after the MIDI0001.BIN name). However
694 aneswering 'y' is not dangerous.
699 There are many different Sound Galaxy cards made by Aztech. The 8 bit
700 ones are fully SB or SB Pro compatible and there should be no problems
703 The older 16 bit cards (SG Pro16, SG NX Pro16, Nova and Lyra) have
704 an EEPROM chip for storing the configuration data. There is a microcontroller
705 which initializes the card to match the EEPROM settigs when the machine
706 is powered on. These cards actually behave just like they have jumpers
707 for all of the settings. Configure VoxWare for MSS, MPU, SB/SB Pro and OPL3
708 supports with these cards.
710 The config program asks if you want support for the mixer of
711 SG NX Pro. Answer 'y' to these questions if you have one of the above 8 or
714 There are some new Sound Galaxies in the market. I have no experience with
715 them so read the card's manual carefully.
721 There are several different cards made/marketed by Reveal. Some of them
722 are compatible with SoundScape and some use the MAD16 chip. You may have
723 to look at the card and try to identify origin of the card.
728 The oldest (Sierra Aria based) soundcards made by Diamond are not supported
729 (they may work if the card is initialized using DOS). The recent (LX?)
730 models are based on the MAD16 chip which is supported by VoxWare.
735 See comments in aedsp16.c.
741 Sorry, can't help. Some cards may work and some don't.
746 These computers have a built in sound support based on the Jazz chipset.
747 Look at the instructions for MV Jazz (above). It's also important to note
748 that there is something wrong with the mouse port and sound at least on
749 some TM models. Don't enable the "C&T 82C710 mouse port support" when
750 configuring Linux. Having it enabled is likely to cause mysterious problems
751 and kernel failures when sound is used.
756 Since there are so many different soundcards, it's likely that I have
757 forgotten to mention many of them. Please inform me if you know yet another
758 card which works with Linux, please inform me (or is anybody else
759 willing to maintain a database of supported cards (just like in XF86)?).
761 Cards not supported yet
762 =======================
764 First of all. There is an easy way to make most soundcards to work
765 with Linux. Just use the DOS based driver to initialize the card
766 to a _known_ state. Then ctrl-alt-del to Linux. If Linux is configured
767 to use the sama I/O, IRQ and DMA numbers than DOS, the card could work.
769 Don't get fooled with SB compatibility. Most cards are compatible with
770 SB but that may require a TSR which is not possible with Linux. If
771 the card is compatible with MSS, it's a better choise. Some cards
772 don't work in the SB and MSS modes at the same time.
774 There are some cards which will be supported by VoxWare sooner or later
775 (currently at least cards based on the ESS chipset). Such cards are
776 so common that there is some idea in writing the driver. Check the
777 VoxWare home page (http://personal.eunet.fi/pp/voxware) for latest
780 Then there are cards which are no longer manufactured and/or which
781 are relatively rarely used (such as the 8 bit ProAudioSpectrum
782 models). It's extremely unlikely that such cards never get supported.
783 Adding support for a new card requires much work and increases time
784 required in maintaining the driver (some changes need to be done
785 to all low level drivers and be tested too, maybe with multiple
786 operating systems). For this reason I have made a desicion to not support
787 obsolete cards. It's possible that someone else makes a separately
788 distributed driver (diffs) for the card. Version v4.0 will be much more
789 modular so making separately distributed drivers will be easier with it.
790 (The bad news is that v4.0 will not be available before late -96).
792 Writing a driver for a new card is not possible if there are no
793 programming information available about the card. If you don't
794 find your new card from this file, look from the home page
795 (http://personal.eunet.fi/pp/voxware). Then please contact
796 manufacturer of the card and ask if they have (or are willing to)
797 released technical details of the card. Do this before contacting me. I
798 can only answer 'no' if there are no programming information available.
800 Some companies don't give low level technical information about their
801 products to public or at least their require signing a NDA.
803 I have also made decicion to not accept code based on reverse engineering
804 to VoxWare. There are three main reasons: First I don't want to break
805 relationships to sound card manufacturers. The second reason is that
806 maintaining and supporting a driver withoun any specs will be a pain. The
807 third reason is that why shoud we help such companies in selling their
808 products to Linux users when they don't want to sell to Linux users
811 Unfortunately many of the leading soundcard manufacturers are not willing
812 to co-operate with Linux/Unix community. For example: Creative Technology
813 doesn't give information about the ASP chip and the Emu synth chip of AWE32
814 and SB32. Turtle Beach don't give information about any of their
815 products. MediaVision requires NDA before they are willing to
816 give information about the Jazz16 chip (fortunately Logitech gave
817 the info about SM Wave).
819 So at least the above three companies are out until they are willing to
820 release documentation about their products (the situation is the
821 same with many DOS based freeware/shareware games and utilities). If
822 you want to use Linux/Unix with their cards, please don't try to push
823 me. It's a better idea to contact the manufacturer and explain that
824 you want to use your card with Linux/Unix. You could also try to sell
825 your card to somebody else and then buy a card that is supported by VoxWare.
827 However it's possible that things change and a driver gets written
828 for some of the banned cards. Please, don't send me messages asking if
829 there is any plans to write a driver for the cards mentioned above. I
830 will put any news to the VoxWare www home page (see below).
832 There are some common audio chipsets that are supported yet. For example
833 the ESS chips and Sierra Aria. It's likely that these architectures
834 get some support in future but I can't make any promises. Just look
835 at the home page for latest info.
837 Information about unsupported soundcards and chipsets is welcome as well
838 as free copies of soundcards, SDKs and operating systems.
840 If you have any corrections and/or comments, please contact me.
844 VoxWare www home page: http://personal.eunet.fi/pp/voxware