bristlehog wrote:
Miles AIL 2.0 supports VESADIG.ADV/VESAMID.ADV for PCM sound and MIDI music, DIGPAK has support via DIGVESA.COM. However, the mentioned support is all but useless since DIGPAK supports all mentioned digital devices (SB, PAS and DSS) directly, while AIL does SB & PAS for digital and OPL2 & MPU for MIDI. Maybe if one has a Disney Sound Source and wants to run an AIL game on it, the VESADIG.ADV driver might prove useful.
That's a very interesting thing to try out! A lot of games used the Miles/AIL drivers and if they could all be made to support digital audio output over the parallel port using this trick, that would be great. As you yourself listed in this topic, that is quite a list of games we're talking about. 😀
However, since the Disney Sound Source only supports playback of audio at a fixed frequency of around 7kHz, and most DOS games use 11kHz audio samples, I wonder how the VBE/AI driver for the Disney Sound Source would cope with that. According to the official VBE/AI specification, 11025Hz is supported as one of the "standard sample rates", but I wonder if the standard provided Disney Sound Source driver won't throw a WAV_BADSAMPLERATE error at that frequency anyway. If it doesn't, does it simply play back the 11kHz at 7kHz, resulting in the digital audio in games being played at a lower pitch? That seems the most obvious, since downsampling from 11kHz to 7kHz in the driver would seem quite a complex thing to implement, especially in a driver that is only 5K in size. Or am I mistaken?
Anyway, I tried loading SSWAVE.COM (the VESA VBE/AI driver for the Disney Sound Source) in a DOSBox session, but unfortunately the DSS emulation in DOSBox doesn't work with the autodetection performed by the driver. Could somebody with an actual Disney Sound Source or a compatible DIY clone try loading the driver on actual hardware and then trying it out in combination with VESADIG.ADV with any of the Miles/AIL-supporting games listed in this topic? Thanks! I'm really curious about the results. 😀
Maybe there are other sound devices that have VESA VBE/AI compliant drivers, but I know none.
Glancing through the specification, the VBE/AI looks like a fairly elegant standard that was hardware-neutral and easy to program for as well as to implement. It was even envisioned that support for it would be included in the ROM BIOS on newer systems. It's a shame this standard never took off and that apparently no DOS games supported it natively. If only this standard had come out 3 years earlier or so! If such a DOS sound standard with proper hardware abstraction had taken hold, we would not have so much trouble getting sound in DOS games to work in the PCI(e) era! 🙁
Also, it's typicial how not a single person in the long list of committee members on page 2 and 3 worked at Creative Labs. Pretty much every other relevant company in the multimedia industry of the era was represented in that list. It was obviously not in Creative's best interest to stimulate a hardware-independent audio interface standard... 🤣
Lately, I've been wanting to write DOS drivers for more modern sound devices, such as AC'97, HDA, USB Audio or even a PulseAudio source that would stream the audio from DOS games over a network using mTCP. The VBE/AI 1.0 standard would seem a perfect fit for such a project. At first I considered writing such a new driver as a DIGPAK driver, but not only would a VBE/AI driver get me both DIGPAK and Miles/AIL support for free in the form of existing bridge drivers, I would also be supporting an open standard. And additionally, it would help cross off an item from the FreeDOS development wishlist. It really seems like a fun and worthwhile project, but if anyone would be interested in joining me or helping me along, I would appreciate it. I've been dabbling with 8086 assembly lately and it's fun, but I'm only gradually gaining experience with it. 😀
VESA VBE/AI SDK (VAISDK.ZIP) including VBE/AI sound drivers can be found here: http://cd.textfiles.com/freedom/CODE/SOUND/
Thanks for that link. And in addition to that, here is a link to version 1.0 of the official VBE/AI standard: http://stagit.kroovy.de/gopher.viste.fr/P/pro … AI%2520v1.0.pdf