dionb wrote:Taking it one step at a time. Ultima6 also supports Covox, but when I choose that, it makes an endless beep that continues after quitting the game and also distorts other sound until I start another Covox game (Colonization). Once I figure out what is going on I'll look into those VBE/AI drivers.
I'm not the first person in this forum to mention this, but it's a common misconception that the Covox Speech Thing and the Disney Sound Source are mutually compatible devices, but in fact they are not. If you have been trying the Covox mode on those games with a Disney Sound Source, that might explain why you ran into these problems.
The Disney Sound Source includes a 16-byte FIFO buffer that streams to the DAC at a fixed sample rate of 7 kHz, which makes it somewhat easier to program for and less taxing on the CPU, since timing accuracy doesn't have to be taken care of in software, as long as the software keeps the FIFO fed in time. The Covox Speech Thing on the other hand is simply a bare DAC in the form of a ladder of resistors. The downside is that all the intelligence with regard to audio playback lies with the software and the CPU must constantly stream data to the parallel port without being able to count on any hardware buffers. The upside is that this allows the Covox Speech Thing to support any sample rate, limited only by the speed of the CPU. The DSS however, supports only the aforementioned 7 kHz.
Whenever its FIFO is full, the Disney Sound Source will pull pin 10 high on the parallel port to signal this to the host PC. This is what some games use as a detection mechanism for the Disney Sound Source. They send (at least) 16 byes to the FIFO until pin 10 goes from low to high. This is the reason why many (if not most?) games that support the Disney Sound Source won't detect one when you try to use them with a Covox Speech Thing. And even games that don't perform the pin 10 check upfront probably won't work properly with a Covox Speech Thing or clone anyway, since they assume the existence of a FIFO buffer and therefore don't bother to perform accurate flow control while sending out the audio data.
Wolfenstein 3D uses the pin 10 detection method and so does the VBE/AI SSWAVE.COM driver. Apparently, the DSS emulation code in DOSBox is not accurate enough to convince the SSWAVE.COM driver to load.
What adds to the confusion is that some games, notably Another World (or "Out of this World" for the US viewers among us), consider the Covox Speech Thing and the Disney Sound Source to be the same device, possibly due to confusion by the game developers themselves. They managed to get sound output to the parallel port to work in a way that happens to work with both the Covox Speech Thing and the Disney Sound Source, probably by guaranteeing a steady sample stream in software at approximately 7 kHz, so it would work with both kinds of devices.
Long story short, the Disney Sound Source and the Covox Speech thing are two different sound devices that are not mutually compatible, at least not fully. They just both happen to use the parallel port as the I/O interface (and technically just the O part in the case of the Covox 😉).
See this Disney Sound Source programming guide for details: https://archive.org/stream/dss-programmers-gu … -guide_djvu.txt