First post, by VladoT
We all know that ISA sound card are becoming rare by the day so I decided to build a 486 retro system with PCI sound card instead. But the more I tried I realized that this may be harder that I thought. The details:
First I got an interesting Socket 3 motherboard with PCI, VLB and ISA slots (TK8880F) and built a system with Cirrus Logic VLB graphics card, Lion3+ VLB IDE controller, 5x86 at 133MHz and a nice case painted with the original color. The sound card I had was Sound Blaster PCI 128. This card worked perfectly in my Socket 7 Pentium 233MHz system both in DOS and Windows 98SE but not here. It refused to install under Windows 98 giving blue screen at driver install. I tested several drivers (even an Ensoniq one) but still got the same blue screen. I then tried to make the card work in DOS but with no avail, the DOS driver would load, display that everyrhing is OK but games would not detect the card or complain about used IRQ or DMA. Later I tried SBEMU which recognized the card and gave green output that is installed succesfully. BUT no, no sound output again. After several days of testing, putting the card in different PCI slots and playing with IRQ settings in the BIOS (PCI/PNP section) nothing worked. I gave up with this setup for now.
Next, I replaced the motherboard with another newer ISA+PCI motherboard (ALI chipset) with hope that the problem is the motherboard but NO, exactly the same results: blue screen in Windows and no sound in DOS but drivers showing that everything is fine.
Third attempt: I got an Avance Logic ALS4000 PCI sound card instead of the PCI 128. After some struggle with the drivers in Windows 98SE the card WORKS in Windows 98SE both with WAV and MIDI files. Great. But the main Idea is DOS compatibility. I tried several DOS drivers (the original one, the open source one and SBEMU) and NONE of them worked. After several days of struggle with changing slots, IRQ numbers in BIOS and checking every damn hardware info program available I came to a conclusion: This early implementation of PCI bus on Socket 3 motherboards lack a DMA redirection from PCI to ISA bus called DDMA. And DMA is very important for DOS compatibility. Under Windows it is possible to get the sound working only with the Port Address and the IRQ but for DOS you have to have Address, IRQ and DMA. So unfortunately I cannot have a 486 with a PCI sound card.
My question is does anybody tried this in the past and what are your thoughts about this? Did I used wrong motherboards or all Socket 3 motherboards are like this. Is there a software workaround for the DMA problem under DOS? I noticed Yamaha used a software driver called DSDMA but only works on their cards unfortunately.