VOGONS


First post, by CelGen

User metadata
Rank Member
Rank
Member

I am in a weird situation where I have a machine running MS-DOS where I cannot install any PCI or ISA cards so I am forced to use the onboard sound system. It consists of the Intel 810 chipset with the Analog Devices AD1881A (unfortunately, as it seems the VIA chipsets at one point were known to have SB emulation with AC'97 but there is simply no discussion in regards to AC'97 on Intel chipsets). Information regarding drivers for Windows and Linux are plentiful but so far under DOS it has been really elusive. Doing some googling in regards to any possibility of Sound Blaster emulation being available I came across this thread which I cannot seem to determine if a viable solution was found as they eventually drifted off to what I think was a linux/virtualization discussion/support for newer cards (but I think it hinted that it might not be possible because the emulation could not run while another application was running) and this which seems to of been not updated in half a decade and seems a bit excessive to use just for getting sound to work. A lot of the other threads I can find floating around the net are more than 15 years old and DOS gaming on newer hardware has gone a long way in that time.
Did we ever figure out a way to get even crude Sound Blaster Emulation or did we hit a dead end?

emot-science.gif "It's science. I ain't gotta explain sh*t" emot-girl.gif

Reply 1 of 9, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

Interesting question. Afaik AC97 has only sb-emulation under started win9x (fullscreen or window)
But the emulation is provided by windows9x itself and has nothing to do with AC97.

Retro-Gamer 😀 ...on different machines

Reply 2 of 9, by Jo22

User metadata
Rank l33t++
Rank
l33t++

In my humble opinion, AC97 is as much related to Sound Blaster as PC-98 is to PC98.

AC97 is just a specification which defines a set of given features, like connectors, internal wiring,
chip to chip communications, sampling rates and stuff.

It's not equal to the Sound Blaster "Standard", because it doesn't define a language/a DSP command set which
end-user software can use to talk to all of the different sound cards.

Speaking of AC97, I think there are at least about three dozen proprietary sound chips.
If they were compatible to each other, someone wouldn't have to hunt down each models'
driver everytime for Windows XP/7.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 3 of 9, by RJDog

User metadata
Rank Member
Rank
Member

Yeah, there are many implementations of "AC'97" sound interface, and drivers for DOS would totally depend on the chip/manufacturer. For example, I have a machine with a VIA "Vinyl" AC'97 sound chip, and VIA provides DOS drivers for this one. You would have to check for drivers for your specific chipset.

Reply 4 of 9, by CelGen

User metadata
Rank Member
Rank
Member

Yes, I am aware of that from research.
The question however was if in the meantime someone had figured out some level of DOS support for the AC'97 standard in general, not what needed to be done to make it work. My assumption from both of you saying roughly the same thing is "no".

Afaik AC97 has only sb-emulation under started win9x (fullscreen or window)
But the emulation is provided by windows9x itself and has nothing to do with AC97.

That was my Plan B. A totally stripped Windows 9x install that simply boots Windows, then immediately opens a command prompt fullscreen. It's kinda nasty and will add another 30 seconds or so to the boot but it will give you sound support. My SSD capacity is limited to 64mb but it seems I can get there while still having about 10mb left.

emot-science.gif "It's science. I ain't gotta explain sh*t" emot-girl.gif

Reply 5 of 9, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Sorry, we sure didn't mean to discourage you. 🙁
Maybe there's a way to make DOS compatibility available with modern chipsets.
A port of ALSA or even OSS for DOS would be cool, for example.
If just someone could figure out how to port the audio modules.
Once the sound system is working, someone could implement a SB/OPL emulation on top of that.

The problem that I'm afraid of is the lack of the conventional memory required.
If we're going to use DOS extenders, it may works, but this would exceed
the boundaries of classic TSR programming and would force the CPU in v86 mode.

Another idea is to create a DOS soundcard with PCIe connection.
This should do the job for the next ten years to come.
In principle, we just need a simple bridge for existing sound chips.

The basic functionality of PCI and PCIe look pretty much
the same from a software perspective. Even ISA, to some degree.

That's why I think that at least this should be an idea to consider.
We could make some kind of breakout box with a PCI (+ISA) slot and use our old soundcards.

Or we could create our own PCIe soundcard by using older crystal or solo-1 codecs, etc. from the old days.
If no tricks like DDMA are required, it may actually works. Basically, anything non-Sound Blaster is promising.

I mean, back in time, there were so many competing audio standards, like PAS, GUS or WSS.
I know that at least the PAS16 was also available for Macintosh NuBUS, so making a high-level PA16 clone
should be possible. All it really needs is an OPL3 and a microcontroller/FPGA/single board computer with audio board. And a PCIe interface.
The whole compatibility aspect is then retained by creating an mvsound.sys replacment for handling the DSP requests.

If this is all to complex, we could at least start with a Covox SpeechThing on a card.
As I pointed out in the other thread, this only requires little electronics.
And such a card could be combined with an YM3812 or an OPL3 clone easily.
The blue prints for an AdLib clone are already there, we'll just need a suitable ISA bridge chip.
In essence, this creature would become some kind of cut-down Covox SoundMaster Plus, PCIe-Edition.

Which would be good enough to be compatible with both classic AdLib games and MOD players.
And if we'd add HardMPU, too, we have pretty much everything required.
Except for Sound Blaster compatibility, of course.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 9, by CelGen

User metadata
Rank Member
Rank
Member

Not really discouraged. Just looking for clarity. 😎

The problem is that once you start moving the supporting software/hardware to an off-the-motherboard card the point of getting DOS support in many cases is nullified because then you can just drop in a far more compatible card and not bother. The problem only really comes to a front in weird situations like mine where you have an all-in-one device with severely limited or no accommodation for expansion.

emot-science.gif "It's science. I ain't gotta explain sh*t" emot-girl.gif

Reply 8 of 9, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++
CelGen wrote:

Not really discouraged. Just looking for clarity. 😎

The problem is that once you start moving the supporting software/hardware to an off-the-motherboard card the point of getting DOS support in many cases is nullified because then you can just drop in a far more compatible card and not bother. The problem only really comes to a front in weird situations like mine where you have an all-in-one device with severely limited or no accommodation for expansion.

It's a consideration for retro gaming laptops.

All hail the Great Capacitor Brand Finder

Reply 9 of 9, by digger

User metadata
Rank Oldbie
Rank
Oldbie

It's really a pity that the VESA VBE/AI standard didn't gain traction at the time. Nevertheless, it might still be worthwhile to write a VESA VBE/AI driver for AC'97 audio devices, although the large number of different and mutually incompatible codecs would pose something of a challenge in writing a unified driver. But perhaps the source code of the existing AC'97 drivers for other operating systems (ALSA, OSS and the AC'97 driver for Haiku to name a few) might provide a handy reference and starting point. Also, there is the source code of an application written by RayeR called JUDAS that supposedly supports AC'97 and HDA devices in DOS. That could perhaps also prove useful in this regard.

Such a driver would instantly enable compatibility in newer hardware with all or most of the games that make use of DIGPAK or AIL/ADV drivers, since those standards provide bridge drivers for VESA VBE/AI. This makes for quite an extensive list of games, actually.

I'd like to give the development of such a driver a shot, but I could seriously use some help with this. 😀

See also this topic: Is there a example of what a "VESA MIDI" device is?