VOGONS


First post, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

I am in the process of finalizing my G41 build for DOS (pure DOS and Win98) retro gaming, and have recetly been going through testing how games in my collection run. I am particularly fond of early to mid 90s Westwood Studios games, and to my rather unpleasant surprise these are the ones giving me trouble, so posting this asking for your thoughts.

The build runs a Q9550 and a YMF744-based PCI card that has DreamBlaster (X3MB) connected via Game Port for MIDI music. I have Windows 98 SE and FreeDOS 10.3 installed, and use the former 99% of the time. Yamaha sound works ok in Windows, Windows DOS sessions and DOS (via setupds + dsdma). Doom and sourceports and numerous Apogee shareware games, as well as LEC Star Wars games work without issues.

The issues I am observing with Westwood games:

1. Kyrandia 1 floppy reboots my PC on exit.

2. Kyrandia 1 CD exits fine, but digitized samples lock the PC up during intro. If intro is skipped, speech works unpredictably and causes a similar lock up.

3. Dune 2 (run from HD) has speech cut off during intro. Overall digitized samples are a mess, and are either not heard at all, cut off or play at unexpected times. When leaving the game it locks the PC up at "Thanks for playing Dune II".

4. Hand of Fate floppy has speech cut off during intro. After intro the game seems to run fine and digitized samples sound ok, but I've not played long enough to be sure.

5. Hand of Fate CD has speech cut off in intro and intro locks up at the swamps view before Zanthia speaks to Faun. If intro is skipped the game seems to run fine and speech and digitized samples sound ok, but I've not played long enough to be sure.

6. Lands of Lore CD has speech cut off in intro, Lore of the Lands and character selection screen. After intro the game seems to run fine with speech sounding ok, even for longer passages (e.g. King Richard speaking in the throne room).

7. I dont know about other variants, but from my small collection of Westwood demos, if the demo runs at all it would exhibit the same behaviour as the full version above with regards to sound.

I spent some time trying to change soundcard settings, running the slowdown utilities and experimenting with memory managers configuration, but the above issues remained. All games have official patches applied where appropriate. I have tried running in Windows 98 SE(DOS versions), DOS and even tried Windows versions under Windows 98 SE (if games detect Windows they use Westwood VXD driver for digitized samples that needs to be configured in SYSTEM.INI) and had no luck resolving this.

So what I have right now:

8. Dune 2 configured to use separate devices for music (SC-55), sfx (Adlib) and digitized samples (none) using updted setup utility. It's a shame as I don't get to hear mentat's warnings and unit responses. Besides when I quit my PC hangs.

9. Hand of Fate CD and Lands of Lore CD configured to use separate devices for music (SC-55), sfx and digitized samples (SB Pro) using stock setup utility. Just skipping the intro.

10. Kyrandia 1 floppy configured to use MT-32 to music and Adlib for sfx by hex editing configuration file.Unfortunatelly every time when I quit my PC reboots.

11. I think I may want to set up Kyrandia 1 CD to just use Adlib for music and sfx and disable digitized samples using stock setup utility as it feels more stable (e.g. does not reboot my PC). However I prefer MT-32 music and find game lacking in atmosphere without sound effects and with Dreamblaster emulation that I have sound effects are just instruments being played that sound out of place. While I was able to force floppy version to use MT-32 for music and Adlib for sfx, the same hex editing approach did not work with the CD version. A comparable setup does not play music at all, so I only get sfx via Adlib. Alternatively I can force MT-32 music but no sfx at all (i.e. neither speech nor sfx) which is also not what I want.

So far I have settled on just leaving the games configured this way so that they could still be enjoyed, but of course would appreciate help and advise on getting them work right.

Last edited by ludicrous_peridot on 2024-01-11, 20:05. Edited 1 time in total.

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 1 of 16, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

After a few months I have tried Kyrandia 1 with SB Audigy 1 on a similar machine and am getting the same result. By this time, I am starting to hope that a combination of a different version of audio driver (e.g. from a later Westeood game) and runnning with a debugger may point towards a fix for this...

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 3 of 16, by carlostex

User metadata
Rank l33t
Rank
l33t

It might be a problem with Westwood versions of the AIL drivers (.ADV files) and PCI cards. I reported this years ago here on VOGONS.

Try out other games that use AIL drivers and check if you get the same lock ups when playing digitized samples

Reply 4 of 16, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

May I ask if anyone has any luck with resolving this? I tried experimenting with using drivers from other Westwood games but that did not help (did not "just work" in the first place).

Which other games do you recommens trying?

I was using dmkit 310 for testing on the same machine successfully and later games f4om Westwood seemed to work (e.g. Lands of Lore).

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 6 of 16, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

To answer my own question after couple of years: I was able to resolve the issues by routing the digitized sound to an onboard "Intel HD" sound chip with VSBHDA. I kept PCI card for FM music and MPU-401 interface for the external MIDI synthesizer.

