VOGONS


First post, by PoulpSquad

User metadata
Rank Member
Rank
Member

Hello

Once again, I'm turning to the great community of Vogons looking for help.

Yesterday I was installing a couple of problematic games, and one in particular
has defeated my every efforts so far.

I'm trying to run Siege, a 1992 game from Mindscape, on Pentium III PC with a VIA motherboard.
I have set digital audio as Sound Blaster, on port 220, IRQ 7 and DMA 1, and music as Roland (I have a CM-32L and a BOB
hooked to a clone MIF-IPC-A PCB).

The game refuses to start and terminates with a Sound Blaster Initialization error.
(everything works fine if I choose AdLib for sound effects).

I remember having the exact same problem a couple of years ago in DOSBox, but I could sort it out by setting sound to
Sound Blaster Pro.

I'm pretty sure I sorted it on real hardware by tinkering with CTCM/DIAGNOSE and feeding a SB Pro BLASTER variable
(SET BLASTER=A220 I7 D1 T2).

Slowing my PC to a crawl (93.75% without lvl 1/2 caches, Topbench reports a 386SX/20 equivalent) didn't solve the issue.

I recall Commanche Maximum Overkill suffered from the same problem.

I tried 3 Sound Blaster, a CT 3900, a CT3910 (both non-PnP) and a CT3980 (PnP).

What can I do?

Reply 1 of 8, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

From what I have learned trying to get the sound working in this game in DOSBox, it seems to want an SB 1.0, SB 2.0, or SB Pro (first model). The game's README mentions that there may be problems with an SB on a 486/50 MHz (so a Pentium III has got to be real trouble), and a program is included to disable CPU cache as a workaround. The cache disabling program only works on a 486, but it seems you've already tried disabling cache on the Pentium III.

Reply 2 of 8, by PoulpSquad

User metadata
Rank Member
Rank
Member

Thank you for the quick reply

I have tried 4 different ways:

- MoSlo
- Throttle
- Disabling cache in BIOS
- Inputing some code I found on the net in DEBUG and building CACHEON.COM and CACHEOFF.COM'

I can slow the CPU as far as 93% without any caches (8088 @4 equivalent) or 93% with caches on (386SX@20 equivalent, but not very smooth).
Also, My P3 is originally a 1000/133, downclocked to 500/66 (locked 7.5 multiplier).

I'm almost certain I could run this sucker with an AWE32 (PnP if I'm correct) a couple of years ago.
Right now I'm trying to poke it around with DIAGNOSE. I'm wondering if I was using another version of DIAGNOSE, but I've always used the version
provided by Creative Labs on their support page, and it's been there since 1996...

Sound Blaster Pro (early model) should be SET BLASTER=A220 I7 D1 T2, but DIAGNOSE complains about a wrong environment variable unless I add Hx.
Swapping directives around (A220 I7 D1 T2 H5 P300 E620 or A220 I7 D1 T2 H5) is fine with DIAGNOSE, but Siege still crashes.

If I ever find the way to make this damn game work again I'm gonna tattoo the procedure on my forehead!

Reply 3 of 8, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

It seems like you've done pretty much all you can regarding speed, but the problem may also be related to the model of SB. Here are some specifics you may find helpful regarding how Siege handles SB sound effects:

The version of the game that I have comes with three SB sound drivers: SB0.DRV, SB1.DRV, and SB2.DRV, which are actually CT-VOICE.DRV drivers from Creative for early SB models. They will normally only work on the model of SB they were intended for, enforced by the DSP version.

Siege uses the SoundBlaster's DSP major version number minus one to determine which driver to load. So, SB 1.0 loads SB0.DRV, SB 2.0 loads SB1.DRV, SBPro1 loads SB2.DRV.

SBPro2 has the same DSP major version number (3) as SBPro1, but SB2.DRV is the SBPro1 version of the driver that won't work with SBPro2. However, you can copy the CT-VOICE.DRV for SBPro2 to SB2.DRV, and then sound should work for SBPro2.

