Last modified: 2023-08-05 15:31
This is not a survey of PCI audio in general but one that focuses on the problems that were created during the migration of sound cards and integrated audio from ISA to PCI circa 1998. The most important questions are "Does it work with DOOM?" and "Does it mangle 44.1 kHz music?"
For PCI cards the former question is inextricably bound to the motherboard chipset, and a bad choice of motherboard for testing will mean that most cards just won't work. OTOH, it's nearly pointless to test PCI audio on the gold standard of compatibility (440BX) because that usually comes with ISA slots. Back in the day, the newer PCI sound cards were of course represented as being upgrades over the older ISA ones, but it was a blunder to accept them as such and install them in systems with working ISA slots.
Background
Taxonomy of PCI audio
AudioPCI through Audigy
Aureal Vortex and Vortex 2
Everything else
Detailed write-ups
Playing MIDI files to OPL3, GUS, EMU8000, ES137x, or EMU10K1 on baremetal DOS
Playing MIDI files to OPL2/3, EMU8000, or EMU10K1 on Linux/ALSA
Most music files use a 44.1 kHz sample rate and most of the sound effects in DOS games use some multiple of that (e.g., 22050 Hz or 11025 Hz). ISA sound cards were built around that reality, but early PCI sound cards instead made a hard switch to 48 kHz for no good reason (ES1370 AudioPCI cards being a notable exception).
There are three different levels of support for the 44.1 kHz sample rate and its multiples in PCI sound cards and chips:
Similarly, there are four different levels of compatibility with legacy DOS applications that use ISA DMA for sound (hereafter referred to simply as "legacy audio"):
A range of common Ensoniq and Creative sound cards are united by their use of .ECW (Ensoniq Concert Wavetable) files and Ensoniq's DOS driver technology for legacy audio.
Chips tested | Wikipedia says |
---|---|
(Never seen an S5016) | S5016 predates ES1370. |
ES1370 cards have a 44.1 kHz hardware clock. | Creative 5507 is the same chip. |
ES1371 and ES1373 cards are 48 kHz with internal resampling. Drivers can't tell the difference between them. | The only difference is that ES1373 has S/PDIF. CT5880 is the same as ES1371. EV1938 is a later variant with AC97 built in. |
EMU10K1 and EMU10K1X (Sound Blaster Live!) cards are 48 kHz with really poor internal resampling. | |
(Never had an Audigy) | DOS drivers still use ECW soundfonts. |
Although the hardware synth on Live! and Audigy cards certainly works with arbitrary SF2 soundfonts, the DOS drivers for all of these cards will only accept ECW soundfonts. There are three canonical ECW soundfonts and few others in existence.
None of these cards has an OPL3 implementation in hardware. For the earlier cards, FM is emulated poorly using the synth. For the Sound Blaster Live! the emulation is credible, but it is laggy and causes sound effects to glitch.
In most cases there are multiple driver sets that are applicable to a given card. Sometimes there is one from Ensoniq and one from Creative; sometimes there is a VxD one and a WDM one; sometimes there are separate DOS drivers and sometimes there aren't. The emulation provided for legacy audio can vary from T2 (old SBPro) to T4 (SBPro 2.0) or T6 (SB16). The nomenclature from Creative was messy enough that it is often difficult to tell which drivers are applicable much less optimal for a given card.
Available detailed write-ups:
ES1370 (Magitronic DCS S727-SB)
ES1373 (CT5803 Sound Blaster AudioPCI 64 Dell/Gateway)
EMU10K1-SEF (CT4830 Sound Blaster Live! Value OEM)
EMU10K1-NGF (SB0100 Sound Blaster Live! 5.1)
Aureal cards are a nice alternative to AudioPCI and SB Live!. They are 48 kHz and their OPL3 is still only an emulation, but their resampling is better and they come with a different soundfont. Interestingly, although the DOS driver is available only as part of a W98 drivers distribution, it appears not to require an EMM.
In addition to Vortex (AU8820) and Vortex 2 (AU8830) there was Advantage (AU8810), but I have yet to encounter the latter.
Available detailed write-ups:
Vortex (AU8820)
Vortex 2 (AU8830, Montego II A3D)
Yamaha YMF724 (unknown Labway DS-XG card): excellent synth and soundfont as well as an integrated OPL3, but the available DOS drivers have never worked.
ForteMedia FM801 (another unknown Labway card): it has an integrated OPL3 clone, but the XG is a lie!
CMI8738 (Diamond Extreme Sound 5.1 (XS51) SC3000): also has an integrated OPL3 clone.
CS4622/24 on-board audio (with 4297 AC'97 codec): has promising DOS drivers, not yet tested with DOOM.
ICE1712 / VIA Envy24 (M-Audio Delta DiO 2496): It's serious about sound quality but has no legacy audio.
Realtek ALC662 (ASRock 4CoreDual-SATA2 R2.0 on-board audio): HD Audio, doesn't even support W98 let alone DOS.
The Cirrus Logic Preliminary Product Bulletin (June 30, 1998) for the CS4622/24 claims Sound Blaster Pro compatibility and advertises "High Quality Hardware Sample Rate Conversion," "PC/PCI Legacy Support," "DDMA Legacy Support," and "CrystalClear Legacy Support (CCLS)" as features. It thus appears to have hardware support for legacy audio but resamples internally to 48 kHz. The CS4624 is a reduced-cost version of the CS4622 with no changes to the compatibility features.
In any given motherboard that has the CS4622/24 on-board, hardware support for legacy audio may or may not be connected. The photo and most of the following experience report were contributed by Owen Hann of Australia based on an IBM Thinkpad T22 (440BX chipset), 2014-01.
Chip: Cirrus Logic, Crystal Clear Sound Fusion CS4624 (Vendor ID=1013, Product ID=6003)
To get sound under DOS, only 3 files are required (the ZIP is 10 MB):
File | Size (B) | Description |
---|---|---|
\CWCDATA\CWCDOS.EXE | 57,939 | Required. CrystalWare SoundFusion Initialization Utility. |
\CWCDATA\CWCAUDIO.WCM | 6 | Required. Created when Windows 98 installs the PV2885.ZIP drivers. It is not in the ZIP! |
\CWCDATA\CWCPCPCI.OSP | 45,108 | Optional. Used if no command line option is specified. |
\CWCDATA\CWCDDMA.OSP | 44,380 | Optional. Used if the command line option /P is used. |
\CWCDATA\CWCDGAME.OSP | 44,756 | Optional. Used if the command line option /L or /X is used. |
[PV2885.ZIP is the package for Windows 95 and Windows 98 initial release that was available from Cirrus. Packages for W98SE etc. can be found by searching on CS4624, but the W98SE package PW3041.ZIP doesn't include CWCDOS.EXE!]
The CWCAUDIO.WCM created on the system under test contains (in hex): 20 02 88 03 05 01
AUTOEXEC.BAT needs to contain at a minimum
\CWCDATA\CWCDOS
. With no options, it uses PCPCI support
and loads the CWCPCPCI file. Options:
/H or /? | Output wrong descriptions of options |
/V | Be verbose as the sound chip is being initialised |
/L | Use CCLS support, load the CWCDGAME file |
/X | Use CCLX (?) support, load the CWCDGAME file |
/P | Use DDMA support, load the CWCDDMA file |
Based on testing with Mpxplay, the Thinkpad T22 appears to implement DOS support through PCPCI and DDMA:
\CWCDATA\CWCDOS /X
gives garbled output. The audio speed is too high and probably misses chunks.\CWCDATA\CWCDOS /L
causes a hard lockup after the first audio chunk.\CWCDATA\CWCDOS
and \CWCDATA\CWCDOS /P
work.Mpxplay does not support this chip natively but detects it as Sound Blaster Pro 2.0 once all is configured.
>\cwcdata\cwcdos /v /P CrystalWare(tm) SoundFusion(tm) Initialization Utility, Version 2.80 Copyright (c) 1998 Crystal Semiconductor Corp. All Rights Reserved. * Found PCI Bios. * Initializing the VCPI interface. * Found a CS4624 Revision H. * INTEL Chipset Found. * DDMA support Used. * Loading DOS game task from C:\CWCDATA\CWCDDMA.OSP. * Initializing. * Resetting SP. * Downloading DOS Game Tasks. * Starting DOS Game Tasks. * GPIO Pins Used for ISA interrupts. * Blaster using Port: 220 Irq: 5 Dma 1. * Uninitializing the VCPI interface. * Editing dosstart.bat. * Found cwcdos.exe dosstart.bat * Terminating and staying resident. >mpxplay -sct SBp card detected : SET BLASTER=A220 I5 D1 T4
Untested: DOOM and DN3D.
This card is designed for sound, not for gaming. For once we have a PCI card that doesn't suck at playing music:
What's missing:
The DiO 2496 has been overshadowed by the Audiophile 2496, which trades the optical S/PDIF connections for analog inputs and MIDI I/O. The analog jacks are on the bracket while the S/PDIF and MIDI connections are on a breakout cable.
The relevant module is snd_ice1712
. The controls for
this card can be quite confusing in alsamixer, but there is a better
way: envy24control, included in alsa-tools. Just edit the
top-level makefile to remove everything else from the list of subdirs and
type make.
The configuration as initialized by Alsa sends normal output to the analog jacks while the S/PDIF outputs are connected to a separate PCM called iec958.
bash-4.2$ aplay -l **** List of PLAYBACK Hardware Devices **** card 0: M2496 [M Audio Delta DiO 2496], device 0: ICE1712 multi [ICE1712 multi] Subdevices: 0/1 Subdevice #0: subdevice #0 bash-4.2$ aplay -L null Discard all samples (playback) or generate zero samples (capture) default:CARD=M2496 M Audio Delta DiO 2496, ICE1712 multi Default Audio Device sysdefault:CARD=M2496 M Audio Delta DiO 2496, ICE1712 multi Default Audio Device front:CARD=M2496,DEV=0 M Audio Delta DiO 2496, ICE1712 multi Front speakers surround40:CARD=M2496,DEV=0 M Audio Delta DiO 2496, ICE1712 multi 4.0 Surround output to Front and Rear speakers surround41:CARD=M2496,DEV=0 M Audio Delta DiO 2496, ICE1712 multi 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=M2496,DEV=0 M Audio Delta DiO 2496, ICE1712 multi 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=M2496,DEV=0 M Audio Delta DiO 2496, ICE1712 multi 5.1 Surround output to Front, Center, Rear and Subwoofer speakers iec958:CARD=M2496,DEV=0 M Audio Delta DiO 2496, ICE1712 multi IEC958 (S/PDIF) Digital Audio Output
To route the default PCM to all analog and digital outputs simultaneously,
configure thusly in envy24control (and optionally save the configuration with
alsactl store
):
Sample rate locking is on the Hardware Settings tab.
The supplied drivers are VxD and there is no legacy audio or MIDI support for DOS games.
2014-03: I don't know what Labway actually called this card, but it's a Yamaha DS-XG type. It is supposed to be able to emulate a Sound Blaster Pro 2.0. Cool features include genuine OPL3 (integrated in the YMF724F), an impressive XG synth, an 18-bit DAC (WM9701A), and PC/PCI support. The single 48 kHz clock sucks, but the internal resampling is not bad. Anachronistically, line-level output must be selected by jumpers for the one output jack.
2014-09: The AOpen AW724 Audio Phantom is functionally similar but more cheaply made. It omits the PC/PCI header and its analog audio headers are an older type that modular plugs won't fit.
I did not test it on the jinxed PT880 Ultra chipset.
Module snd-ymfpci enables PCM sound but disables the game port, OPL3, and MPU-401 devices by default. To fix, create a file /lib/modprobe.d/alsa.conf containing:
options snd-ymfpci joystick_port=0x201 fm_port=0x388 mpu_port=0x330
The sbiload + aplaymidi combo works to get music out of the OPL3, but it glitches.
AFAICT, the best possible outcome in pure DOS is Sound Blaster Pro 2.0 emulation with OPL3 (i.e., no XG synth), but it never works. I haven't tried the PC-PCI yet.
Labway and their drivers have gone to the ash heap of history. I tried the final version (v. 3.16) of Yamaha's generic DOS drivers from Yamaha's own web site. These drivers need the DOS4GW.EXE extender but it is not included.
When testing on a 440BX motherboard I got this error, "Can not detect Interrupt," regardless which IRQ number I chose:
On an MVP3 motherboard, all of the options were grayed out, DMA didn't work, and it was hopeless. In both cases, the native mode sound test and FM sound test still worked.
2015-12-05: Yuki Saitou reported SB Pro emulation working in pure DOS with DOOM and other games on an Asus TUSL2-C board (815EP chipset): "The setup tool still has many options greyed out and I can't test SB emulation from within however if I choose save and exit then run loadtsr.bat it successfully initialises and displays the Port/IRQ/DMA details on screen."
In Windows 98 this card can finally shine, but the legacy audio is still tricky.
Yamaha provided both VxD and WDM driver sets here. Each version has its own quirks.
VxD | WDM |
---|---|
yamaha_dsxg_driver.exe installs easily and the card is detected after a reboot. | dsxgwdm.exe installs easily, but two reboots are needed (only one is prompted) before the card is detected. |
Sound font installed as ydsxg.dat | Sound font installed as Dsxgwave.tbl |
T4 Sound Blaster Pro 2.0 emulation | T4 Sound Blaster Pro 2.0 emulation |
Must turn MIDI up to maximum in the mixer to balance with Wave. It likes to revert to the default setting after an unclean shutdown. | Must turn Wave down to 50% in the mixer to compensate for really quiet MIDI. |
DOOM works. | DOOM works but sound effects are glitchy (as always with WDM?) |
DN3D crashes Windows. | DN3D works. |
VxD | WDM |
---|---|
N/A | |
N/A | |
N/A |
Although the file names are different, the 2.5 MB sound font in the two driver sets is bit-for-bit identical. Overwriting it with the 4 MB sxgwave4.tbl waveset used with the Yamaha softsynth doesn't work. Untested: PowerYMF.
A Wikipedia contributor wrote, "WDM drivers... provide subjectively unacceptable XG MIDI synthesis (General MIDI synthesis is considered acceptable)." Without doing a careful side-by-side comparison using a native XG mid file, I haven't encountered drastic problems with the WDM drivers identified above. However, with an older version of the WDM driver set (the Yamaha DS-XG Audio Config app declares itself to be version 4.10.2223) I would describe the MIDI rendering as "mangled." The older version still has SONDIUS-XG on the Synthesizer tab, but enabling it causes Windows to lock up when DOOM runs.
I like the XG sound font. Unlike most, it can be used as a drop-in replacement for Sound Canvas without messing up the timing of everything, and the drums are better than SC. It makes DOOM E1M1 and the DN3D theme sound most excellent.
Despite the XG logo and strong physical resemblance to the YMF724 card, there is no XG synth here. OEMs bundled the Yamaha S-YXG50 softsynth with the drivers that you can no longer get. ForteMedia had generic drivers (without the softsynth) on the web for a short while.
On the good side, it does have an integrated OPL3 clone that isn't too bad.
I did not test it on the jinxed PT880 Ultra chipset.
snd-fm801
In the mixer there are three volume controls that affect wav sound output: Master, PCM, and Wave. All three must be set to 60% or lower to avoid noisy output.
sbiload + aplaymidi works without glitching.
Joystick support is in a separate module, fm801-gp
.
(Tested on MVP3 chipset.)
The installer in Dos202.zip, ForteMedia's generic "Base Driver for DOS," is refreshingly simple and direct, prompting for resources and then asking, "Is this OK for your DOS Games?" Unfortunately, it causes percent symbols to disappear from AUTOEXEC.BAT.
SET BLASTER=A220 I5 D1 T4 C:\LOCAL\SNDCARDS\FM801\CFG801 C:\LOCAL\SNDCARDS\FM801\DOS801
The executables CFG801.EXE and DOS801.EXE can be moved out of the root directory, but the paths to config files C:\DOSGAME.CFG and C:\VOLUME.CFG are hard-coded.
An EMM is not required, but DOS801 is a TSR.
The mixer settings in VOLUME.CFG are at most only initial values. As soon as you run a game, the volume gets cranked up and is left that way after the game exits.
The channels are reversed in DOOM and DN3D. SET
DMXOPTION=-opl3
does yield stereo (reversed) OPL3 music in
DOOM.
I scrounged up the following files, which I believe to be from the long-gone ForteMedia generic collection:
With the base drivers you get a standard mixer (double click on volume widget), legacy audio, and joystick driver. MIDI played to the "FM801 Internal FM" synth sounds much like the awful "Creative Music Synth." Vanilla DOOM and DN3D run but the volume is still wonky and the channels are still reversed.
The Q3D driver set is unusable. It installs a version of the base audio device driver that doesn't work.
EzAudio is just yet another CD/MIDI/WAV player.
The CMI8738 presents as a high-end audio chip with support for both 44.1 and 48 kHz sample rates, which is enigmatic given that the 14.318 MHz clock source is an even multiple of neither one.
snd_cmipci
Port Client name Port name 16:0 C-Media CMI8738 C-Media CMI8738 MIDI 17:0 OPL3 FM synth OPL3 FM Port
sbiload + aplaymidi works without glitching but the channels are reversed.
Header J3 matched up with the CD audio input.
Like snd-ymfpci, this module does not enable the joystick unless asked. Add to /lib/modprobe.d/alsa.conf:
options snd-cmipci joystick_port=1
The tested drivers came from the Diamond Installation CD Version 1.0 for Windows 2000/XP/MCE. Although the autorun setup supports only the indicated later versions of Windows, manually installable Windows 98 drivers were "hidden" in subdirectory Drivers. Included were audio driver v. 5.12.01.0046.5.1 (WDM) and Diamond Multimedia 3D Audio Configuration v. 1.0.41.24.
2015-10: I have now tested this card on three different chipsets. With PT880 Ultra, Windows locked up every time DOOM or DN3D tried to initialize sound effects. With KT133E and 440BX this did not occur; however, the slower CPU on the 440BX board led to horrible lag. At best, all PCM output was breaking up, and if the Universal VESA/VBE driver was installed, simply moving the mouse caused music to slow down.
In a DOS box, BLASTER=A220 I5 D1 T4 P330, but they didn't bother to make the OPL3 work. Music sent to OPL3 goes into a black hole.
General MIDI is provided by the Microsoft GS softsynth. Using that, DOOM and DN3D would be playable if not for the sound effects breaking up. The channels are not reversed.
Absolutely nothing is done for real-mode DOS.
2015-10, 440BX, FreeDOS: DOS drivers for some card using the same or similar chip appeared on Vogons. They initialized successfully exactly once:
That time I managed to get OPL3 music in DOOM though the IRQ was wrong for sound effects. Unfortunately, that success was random and irreproducible. Every other time, this happened:
The installer added a line to AUTOEXEC.BAT setting BLASTER=A220 I5 D1 H5 T4, which (a) specifies a high DMA that does not apply to T4 and (b) disagrees with the IRQ reported by SETAUDIO.
There is a mixer app (C3DMIX.COM), but it is impossible to unmute FM and wave if SETAUDIO hasn't initialized successfully.
C3DMIX is run in AUTOEXEC.BAT with a long list of cryptic, undocumented switches. Running C3DMIX interactively causes it to modify the magic numbers in AUTOEXEC.BAT!
C:\LOCAL\SNDCARDS\CMI8738\C3DMIX /MFF000 /FFF000 /WFF000 /L00100 /E00100 /A00100 /C00100 /P00000 /400000 /R0f0ff /D040ff
FWIW, MPXPLAY supports this card directly and it sounds great.
I have no clue what brand and model this card was sold as. Tested 2015-09 using 440BX motherboard and 450 MHz Pentium 2 CPU (Dell R450).
The module is snd_au8820
. There is no synth. There is,
however, a profusion of subdevices appearing through ALSA to support hardware
mixing.
Card 0, ID `au8820', name `Aureal Vortex au8820' Device 0, ID `Aureal Vortex ADB', name `au8820 adb', 16 subdevices (16 available) 1..2 channels, sampling rate 5000..48000 Hz Sample formats: U8, S16_LE, MU_LAW, A_LAW Subdevice 0, name `subdevice #0' [...] Subdevice 15, name `subdevice #15' Device 3, ID `Aureal Vortex WT', name `au8820 wt', 32 subdevices (32 available) 1..2 channels, sampling rate 8000..48000 Hz Sample formats: S16_LE Subdevice 0, name `subdevice #0' [...] Subdevice 31, name `subdevice #31'
ADB = Audio Data Bus, the normal PCMs. WT = WaveTable, a set of PCMs that support the W98 softsynth. The latter have mysterious additional features, but in a brief, simple test they appeared to work the same as the PCMs on device 0.
Sound seems to work, but these kind of messages appear in the system log whenever SDL is used:
snd_au8820 0000:00:10.0: BUG: , pos = 2048, buffer size = 2048, period size = 1024 snd_au8820 0000:00:10.0: BUG: , pos = 2051, buffer size = 2048, period size = 1024
Version 4.05.0110 drivers are provided in drivers/audio/aureal on the W98SE installation CD, but they don't work right at all. Instead, I used version 4.06.1189 from VOGONS, installed by the Browse method.
Sound Blaster emulation is T4 (Sound Blaster Pro 2.0). Neither music nor sound effects has the reversed channels problem.
Some kind of stereo enhancement is enabled by default under the Advanced tab of the mixer. There's also A3D.
The volume of Wave Out needs to be reduced to around 50% of Wavetable in the mixer for General MIDI to be loud enough. For the emulated OPL3, it has to be lower yet.
"Restart in MS-DOS mode" is limited to using the OPL3 emulation, which is not very good. With music sent to General MIDI, DOOM and DN3D run well enough in DOS boxes; however, sound effects are glitchy in DOOM, and sometimes the synth gets hosed and you have to reboot.
The installed sound font is called AUREALGM and is 5188936 B. The FAQ says "Windows 9x 4.06.1187 or later reference drivers support DownLoadable Sounds 1.0 and any Soundfonts 2.0 files with don't use ROM samples." There is a Download button on the MIDI tab of the Vortex Control Panel, but it only wants files called *.arl, *.dls, or AurealGM. Overwriting AUREALGM with Scc1t2.sf2 caused broken music (looping drum samples).
By default, the driver assigns DMA 3 for legacy audio and DMA 1 for something unexplained. Switching to "Basic configuration 0007" assigns DMA 1 to legacy audio and surrenders the other DMA. The affected fields in VORTEX.INI are SBFMDMA (legacy audio) and SBFMDMA2 (???).
SBFMDMA=0x3
SBFMDMA2=0x1
SBFMDMA=0x1
SBFMDMA2=0xFF
The PCI IRQ and CPU frequency in MHz are also encoded in VORTEX.INI, so blindly copying the config file from one PC to another is likely to break something. (CPU speed? Seriously, you need that?)
PCIIRQ=0x9 CPUSpeed=0x1C0
Tested with FreeDOS. The Aureal driver for DOS can be said to "work" in real mode as well as in virtual 8086 mode; however, either way it caused corruption and crashes, and either way you are stuck using the unimpressive emulated OPL3 with no wavetable MIDI.
It suffices to copy the files ASP4DOS.COM and VORTEX.INI from a W98SE installation and do the following in AUTOEXEC.BAT:
SET WINBOOTDIR=C:\LOCAL\SNDCARDS\AU8820 LH C:\LOCAL\SNDCARDS\AU8820\ASP4DOS.COM REM This must match the configuration in VORTEX.INI. SET BLASTER=A220 I5 D1 T4
The TSR is 38973 B and occupies 23392 B after loading. It refused to load high.
There is no mixer. The third-party tool VORTMIX didn't work. I was stuck with default volumes.
MPXPLAY plays music in SBPro mode for at most a minute before crashing. DN3D prints garbage on the start and exit screens but is playable. DOOM sound effects are less glitchy than they were in W98SE, but they still cut off like only one can play at a time.
In summary, though DOOM and DN3D are playable, the poor-quality MIDI, glitched sound effects, lack of a working mixer, and evidence of corruption make this card a poor choice for plain DOS.
The Montego II is an Aureal Vortex 2 type sound card. The Montego II A3D apparently is a Dell OEM variant.
The big deal justifying an upgrade from Vortex 1 was A3D 2.0. FWIW, it also adds a 10-band equalizer and more choices for chorus/reverb effects. Apart from that, though, the functionality and quirks wind up being very similar.
The relevant module is snd_au8830
. There is no
synth, but there is a profusion of subdevices for hardware mixing.
Card 0, ID `au8830', name `Aureal Vortex au8830' Device 0, ID `Aureal Vortex 2 ADB', name `au8830 adb', 16 subdevices (16 available) 1..2 channels, sampling rate 5000..48000 Hz Sample formats: U8, S16_LE, MU_LAW, A_LAW Device 1, ID `Aureal Vortex 2 SPDIF', name `au8830 spdif', 1 subdevices (1 available) 1..2 channels, sampling rate 32000..48000 Hz Sample formats: U8, S16_LE, IEC958_SUBFRAME_LE, MU_LAW, A_LAW Subdevice 0, name `subdevice #0' Device 2, ID `Aureal Vortex 2 A3D', name `au8830 a3d', 16 subdevices (16 available) 1 channel, sampling rate 5000..48000 Hz Sample formats: U8, S16_LE, MU_LAW, A_LAW Device 3, ID `Aureal Vortex 2 WT', name `au8830 wt', 64 subdevices (64 available) 1..2 channels, sampling rate 8000..48000 Hz Sample formats: S16_LE
AlsaMixer provides controls for the 10-band equalizer.
2013-01, 865PE: The recommended drivers from Dell fail to install legacy audio. This error has a workaround, but the workaround requires a newer version of the drivers than Dell uses. Moving the card to a different PCI slot as the error message suggests doesn't actually help.
The retail Montego II drivers ("WARNING: Not for Dell Montego") actually worked, but they blue screened after the Sound Blaster Pro emulation was installed and thus never installed the apps.
I got the best results with Aureal's generic AU8830 drivers (version
4.06.2048) which are available
from VOGONS.
If run without patching, they replicate the PCI bus error shown above, but
the problem is avoided by uncommenting the line
HKR,Config,DisableBusDetection,1,1
in AU30MMED.INF before
installing the drivers. There is no installer executable—they are installed
through the "Browse" method when Windows searches for drivers.
The drivers would not tolerate a second audio device or game port—the motherboard's integrated devices had to be disabled in BIOS setup.
2014-07: Success was not reproducible on the PT880 Ultra chipset. The sound drivers corrupted the system somehow. Firstly, they broke "Primary IDE controller," disabling the CD-ROM and causing Windows to prompt "To finish setting up your new hardware, you must restart your computer. Do you want to restart your computer now?" on every single boot without end. Secondly, DOOM would crash or hang. The only configuration that didn't crash pretty fast was running in a DOS box using the OPL3 emulation for music. I couldn't test DN3D much without a working CD-ROM, but all the sound tests were OK in setup until Windows crashed. Going back and trying the retail drivers, they did not blue screen but neither did they solve the problem.
2015-09, 440BX (Dell R450): Now comparing the 4.06.2048 drivers to recent experience with the Vortex 1. The installed sound font AU30GM.ARL is identical to the AUREALGM file that was seen earlier. The sound font Download button now accepts SF2 files, but they still don't work right—the drums looped on both Scc1t2.sf2 and Unison.sf2.
In the mixer, the "Advanced Controls for Volume Control" aren't there anymore, but the relative volume of Wavetable and Wave Out is just as unbalanced.
Sound effects are still glitchy in DOOM and the synth still gets itself hosed. Enabling chorus and reverb caused the drums to stop working in DN3D and they didn't come back after disabling effects and doing a cold reboot. They eventually came back after some random flailing with music settings and checking things out in a DOS box.
Changing DMAs is the same as with the Vortex 1. The config file is now called AU30DOS.INI, but the only difference in content is that [ASP4DOS.COM] changes to [AU30DOS.COM].
2014-07, PT880 Ultra: Everything crashed.
2015-09, 440BX (Dell R450): Similar to Vortex 1. The sound effects glitching wasn't as bad and the OPL3 emulation seemed better as well. The bad news is the crashing and corruption issues were exactly the same and VORTMIX still didn't work.
Apart from renamings, configuration is the same as for Vortex 1.
SET WINBOOTDIR=C:\LOCAL\SNDCARDS\AU8830 LH C:\LOCAL\SNDCARDS\AU8830\AU30DOS.COM REM This must match the configuration in AU30DOS.INI. SET BLASTER=A220 I5 D1 T4
The module is snd_emu10k1
. See here about getting the synth to work.
As originally tested:
Card | CT4830 Sound Blaster Live! Value (OEM) |
Card type | EMU10K1-SEF, 48 kHz |
Tested on | 440BX, Pentium II |
Drivers | Creative SB16 Emulation Driver, Version 5.00 |
Drivers need | DOS + EMM386 with VCPI enabled (I used JemmEx NOEMS) |
Experience |
• Like Live! 5.1, only worse • Defaults to digital output only • Emulates Sound Blaster 16 • OPL3 emulation causes DOOM to stutter and slow down (no such problem with General MIDI) • DUKE3D could not initialize sound effects* • Did not try Windows 98 drivers CD |
* Live! cards versus Duke Nukem 3D: testing sound effects in setup failed with "Playback failed, possibly due to an invalid or conflicting DMA channel. Make sure the 16-bit DMA channel is correct." The DMA channel was correct. Things that didn't help: V4.00 drivers; reserving IRQ and DMAs in BIOS; using Microsoft HIMEM and EMM386; enabling EMS; using the most basic Sound Blaster option in DUKE3D setup (which should not have required a high DMA at all).
2015-04: Reproducing success with this very common card was incredibly difficult. The failures were multi-layered:
Here is the working configuration, in painstaking detail:
The driver provides both OPL3 emulation and General MIDI, but the OPL3 emulation is fatally flawed. It has excellent timbre, but the speed at which music plays is both too slow and inconsistent. Since this occurred essentially the same way with a P4 as with a Pentium II, slow CPU is not the problem; the emulation is just laggy.
General MIDI with an ECW soundfont works smoothly in both DOOM and DN3D. The DN3D initialization problem that occurred in the original test with the Pentium II did not reproduce.
The choices of ECW soundfont, IRQ, DMAs, and ports are coded in the config file CTSYN.INI. SBEINIT.COM modifies the BLASTER variable accordingly, but it has to be set first anyway or it will remain unset.
SET PATH=%PATH%;C:\LOCAL\ARC\SNDCARDS\SBLIVE SET CTSYN=C:\LOCAL\ARC\SNDCARDS\SBLIVE SET BLASTER=A220 I5 D1 H5 P330 T6 SBEINIT.COM
Note that the emulation type is T6 (Sound Blaster 16) instead of the more common T4 (Sound Blaster Pro 2.0).
2015-04, 865PE: Version 4.12.01.0906 of the VxD drivers installed and worked with no drama other than the need to deselect "Digital Output Only" in the advanced mixer settings. The sound font used by Windows Media Player and Creative's own .mid player can be changed using Creative's AudioHQ app, but DOOM and DN3D running in DOS boxes are oblivious to this and always use the DEFAULT.ECW soundfont. Similarly, changing the MIDI output device to Creative S/W Synth affects Windows apps but not the games. Thus, unless a third-party softsynth can be made to work, the net functionality for games is no better than what was possible under plain DOS. (The AWE64 was able to change sound fonts for DOS games within W98SE, as was the Sound Blaster Live! 5.1 using WDM drivers.)
The conflict with DOS/32A did not reproduce in DOS boxes.
I tested many different WDM drivers, but none of them worked with the 865PE motherboard. Some would install but produce only noise; others would not even install. Notes indicate that some WDM drivers worked on the PT880 Ultra motherboard as far as regular Windows sounds and Windows Media Player were concerned, but games always locked up at launch.
2015-10, 440BX: After achieving success with the CT4830 I just wanted to see if the 5.1 would work similarly.
snd_emu10k1
again.
Port Client name Port name 16:0 SB Live! 5.1 EMU10K1 MPU-401 (UART) 17:0 Emu10k1 WaveTable Emu10k1 Port 0 17:1 Emu10k1 WaveTable Emu10k1 Port 1 17:2 Emu10k1 WaveTable Emu10k1 Port 2 17:3 Emu10k1 WaveTable Emu10k1 Port 3
The drivers and configuration that worked for the CT4830 on an 865PE motherboard also worked for the SB0100 on a 440BX motherboard. The one notable difference is that OPL3 emulation is not laggy with the SB0100. It still causes horrible glitching of sound effects, however. DOOM's stereo OPL3 switch doesn't work.
Sound got hosed at one point but came back after a reboot.
MPXPLAY defaults to SB16 but also works with -scs SBA.
Very few of the many SB Live! driver sets that are out there correctly support this card; the ones currently available from Creative's own web site do not. The set called CT4780.ZIP on Vogons contains WDM drivers version 5.12.01.3511 that work if installed by the browse method, but no apps are included and the joystick installation is borked. A fully functional installation of drivers and Creative apps is possible with the June 2001 Sound Blaster Live! 5.1 Install CD, which contains WDM drivers version 5.12.01.3227.
BLASTER is A220 I5 D1 T4 P330. There is no OPL3 emulation, but DOOM and DN3D both run reasonably well in DOS boxes with music sent to General MIDI. Music slows down and sound effects break up when the CPU is overloaded, and there is some glitching of sound effects in DOOM as there always is with WDM drivers.
The drivers provide "A" and "B" versions of the MIDI synth, reportedly to get around a 16-channel MIDI limitation. The CT4780.ZIP drivers furthermore add a Creative softsynth.
Amazingly, when the sound font is changed in AudioHQ, it actually works for General MIDI output from DOOM and DN3D!
A PCI card with a single hardware clock that operates at 44.1 kHz instead of 48 kHz. The codec is an Asahi Kasei AK4531, which I think has an 18-bit DAC. Only a speaker out jack, but the output is of good quality.
2014-02, MVP3: I have been unable to locate DOS drivers that work with this mobo. The Creative drivers being distributed from MAME as SBPCI64.zip get through initialization without failing and the mixer seems to operate, but APTEST always gives "DMA test failed" and no applications are able to produce sound.
2015-05, 440BX (Dell R450): OK, with the same drivers I got sound, but there are still problems.
SET BLASTER=A220 I5 D1 T2 SET SNDSCAPE=C:\LOCAL\SNDCARDS\ES1370 SET PATH=%PATH%;C:\LOCAL\SNDCARDS\ES1370 APINIT APLOAD
The choices of ECW soundfont, IRQs, DMA, and ports are coded in the config file SNDSCAPE.INI. APINIT will not run unless BLASTER is set. It also fails if the old version of DOS4GW that is bundled is upgraded.
As with all cards in this series, an EMM is required for the legacy audio, and General MIDI works with any of the three ECW soundfonts.
After testing originally with FreeDOS and JemmEx, I reproduced the DOOM failure using the W98SE kernel both with JemmEx and with HIMEM+EMM386, and without DOSLFNMS or CPU idle.
The PCI128 drivers that worked better for the ES1373 card did not detect this one.
2014-06, PT880 Ultra: I tested three versions of Creative's AudioPCI / Sound Blaster PCI 64 drivers but none of them worked in the slightest. Through this thread I located a pre-acquisition Ensoniq driver distro:
Archive: audiopci.zip Length Date Time Name --------- ---------- ----- ---- 248832 06-30-1997 15:13 Wizard.exe 8192 06-30-1997 15:30 _ISDEL.EXE 6128 06-30-1997 15:30 _SETUP.DLL 21703 06-30-1997 15:30 _SETUP.LIB 8256 04-02-1997 16:18 CLNUTIL.DLL 1280 03-12-1997 08:50 CLNUTL16.DLL 18432 03-12-1997 13:59 clnutl32.dll 68829 06-30-1997 09:47 eapci.vx_ 327364 06-30-1997 14:27 EAPCI.Z 184 11-12-1996 19:16 eapci_ss.in_ 2257237 01-28-1997 18:19 eapci2m.ecw 4995408 01-28-1997 17:06 eapci4m.ecw 45113 06-30-1997 09:49 eapci95.dr_ 5389 05-22-1997 09:52 eapci95.hl_ 4553 06-27-1997 14:44 eapci95.inf 140934 05-27-1997 14:45 ensmix32.ex_ 22528 02-20-1997 14:59 IWLang.dll 10175 05-27-1997 14:49 mixres32.dl_ 45312 06-30-1997 15:30 SETUP.EXE 6455 06-30-1997 15:30 SETUP.INS 189 06-30-1997 14:27 SETUP.PKG 10574 05-27-1997 11:43 starter.ex_ 282766 06-30-1997 15:30 _INST16.EX_ --------- ------- 8535833 23 files
The installation process stopped with "The ENSONIQ AudioPCI hardware has not been detected in your system:"
But after a reboot it was there and working with no obvious problems. It even provided a separate mixer with controls for Spatial, Reverb, and Chorus.
In summary, you get Ensoniq General MIDI and a 44.1 kHz sample rate, but not without the SBPro channel-swapping problem.
Wait, we missed something important here: OMG! Ensoniq's legacy audio drivers worked on a PT880 Ultra chipset!
Module snd_ens1370
detects and operates the card. Two
devices are reported with different sampling rate ranges as if there were a
48 kHz clock present:
*** Scanning for playback devices *** Card 0, ID `AudioPCI', name `Ensoniq AudioPCI' Device 0, ID `ES1370/1', name `ES1370 DAC2/ADC', 1 subdevices (1 available) 1..2 channels, sampling rate 4000..48000 Hz Sample formats: U8, S16_LE Subdevice 0, name `subdevice #0' Device 1, ID `ES1370/2', name `ES1370 DAC1', 1 subdevices (1 available) 1..2 channels, sampling rate 5512..44100 Hz Sample formats: U8, S16_LE Subdevice 0, name `subdevice #0'
ALSA's default configuration is problematic. It wants to upsample everything to 48 kHz. Using the hardware devices directly avoids that, but the ramifications of the different sample rate ranges for the two devices remain murky.
bash-4.2$ aplay --disable-resample track03.LaundryService.wav Playing WAVE 'track03.LaundryService.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo Warning: rate is not accurate (requested = 44100Hz, got = 48000Hz) please, try the plug plugin (-Dplug:default) bash-4.2$ aplay -Dhw:0,0 --disable-resample track03.LaundryService.wav Playing WAVE 'track03.LaundryService.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo bash-4.2$ aplay -Dhw:0,1 --disable-resample track03.LaundryService.wav Playing WAVE 'track03.LaundryService.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
2014-06: OK, so it turns out that the card will actually accept input at 48 kHz, but it does something weird and plays it off-pitch. This at least explains why ALSA believes 48 kHz to be a valid choice, but consequently the 48 kHz rate has to be carefully avoided. The two separate stereo DACs must relate to the card's implementation of 4-channel sound.
The single output jack claims to be line level but is plenty loud and noisy. At high volume the higher frequencies get crowded out somehow.
The module snd_ens1371
is used for ES1373 too.
aplaymidi -l shows only a single port, which I assume is the MPU-401 not
the synth. Wav output is normal. The card's internal resampling
from 44.1 kHz is middle-of-the-road.
2015-10: Testing on PT880 Ultra produced the familiar crashing, lockups, and spontaneous reboots in DOOM and DN3D, so I have gone back to 440BX to get the baseline.
With FreeDOS, JEMMEX NOEMS, and no UIDE, the PCI128 drivers shown below worked apart from printing the wrong product name.
SET PATH=%PATH%;C:\LOCAL\SNDCARDS\ES1373 SET SBPCI=C:\LOCAL\SNDCARDS\ES1373 SET BLASTER=A220 I5 D1 H5 P330 T6 SBLOAD SBINIT
I also tested the AudioPCI 64V drivers shown below. They initialized OK and worked for MPXPLAY and MegaMID, but DOOM and DN3D both crashed in a matter of seconds, and the voice channels were reversed.
SET PATH=%PATH%;C:\LOCAL\SNDCARDS\DELME SET SNDSCAPE=C:\LOCAL\SNDCARDS\DELME SET BLASTER=A220 I5 D1 T2 APINIT APLOAD
2023-06-10: Remnants of the download page shown below can still be found at https://support.creative.com/....
"An existing Sound Blaster Vibra128, Sound Blaster 16 PCI,
Sound Blaster PCI 128, Sound Blaster Ensoniq AudioPCI, or Sound Blaster
PCI4.1 Digital software package must be installed before installing this
update." Not!
2014-07, PT880 Ultra: Although Creative's product list clearly identifies CT5803 as an AudioPCI 64 OEM version, none of the driver sets for Sound Blaster AudioPCI 64V that I tested were recognized by Windows as being applicable to the installed card. OTOH, the Sound Blaster PCI128 Driver Pack and/or "Web Update" SBPCI_WebDrvsV5_12_01.exe from Creative's web site installed smoothly with no error messages and made Windows unbootable (yay). It locked up at the splash screen every time.
This time I would not give up easily. Examination of the non-bootable partition revealed that Creative's installer had modified CONFIG.SYS to load both HIMEM and EMM386, which under W98SE is only going to cause problems:
DEVICE=C:\WINDOWS\HIMEM.SYS DEVICE=C:\WINDOWS\EMM386.EXE DEVICE=C:\WINDOWS\setver.exe
Removing those two lines, Windows booted and the sound was working!
The sound initially seemed messed up, but it was only because spatial and reverb effects had been enabled by default. They can be disabled using the Advanced Controls in the mixer, which is accessed by double-clicking on the volume widget.
In a DOS box, BLASTER=A220 I5 D1 T4 P330. There is no OPL3 emulation, but DOOM and DN3D both run well with music sent to General MIDI. The channels are not reversed. Windows crashes or locks up every time that DOOM exits, but at this point I can live with that.
Sound effects in DOOM are a little bit glitchy. Under Control Panel → Multimedia → Audio tab → Playback, Advanced Properties → Performance tab there is a slider to adjust the sample rate conversion quality; changing this from best/slowest to good/fastest seems to reduce the problem but not eliminate it. (Apparently, everything gets resampled to 48 kHz in software before it even gets to the sound card.)
There's no menu option that I can find to switch from the installed EAPCI2M.ECW soundfont to something else, but copying EAPCI8M.ECW onto EAPCI2M.ECW does it. Alternately, you can skip the Ensoniq synth entirely and route MIDI to the Microsoft GS softsynth to get the Roland soundfont. I dislike what EAPCI8M does to DOOM's E1M1 music (those fading guitars), but for "Sign of Evil" (E1M8, E3M4, and E4M1) it's quite good. (That was with reverb on, chorus off.)
As with the SB Live!, there are billions of different driver distributions that might apply to this card. Some of them might work better, include useful apps, desist from sabotaging CONFIG.SYS, or avoid the crash when DOOM exits. But after that litany of failures, now that something is kind of working on the PT880 Ultra motherboard, I am in no hurry to mess with it.
With no support for DOS or W98SE at all, the integrated sound on this motherboard wouldn't be worth mentioning except that it was ridiculously hard to figure out how to get it working in Linux and I wanted to document the successful workaround.
This VIA PT880 Ultra chipset board comes with an ALC662 rev. 1 5.1 channel codec and a sticker covering up the "7.1 CH HD" text printed on the board.
2014-04, Linux kernel 3.14: I think there were two separate but interacting problems. The first problem is that the VIA HD Audio module can be loaded by mistake and cause conflicts. Disable that and enable only the Realtek HD Audio module:
The second and worse problem is that the HD Audio module fails with
different, random, serious errors almost every time, sometimes crashing the
kernel during boot, unless the debugging option single_cmd
is
turned on. To do this on Slackware 14.1, create a file
/lib/modprobe.d/alsa.conf containing options snd-hda-intel
single_cmd=1
. The kernel Documentation file ALSA-Configuration.txt
states, "Remember this is a last resort, and should be avoided as much as
possible..." but I am not aware of a better workaround.
And then there's the IRQ timing workaround, "Suggest a bigger bdl_pos_adj"
error that happens a lot with HD Audio. I got rid of it in this case by
revising alsa.conf to options snd-hda-intel single_cmd=1
bdl_pos_adj=48
. The default value for non-Intel implementations
is 32.
In its favor, the ALC662 does have a 44.1 kHz mode that is accessible by using device hw:0,0 directly instead of ALSA's default. I'm a little vague on how this can possibly avoid resampling when there's no matching clock source that I can find, but it sounds good enough to be plausible.
One lingering issue is that there is no sign of the analog CD audio input in ALSA though the header exists on the motherboard.