Additionally, for Dune 2 gently slowing down the system with a tool has helped.

Now I have Kyranida 2 and 3, Lands of Lore 1 and Dune 2 working and only Kyrandia 1 talkie remains problematic, so playing that one with digitized speech turned off in the setup program.

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 7 of 16, by digger

User metadata
Rank Oldbie
Rank
Oldbie

There is a workaround for (real mode) games that rely on either Miles (AIL) or DIGPAK drivers, such as Dune II. You can patch them to work with Covox or the Disney Sound Source (and clones), by replacing the Sound Blaster DSP driver with a Covox or DSS DIGPAK driver. That way, you could get digital sound to work on newer PCs, provided that they have a parallel port.

Even if it's a ISA-less system with a PCIe parallel port adapter that uses non-legacy I/O base addresses, there are ways to make it work by using a command-line tool that detects the parallel port card and registers its I/O base address in the BIOS Data Area. One such tool is PRTADD.

Reply 8 of 16, by Tempus

User metadata
Rank Newbie
Rank
Newbie
digger wrote on 2024-01-08, 09:58:

There is a workaround for (real mode) games that rely on either Miles (AIL) or DIGPAK drivers, such as Dune II.

Does this work for Hand of Fate CD-version too? I tried to customize Hand of Fate drivers to change the default port 330 to 332, but it didn't seem to use any standard version of the sound drivers. Ended up using the TSR MIDITO instead.

Akumajō Dracula: Belmont's Theme Roland MT-32 | Yamaha YM2151

Reply 9 of 16, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

Are you sure about Hand of Fate drivers though? I don't remember exactly but they might be in DRIVER.PAK like in other WW games of the period. So using WWPACK one can replace the driver with the desired one. In fact I clearly remember I have extracted HoF sound drivers, but not the details, and could check.

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 10 of 16, by digger

User metadata
Rank Oldbie
Rank
Oldbie

To be honest, I haven't yet tried this trick with other games, but it should work with any game that uses (real-mode) AIL v2 drivers or DIGPAK drivers. (DIGPAK drivers can also be used as drop-in replacements for AIL v2 drivers.)

