Sound Blaster support

Omer Mor I've been wondering about the annoying message:
"Unable to initialize your audio hardware".
I believe most of you know this when you try to run sierra games with audio support through your sound blaster.
I tried Moslo, I tried VDMSound, but still many games won't recognize my Sound Blaster(tm) on my Windows XP.
Today I tried to run one game configured with Tandy DAC instead of Sound Blaster, and surprisingly, the game gave no error message. Of course there was no audio because I don't have Tandy, but still - no error message, so I guess the game sends audio data to the driver and the driver just pass it on to non existing hardware without an attempt to initialize anything first.
I know that Ravi has some experience in reverse engineering drivers to sierra games, so maybe he can alter a Sound Blaster driver that simply sends the audio data to the sound card without first trying to initialize it.
Do you think it can be done?
What do you say Ravi? In your spare time maybe? :)
kelmer This has already been done. It's called GoSierra and you can find it here:

http://kiewitzsoft.ath.cx/cgi-bin/download.cmd?FileID=patch_gosierra

Omer Mor It looks promising, but I just tried it with the following 3 games and it didn't work for me:
1) Jones in the Fast Lane (CD Version)
The response was:
"Can't be. The file, you specified, is not a Sierra driver."
2) Mixed Up Mother Goose (SCI1 CD Version)
The response was:
"Could not patch file. Sorry."
3) Mixed Up Mother Goose (SCI1 Diskette Version)
The response was:
"Driver-Bug [TYPE 1]
File patched successfully."
BUT - the game still gave me the usual initialization error...

kelmer In the CD versions you'll probably have to specify the name of the driver, since there is two sound blaster drivers in sierra games. One is audblast.drv and the other sounblas.drv (i think). Or, you are probably having problems with the read-only attribute. Just remove it and it should work fine.


As for the MUMG floppy, maybe you haven't changed the driver in the installation program?
Omer Mor I wish it was that simple ...
the sndblast.drv file is used for the music, and i actually use adl.drv. the audblast is the one used for the audio, and this was the one i used with gosierra.
and sadly, none of the files had read-only attribute so it's not the problem ...
I realy want to hear mother goose and jones in it's full speech glory...
Ravi I'm not sure what would happen if the SB initialization code were skipped. It's advisable to keep it in there, though, because besides detecting the hardware it will also put the card in an initialized state.

There are a couple of things that might be going on. First, your hardware might be too fast. The driver has to introduce delays so the hardware has time to work. For simple delay routines, faster computers will cause shorter delays, which means that the hardware won't have enough time to do what it needs to.

Also, the driver may be hard coded to use different settings than your hardware uses. For example, one Sierra driver that I looked at uses DMA channel 1. If the SB uses some other channel, the driver will fail.

Do you know how the VDMSound SB is configured? Can you change those settings? If you send me a driver, I'd be happy to see what I can do with it.
Omer Mor Ravi:
I tried toplay a bit with the VDMSound settings, but I didn't yet try to change the DMA channel. I will try that too.
Later, when I'll back home, I will send you the faulty drivers.
Joel just a thought...what are the chances of creating a driver that acted as a sort of "virtual" sound blaster? I have lots of problems with these issues, too, and gosierra doesn't help at all.
Ravi Emulating hardware in drivers for the original Sierra interpreters isn't a very feasible thing to do. The main problem is that the drivers must be 16 bit DOS code. There isn't a direct way to use Windows API functions or anything else.

The best option is to follow FreeSCI development. It would be much easier to integrate with existing emulation libraries and could be compiled to run natively on more modern platforms.
juncmodule Have you heard about this problem a lot Ravi? Fast PC's not being able to have SCI games with sound? My 166MHZ laptop runs SCI games just fine. My 1.5GHZ machine runs them like crap most of the time and can't handle the sound at all. I've been thinking of removing my soundblaster and trying to use my onboard sound. Would this be a waste of time, is it just the fast computer?
mr-t [attachment deleted by admin]
Ravi I think it is fairly common for SCI games to have SoundBlaster and Adlib sound problems on faster computers. Trying to get old games to run on new computers with newer hardware and operating systems just makes the problem worse.

Swapping out your sound card and enabling the onboard audio sounds like more work than it's worth, to me. First, get VDMSound or something similar if you're running Windows NT or Windows 2000. I'm not clear on whether or not it's necessary for Windows XP, but it's worth a shot.

If the operating system isn't the problem, make sure the sound card settings are set to something SCI can use. The SB driver from KQ1 SCI01 requires DMA 1 and I/O port 220h. The IRQ can be 3 or 7. QFG2 can also use IRQ 2 or 5. I don't know about SCI1 games.

If computer speed is the only problem, there's some chance that using onboard audio instead of the sound card will work. It would require that the onboard audio use shorter delays than the card. I don't know how likely that is.

edit - whoops, I meant KQ1 SCI01, not KQ1 SCI1.1
juncmodule Hmmm...you may have solved my problem. I didn't know games required specific IRQ's and I/O ports. I have a video card that eats IRQ's. I think I will check out my laptop and figure out exactly what the settings are on that. I just thought it was all driver crap because sound works fine for most other things. Stupid " :Pfast :P" computer.

On a related/unrelated note. I know this would be a lot of work and that FreeSCI is basically this...but...has anyone ever thought of/made a DOS emulator or a 486 emulator. If I can run an Atari ST emulator I don't see why I couldn't run a PC emulator on my PC. It would just be nice to entirely work within that environment without having to build a seperate box to do it on.

Thanks!
Stiletto > has anyone ever thought of/made a DOS emulator or a 486 emulator

For Windows?

Let me recommend DOSBox (http://dosbox.zophar.net), BOCHS (http://bochs.sourceforge.net/), Virtual PC (http://www.connectix.com), VMWare (http://www.vmware.com)... the list goes on quite a bit.

Note: DOSBox is only in the preliminary stages of 386 support let alone 486, but the rest should run software designed for 486's. :)

- Stiletto
Omer Mor Ravi:
I still need to send you those faulty drivers and play a bit with the DMA settings...

Mr. T:
I know Ravi's exceellent GM.DRV very well and I use it quite often. BUT - it's good only for the music - not for the audio, and when I want to hear the voices in the Jones CD it won't help me... :(

ALVARO
Omer Mor wrote:

I wish it was that simple ...
the sndblast.drv file is used for the music, and i actually use adl.drv. the audblast is the one used for the audio, and this was the one i used with gosierra.
and sadly, none of the files had read-only attribute so it's not the problem ...
I realy want to hear mother goose and jones in it's full speech glory...
[color=Yellow][/color]
Pikachu14 Allright mr. Alvaro, please come with me for a moment... </whitecoat>
collector I have had only limited success with the GOSIERRA patch. For some games that it does not work with, I have succefully used the updated SB drivers from Sierra's FTP.

ftp://ftp.sierra.com/pub/pc/patches/486sbdrv.exe
486sbdrv.exe

or

ftp://ftp.sierra.com/pub/pc/patches/sb16drv.exe
sb16drv.exe