Taking this further, SB16 is DSP version 4.x, so the game tries to load a non-existent SB3.DRV, but you can copy the CT-VOICE.DRV for SB16 to SB3.DRV, and then sound should work for SB16. I'm not sure what the DSP versions are for AWE32, but just follow the pattern of DSP major version minus one.

One final point. There are some copies of CT-VOICE.DRV for SB 1.0 and SB 2.0 you can find that have been hacked so they don't care what the SB's DSP version is. These modified drivers can be used as universal versions, but only for 8-bit sound.

Reply 4 of 8, by PoulpSquad

User metadata
Rank Member
Rank
Member

I just tried as you suggested.
I made COPY C:\SB16\CT-VOICE.DRV C:\SIEGE\SB3.DRV, slowed the PC to a crawl, and launched SIEGE.
I got the usual Extended memory detected, Loading digitized sound effects and sound error, but now it says also Sound blaster not working.
Maybe I should load the low-level drivers for this to work?

I'm wondering if I shouldn't just play Siege in Windows 98 with VDMSound, if that's possible at all.

Reply 5 of 8, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Well, if the AWE32 is DSP version 4.x then SB3.DRV is the right file to copy to, but the SB16 version of the driver may not like the DSP version of an AWE32.

I'm thinking that for AWE32 you may need one of those modified drivers that don't care about the DSP version.

Reply 6 of 8, by PoulpSquad

User metadata
Rank Member
Rank
Member

Loading the low-level drivers did the trick.
Now I'll have some work trying to fit all that Creative junk in upper memory, and then tackle Comanche:Maximum Overkill.

Thank you so much ripsaw8080, your help is really appreciated!

Reply 7 of 8, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Is the "Creative junk" you refer to the "Creative Multimedia Architecture" drivers (e.g. CTSB16.SYS and CTMMSYS.SYS)? Later versions of CT-VOICE.DRV for SB16 need that stuff, but older versions do not. You may prefer not to mess around with it anymore now that it's working, but if the driver overhead becomes a problem then one of the older drivers might be an option.

Reply 8 of 8, by PoulpSquad

User metadata
Rank Member
Rank
Member

Yes sir, those are the drivers I'm refering to.
Both together gobble a mind staggering 32 KB, and both are required to have sound in Siege.
On top of that, even though Siege states it needs 590 KB of conventional memory to run with Roland music, it refuses to run with as much as 605 KB.
Setting music as AdLib/Sound Blaster produces garbled sound that won't go away until next reboot.

I found a stop-gap solution of sorts though.
Uwe Sieber (of UMBPCI fame) has generously provided a link to LOADSYS (thank you Mr. G. W. Robinson!) here: http://www.uwe-sieber.de/files/loadsys.zip.
The idea is to load those 2 Creative drivers in a batch, launch Siege, and remove them from memory once Siege is done running.
I set it something like that:

@ECHO OFF
CD C:\SIEGE
C:\DOS\LOADSYS.EXE C:\SB16\DRV\CTMMSYS.SYS
C:\DOS\LOADSYS.EXE C:\SB16\DRV\CTSB16.SYS /UNIT=0 /BLASTER=A:220 I:7 D:1 H:5
C:\DOS\THROTTLE.EXE 8 -C
SIEGE.EXE
C:\DOS\THROTTLE.EXE 0
C:\DOS\LOADSYS.EXE /U CTSB16.SYS
C:\DOS\LOADSYS.EXE /U CTMMSYS.SYS
CD C:\

Ugly solution for an ugly game. It still amuses me immensely, for some weird reason...
Note that it still needs around 10 KB of free memory to load CTMMSYS.SYS high, or Siege will complain of insufficient conventional memory!

Do you know where I can find older Creative drivers? All those I've downloaded so far are the latest update from 1998.