But there are different ways in which games package the drivers. Some keep them in the game directory as separate .ADV (in the case of Miles/AIL) or .COM (in the case of DIGPAK) files, but other games have them embedded in other data files, like for in stance the aforementioned Dune II. (Could be DRIVER.PAK as you mentioned, but I don't know by heart.) Such games would require a patch tool to overwrite the embedded Sound Blaster driver with a DIGPAK driver of choice, depending on what sound device you would like to add support for. I actually used a Dune II patcher for the Gravis Ultrasound to patch in the DIGPAK driver for Covox.

I've been thinking about maybe writing a universal DOS game patching tool that would scan the files in a game directory for headers that would identify any embedded AILv2 or DIGPAK drivers, and then patch them by overwriting the driver in place.

By the way, I found that Dune II uses AILv2 drivers only for digital audio playback and for MPU-401 MIDI playback. It apparently does not use AILv2 or MIDPAK drivers for Adlib/OPL2 music. My suspicion is that the music in that game was originally composed natively on OPL2 and then "ported" (in a rather lazy fashion) to the MT-32, as opposed to the other way around, which was more common, since the MT-32 was a more high-end and far more capable music playback device. It would explain why the music in Dune II tends to sound better on Adlib/OPL2, using its characteristic sounds intentionally, whereas on the MT-32 the game music is played with uninspiring and bland standard instruments.

Reply 11 of 16, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

Here are the drivers from HOF CD (I think 😀 ).

HOFCD.PNG
Filename
HOFCD.PNG
File size
47.64 KiB
Views
600 views
File license
CC-BY-4.0

I had a look at DMKIT 150 and can see similar, say SBFM* drivers, but not SBDIG I see here, which I imagine is used for speech and digitized sound in the game.
I am tempted to try your approach with Kyrandia 1, by the way, only I don't have a parallel port device... if there was a TSR to forward the samples to an SB though...

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 12 of 16, by digger

User metadata
Rank Oldbie
Rank
Oldbie

Another approach would be to try SBEMU or VSBHDA to emulate a Sound Blaster and have the audio played back through HDA, or through another PCI sound card currently supported by SBEMU. 🙂

Reply 13 of 16, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

VSBHDA SB16 emulation is exactly what I use for digitized sound in Kyrandia 3 and Lands of Lore at the moment and they actually work without lock-ups or cut-offs (MPU-401 and FM music in LoL are via a PCI card still) ... except that Kyrandia 3 performance in cut scenes is really not stellar and I have to run it twice to get the sound working, which is kind of... ok 😀

For Kyrandia 2 and Dune 2 I stick to SBEMU SBPro emulation for digitized sound, again with MPU-401 and FM via PCI card.

For Kyrandia 1 I was inspired by your success with Dune 2 and persevered to produce just now a version which combines Dune 2 and Lands of Lore DRV and ADV files to finally get the talkie working with FM music and sound effects simply with the PCI card and DSDMA (I cant't believe it really!)

No more sound garbage or lock ups here. I feel now that my build is complete.

EDIT: Couple more notes.
1. For Kyrandia 3 plain PCI digital sound actually works with Sound Blaster (NOT Pro, nor 16) sound driver with just DSDMA and with much smoother videon sequences. So no need for VSBHDA here, if only for SB16 emulation.

2. I went ahead and configured GOG version of Lands of Lore 2. Had to master a dummy ISO (using an archive org ISO listing as reference) so that INSTALL.EXE would run in DOS and allow me to change the sound config to SB Pro and MPU-401. (Similar can be achieved by mounting the game directory as CD-ROM in DOSBox). This setup works fine using just PCI soundcard with DSDMA and the game runs smoothly.

EDIT2: ...aaand also got around couple of annoyances of the games that in principle ran already.

3. Hand of Fate CD did not work in FreeDOS for me with the settings I had, so I spent some time on this and figured out it did not like NOEMS option in my configuration.

Moreover, it turned out the game and the introduction used different sound code and different set of drivers, so I have patched INTRODRV.PAK with SB*.ADV files from DRIVERS.PAK and now longer have any sound cut off-s in the introduction with just DSDMA driver of my PCI Yamaha card. By the way, for patching I used WestPak2 in Windows, which is very easy to use as it has "Replace file" option. I then simply mastered an ISO with ImgBurn.

4. It was annoying that for Kyrandia 3 with SB16 emulation via VSBHDA (as well as some othe non-Westwood games) I had to initialize the sound in some way before the game worked right, e.g. by running setup utility of the game every time or by running the game twice. So I made a simple Allegro-based utility that initializes the card each time during boot after VSBHDA is loaded and now the game works like a charm. I actually like much-much more how SB16 via Intel HD onboard card sounds in this game when compared to SB game driver and my Yamaha PCI card.

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 14 of 16, by Tempus

User metadata
Rank Newbie
Rank
Newbie
ludicrous_peridot wrote on 2024-01-09, 16:03:

Are you sure about Hand of Fate drivers though? I don't remember exactly but they might be in DRIVER.PAK like in other WW games of the period. So using WWPACK one can replace the driver with the desired one. In fact I clearly remember I have extracted HoF sound drivers, but not the details, and could check.

I tried using WWPAK but I could only make them work with Kyrandia 1.

Akumajō Dracula: Belmont's Theme Roland MT-32 | Yamaha YM2151

Reply 15 of 16, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

So, I've renamed OP to [Solved] a few days ago, but since then I did a bit more of digging around which I am posting to report: this time with Lands of Lore 2.

In my VSBHDA SB16 + PCI MPU-401 setup it was crashing the moment MIDI music started to play, so I previously have tried it in two configurations: SBPro emulation and MPU-401 with the PCI Yamaha chip and DSDMA, and VSBHDA without any MIDI device and digital music option. While both worked, I found them somewhat lacking and today have replaced HMIMDRV.386 with the one coming from Descent Shareware 1.0 that worked perfectly in the desired setup.
This has actually allowed me to run the SB16 + PCI MPU-401 to much delight.

The trick could be useful for other games that use Human Machine Interface drivers: I was able to fix the sound in Splistream 5000 demo version this way and have SB16 + PCI MPU-401 working. Not in sound setup EXE (which may be using the other set of driver files, actually, not the PM *.386 ones?) but in the game itself, and thankfully sound setup allows to skip sound testing routine in that game. Will try and see about Daggerfall now 😉

One thing I have learned about Lands of Lore 2 along the way was that it had 2 sets of MIDI music files - the HMI format files and the Miles format files that could be played with, e.g. FalcoSoft MIDI Player, which was neat to have a ripped soundtrack as background music.

Oh, and finally, @Tempus - I have described how I have just recently patched HOF sound drivers and given the link of the tool if you are interested. It's in the post just above your answer. WWPAK indeed complained about HOF PAK files.

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)

Reply 16 of 16, by ludicrous_peridot

User metadata
Rank Member
Rank
Member

One curious thing I have come by after starting to play the games more, was that in my setup Lands of Lore 1 CD was getting my PC into PCI Partity error after 5 to 15 minutes of play. This happenned to me with FreeDOS and both SBEMU and VSBHDA. I was unable to reproduce the same neither with DSDMA in FReeDOS nor with VSBHDA in Win98SE (no Windows, just DOS part 😀 ) however, where I could play for significantly longer, so go figure...

GA-G41M-Combo G41/ICH7 - Core 2 Quad Q9550 - DDR3 1033 - Radeon RX570 - YMF744 (Cobra) - X3MB (Buran)