VOGONS


First post, by digger

User metadata
Rank Oldbie
Rank
Oldbie

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. 😀

Reply 1 of 4, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie

For what it's worth, AIL natively supports the use of DIGPAK drivers. Because of that, I've found that adding Covox Speech Thing, Disney Sound Source, Tandy DAC, etc. support to otherwise non-supporting AIL titles is just a matter of installing/configuring a game for Sound Blaster playback, and overwriting the "SBDIG.ADV" driver with the desired ".COM" DIGPAK driver from the AIL V2.14 package. Concerning Sound Source playback with Dune II, you'd simply copy "SOURCE.COM" into the game directory, and rename it as "SBDIG.ADV."

Reply 2 of 4, by digger

User metadata
Rank Oldbie
Rank
Oldbie
Cloudschatze wrote:

For what it's worth, AIL natively supports the use of DIGPAK drivers. Because of that, I've found that adding Covox Speech Thing, Disney Sound Source, Tandy DAC, etc. support to otherwise non-supporting AIL titles is just a matter of installing/configuring a game for Sound Blaster playback, and overwriting the "SBDIG.ADV" driver with the desired ".COM" DIGPAK driver from the AIL V2.14 package. Concerning Sound Source playback with Dune II, you'd simply copy "SOURCE.COM" into the game directory, and rename it as "SBDIG.ADV."

Indeed! I just tried it with the "CVXSND.COM" driver on PCEm, set to emulate a Covox Speech Thing, and that worked as well. I read about interoperability between AIL and DIGPAK drivers in the AIL documentation, but I initially wasn't sure how to make it work. I found it confusing to just overwrite the ADV driver, since the DIGPAK drivers are TSRs. But apparently that works fine, at least for games that support version 2.07 or higher of the Miles/AIL API. Thanks for pointing this out!

This would've been a game changer back in the early 90s when sound cards were still too expensive for many high school kids who were gaming on their parents' non-multimedia PCs. Many of the more computer-savvy ones jumped on the brief LPT DAC craze as computer magazines published DIY articles on how to build a cheap parallel port DAC. This would have been a very useful trick that would have unlocked support for these things in many games that didn't otherwise support them. Oh, well. ¯\_(ツ)_/¯

It would be interesting to figure out how to similarly patch many of the later 32-bit DOS extender games from the tail-end of the DOS era, so they could run natively with sound on newer post-ISA PCs, using LPT DACs if nothing else. It would still beat the internal speaker. 😀 Those games often used different driver models like the 32-bit AIL drivers. I'm not sure if there were ever 32-bit AIL drivers made for DSS and Covox compatible parallel port devices, but I rarely saw them listed as an option in the installers of such later games. The developers of those games probably never bothered to put any effort in supporting such devices, since Sound Blasters and other ISA sound cards had become commonplace and much more affordable by then.

Reply 3 of 4, by bristlehog

User metadata
Rank Oldbie
Rank
Oldbie
digger wrote:

[*] Download the Miles VESA drivers. They are called VESADIG.ADV and VESAMID.ADV (maybe you'll need VESAMID.ADD as well?)

You don't need VESAMID.ADD. These .ADD files are not drivers, they only contain information for DIGPAK/MIDPAK sound setup utilities, and are not needed for driver operation.

Hardware comparisons and game system requirements: https://technical.city

Reply 4 of 4, by digger

User metadata
Rank Oldbie
Rank
Oldbie

By the way, I just tested it again, this time on actual hardware. 🙂 I used a Disney Sound Source that I recently obtained on eBay, on a fairly modern post-ISA PC with a motherboard that still has a header for a legacy printer port. Works great! 😃 The audio quality of the digital speech during the intro could be better, but the in-game audio sounds fine. Also, audio sounds like it's being played back at regular speed. This is in contrast to other games that support the Disney Sound Source natively, but play back 11kHz samples at the fixed 7kHz rate supported by this device. In contrast, the DIGPAK driver apparently resamples the audio in software. Pretty neat.

A while back, I also tested it on a CVX4 (a high-quality Covox Speech Thing clone that used to be available on Serdashop) using the DIGPAK Covox driver, and that worked well too. It may even have been the case that the intro samples actually sound better on Covox than they do on the Disney Sound Source, possibly because the latter requires resampling, and the Covox can play back pretty much any sample rate natively, as long as the CPU is fast enough.

For funsies, I configured Dune2 to play back music and non-sampled sound effects through the PC speaker, and digital sound effects on the Disney Sound Source, and that worked, but that ending up refreshing my memory about how dreadful the PC speaker sounded, especially the surprisingly loud piezoelectric speaker integrated on this motherboard. 😬 So yeah, until I figure out a solution for more proper music playback that I can use together with the Disney Sound Source, I'll just have to do without music playback. 😂