First post, by LSS10999
UPDATE (May 2022): Considering revising and refactoring the OP using spoiler blocks for readability.
I hesitated about writing something about this topic several times before... but I think I should put it here:
The ONLY and the MOST VITAL requirement of enabling legacy DOS audio support for capable PCI sound cards is that your motherboard MUST have a proper southbridge. If the southbridge does have PC-PCI or Distributed DMA (DDMA) support, then the card will definitely work under legacy environments if configured properly.
Additionally, very recent motherboards started dropping legacy interfaces altogether, so using such sound cards there for legacy OSes is virtually impossible, and one cannot even access these features directly on modern OSes (e.g. via DOSBox).
1. VIA Chipsets
These chipsets have better compatibility with PCI sound cards, including the newer PCIe ones.
VT82Cxxx have DDMA support which can be utilized by sound cards that support it.
VT823x/8251 no longer have DDMA but some sound cards (like ESS Solo-1 and FM801) can still work on those, with varying compatibility.
2. Intel Chipsets
440BX/PIIX4 have native ISA as well as both PC-PCI and DDMA. Most PCI sound cards were well-tested against this chipset and should not have many problems other than the ones known and documented.
Chipsets with up to ICH5 can use legacy DMA via PC-PCI only, though not all cards and boards have PC-PCI connectors. PCI-ISA bridges used by some industrial motherboards for ISA slots also utilize PC-PCI for DMA.
Since ICH6 support for PC-PCI has dropped and it's not possible to provide ISA slots with DMA using PCI-ISA bridges anymore. This also impacted PCI audio cards that now only FM synth works on those cards. No SFX audio works except Aureal sound cards.
Note for 6/7 series (Sandy/Ivy Bridge) PCHs: For some PCI sound card legacy functionalities to work you need a PCH with native PCI support. Only B and Q PCHs have native PCI.
Native PCI support is gone since 8 series (Haswell). It may be possible to get things working by enabling subtractive decoding, but I do not have such boards and cannot be certain how this works.
PS: Since 100 series chipset (Skylake) full LPC support has been dropped in favor of eSPI, which cannot provide LPC DMA. This effectively closes most, if not all, doors to legacy audio and it is unlikely for anything (including DOSBox) to be able to directly access the legacy parts of PCI sound cards from this point on.
3. nForce Chipsets
The last such board I had used a nForce 720D (MCP78) which behaved the same as a nForce4 board I previously used.
So far it seems all nForce chipsets do not properly support any of the legacy DMA technologies and behave similar to Intel chipsets with ICH6 or later southbridges.
Only FM synth works correctly. No SFX except Aureal, but compared to Intel ones it didn't work correctly.
4. ATI/AMD Chipsets
These southbridges have virtually zero legacy capabilities available. I used some AMD 700-900 motherboards for some Phenom II CPUs and later on the FX ones.
Legacy audio simply cannot be turned on. Games still report no Sound Blaster even after loading the TSRs. Something is missing.
NOTE 1: While I haven't got any such boards to actually confirm, early AMD-750/760 chipsets (for Socket A) can pair with the VT82Cxxx southbridge as well as AMD's own (AMD-756/AMD-766). These chipsets' compatibility may be similar to the VIA's in general. These are not to be confused with the newer ATi/AMD chipsets here.
NOTE 2: A while ago I noticed someone had difficulty getting legacy audio working on an old P4 board powered by ATI RS350/IXP200, so it's possible that ATI/AMD family never properly implemented any legacy capability at all.
NOTE 3: There were some mentions of SMM in SB600/700's datasheets for legacy I/O ranges which cover many stuffs including Adlib (388H), Sound Blaster (220H), Gameport (201H), etc.. Not sure how much it can be used for legacy audio but so far no motherboard vendors ever ventured into this, and there are little detailed information. That mention was removed from SB800 and onwards, and the register sections became "reserved" with no new purposes assigned to them.
I personally haven't tested any SiS or other chipsets as I never had any. Kamerat had some information about SiS and ULi chipsets.
From the info it seems up to SiS 962 southbridge supported DDMA. Since SiS 964 DDMA support was dropped. ESS Solo-1 doesn't seem to work with SiS.
There are several sound cards capable of having (near) authentic FM synth.
1. Yamaha YMF7x4
Yamaha sound cards have a genuine YMF289 integrated.
These cards need PC-PCI or DDMA to work. Since SETUPDS actively tries to determine what southbridge you're using, for newer chipsets like VT82C686A/B the program needs to be hex-edited to make it usable.
For some newer chipsets (ICH6 and onwards) Kamerat successfully managed to get DSDMA working for SFX. However, it seems one needs a chipset that has native PCI slots for it to work correctly (PCIe-PCI bridges do not count).
PS: During my experiments with NT 3.51, it seems YMF7x4's NT4 drivers (compatible with NT3) also requires the legacy part of the sound card to be initialized in order to function. Since the legacy part cannot be initialized on newer motherboards, the driver failed to install/run with an error code.
2. ESS Solo-1
This is arguably the best in terms of compatibility. It works on all VIA chipsets including the later ones that no longer support DDMA (it uses TDMA which works in that particular occasion).
ESS Solo-1 is the last to include ESFM, which is nearly authentic. The music track "One Mustn't Fall" from Tyrian is the only part that I ever heard some differences compared to genuine OPL3.
On other newer chipsets (ICH6 and onwards, nForce, etc.) only FM synth works.
3. Fortemedia FM-801
Depending on versions, the one I got had authentic FM that I can't really distinguish with the genuine ones.
It can work with VIA chipsets including later ones, but it doesn't appear to be as compatible as I had more crashes.
4. Avance Logic ALS4000 (and maybe other related ones)
I haven't tested this card for DOS, but it's a good card with authentic FM synth and the synth can be used in Windows NT 3.51 as well.
From the information it appears the card mainly uses DDMA.
5. Sound Blaster Live!
Apparently Live! and maybe Audigy have authentic FM with its SB16 emulation compared to the predecessors (Ensoniq AudioPCI).
The emulation uses different approaches and I only tested this with very old boards up to i815 and it works okay there.
NOTE: The emulation TSR requires MS EMM386 and you probably need to make sure there are enough free memory in the sub-4MB range or it'll complain.
Here are some other cards whose FM may not sound as authentic as a genuine OPL3.
1. Aureal Vortex series
The FM synth in these cards are not authentic and can sound a bit off-pitch.
However, these cards are the only one known to work just fine with motherboards using ICH6 and onwards, at least in case of Aureal Vortex (AU8820).
2. Ensoniq AudioPCI (Sound Blaster PCI64/128)
These predecessors of Sound Blaster Live! utilizes the same emulation mechanism which Live! still uses.
However, these cards do not have authentic FM and is instead emulated through ECW wavetables, and could sound quite weird.
3. Crystal Semiconductor Sound Cards
At one point I tried a card with Crystal sound chip for a brief while.
Its FM can work after loading the TSR but I didn't test it in detail as its FM synth was not authentic (a bit high-pitched). I think the compatibility was similar to other ones.
4. ESS Maestro/Allegro/Canyon3D
These cards are equally compatible as ESS Solo-1 but no longer features real ESFM synth and use wavetables instead, which is not quite authentic.
As far as I know most graphic cards should work fine under DOS, but some recent video cards indeed started breaking legacy compatibility. In overall, using the right video card should work around most of the graphics issues.
Sound in DOS is the major blocker as modern motherboards simply don't have the capabilities sound cards expect for proper operation, and there are few ways to work around.
Many sound chip manufacturers existed back then, but now it's mostly Creative and C-Media (ASUS), plus a few other less-known ones. While CMI8738 was a popular chip that were supposed to support legacy audio, I never got it working, and it seems there are several different versions of that chip with some actually contain the legacy block while others don't.
I don't know if there can be anything to be used as a reference on how to improve legacy DOS compatibility... Like that Aureal Vortex has at least working SFX on many chipsets while ESS experiences fewest errors and crashes on compatible chipsets... And by the way, I am still wondering if there are any references for some DOS audio APIs such as Miles Sound System and DIGPAK... maybe it is possible to build drivers for PCI cards around these APIs so at least games using these APIs can work directly... MPXPlay, a DOS music player, for example, can work with many current audio cards including onboard AC97/HD audio using its own ways.
Should say that developments on DOSBox namely the DOSBox-X branch in the past few years apparently improved a lot of things that I once complained about at the time I intitially wrote this topic. Given correct CPU, video and sound configurations, with DOSBox-X it's indeed possible to get games running near-perfectly, and may also be used as a workaround for issues such as those with video BIOS, CPU speed sensitivity.
A lot of related discussions and new discoveries continued here and in other threads, with a lot of informative posts.
Here are some of the threads. There might be more:
X58/i865/V880 - Yamaha7x4/AurealV1/2 pure Dos7.1- compatibility list/research/ultim. drivers configs, WIP- gurus needed
PCie-to PCI, PCI to ISA, # of slots multipliers - bridges, risers, backplanes, research, especially for DOS, WIP.
PCI or PCI Express Sound Card for DOS Sound Blaster Sound Effects working on Intel Sandy Bridge Z68 or newer chipsets
Credits to the respective OPs.