First post, by digger
Holy crap, it actually worked! 🤣 (Well, at least in PCem, but it will likely work on actual hardware too.)
Long story short, I patched the game to use the Miles VESA driver (VESADIG.ADV) for digitized sound output, and then I loaded the VBE/AI driver for the Disney Sound Source (SSWAVE.COM), which is bundled as an example/reference driver in the VBE/AI SDK. This was based on an idea floated by bristlehog in this post. Thanks, bristlehog! 😀
The fact that this works has some very interesting implications:
- First of all, the list of games that can be made to work with the Disney Sound Source suddenly increases considerably. There are a lot of games that use Miles/AIL (ADV) drivers for sound support! bristlehog posted an extensive list in another topic.
- Although the Disney Sound Source doesn't have as good audio fidelity as a Sound Blaster, the major advantage of the former is that it does not require ISA slots or DMA controllers. All it needs is a parallel port, which makes it compatible with systems that lack both integrated Sound Blaster compatibility and ISA slots, such as older laptops, IBM PS/2 systems with Microchannel architecture and modern post-ISA PCs.
- The VBE/AI spec is an open standard, the documentation of which can be found on-line. This specification can be used to potentially develop new VBE/AI drivers for other sound devices that lack support in DOS. For instance, a high quality Covox Speech Thing driver could be written, which would offer better sound quality than the Disney Sound Source, at least on faster systems. Or perhaps a Stereo-on-1 driver that would support stereo sound. Or an AC'97 or Intel HDA driver for more modern systems.
So here are the steps to make it work in Dune 2, at least in an emulator:
- Use PCEm v15. Older PCEm versions might work too, but I haven't tested that. (DOSBox won't work, since it doesn't emulate the Disney Sound Source properly.)
- Emulate a 386sx 25MHz machine or faster (a 286 8MHz is too slow and results in many of the digitized sounds being skipped)
- As the main sound device in the emulation settings in PCEm, choose "Adlib". As the LPT Device, choose "Disney Sound Source". (Covox and the like won't work)
- Install DOS on the emulated machine.
- Install Dune 2 on the emulated machine. I've tested this with version V1.07 of the game.
- Download the DUNE2AIL Gravis Ultrasound Patch, which you can find at https://archive.org/details/DUNE2AIL_ZIP
- Download the Miles VESA drivers. They are called VESADIG.ADV and VESAMID.ADV (maybe you'll need VESAMID.ADD as well?). You'll have to Google a bit, but you can find them on-line, typically bundled with some other games. (NOTE: unfortunately, the AIL archive that John Miles released as open source at http://www.thegleam.com/ke5fx/misc/AIL2.ZIP doesn't appear to include the VESA AIL drivers for some reason. Perhaps we could ask him to make those available under open source as well.
- Unpack the ZIP containing the DUNE2AIL GUS patch
- Rename VESADIG.ADV to GF1DIGI.ADV and rename VESAMID.ADV to GF1MIDI.ADV. And then replace the ADV files in the unzipped patch folder with the renamed ones. Basically we are going to trick the GUS patch utility to patch the game with the VESA drivers instead of the GUS drivers.
- Now apply the GUS patch to your Dune 2 installation in the emulated machine. Follow included instructions. This will result in the GUS patch tool patching the VESA drivers into the sound.pak file, which contains the Mailes/AIL drivers used by the game.
- By default, the GUS patch tool will configure dune2.cfg to select Sound Blaster Pro (which it replaced with VESA digitized audio driver) combined with MT-32 for music (which it replaced with the VESA MIDI driver). However, if you want to combine Disney Sound Source for digitized sound with Adlib/OPL2 for music, just run the setup.exe tool again and select "Sound Blaster Pro" for both. (Also, I'm not sure if the game works properly with the VESA MIDI driver. I got a strange memory error when I tried that in DOSBox. I haven't tried that in PCEm yet. getting digital audio to play on the DSS was my focus here anyway.)
- At this point, if you run the game (dune2.exe), there won't we digitized sound and the intro will be subtitled without a voiceover, because the VESADIG.ADV driver reported to the game that the sound device was not detected. This is because you first need to load a VBE/AI driver before running the game. That's the next step.
- Download the VBE/AI SDK. A link that works (or used to work) is http://cd.textfiles.com/freedom/CODE/SOUND/VAISDK.ZIP
- Unzip the SDK and find the SSWAVE.COM file. That's the Disney Sound Source VBE/AI reference driver. Run SSWAVE.COM in the emulated machine. It should give you a message that it detected the Disney Sound Source and successfully installed the TSR.
- Now run Dune 2 (dune2.exe). This time, you will hear the digitized sound being played back through the Disney Sound Source! 😁
Can someone with a real Disney Sound Source please test this with real hardware? Preferably on a more recent PC? Thanks! 😊
Also, who's up for trying this with more games? Please share your experiences and results in this topic. 😀