indirect sound

Getting old Windows games working.

Re: indirect sound

Postby UCyborg » 2017-12-01 @ 22:48

Oh, this thread? I've learned about Sens_oal.dll -> ct_oal.dll rename trick there. Funny thing about ct_oal.dll, the path to it is composed on the stack using a bunch of assembly MOV instructions, so searching for ct_oal.dll string in ALchemy's dsound.dll won't reveal its place. There's also a fallback to load OpenAL32.dll (aka. the OpenAL router DLL, which also has the preference to expose ct_oal.dll implementation as the main one) if that string wasn't available, but that condition never happens I think. Yes, I know any *oal.dll can be renamed to OpenAL32.dll to act as a single OpenAL implementation.

lowenz wrote:Why use a separate piece of software like ALchemy if it already supports EAX? :| (a question for Creative devs and whoever knows the answer)

ALchemy converts DirectSound calls to OpenAL as stock DirectSound on Vista+ lacks certain features, so what you're trying to ask is why there are two separate OpenAL implementations to convert DirectSound calls to. ;) I wonder this myself.

One interesting thing to note, there's probably a bunch of integrated sound cards out there that work with Windows XP, but because they're not Creative's, you don't get any special features from DirectSound on that OS neither.

@CoolGamer

ALchemy can work on its own, though if it can use ct_oal.dll, that resolves sound glitches in certain games. There must be some other issue. Your sound card also shouldn't have any negative impact. Are you positive that dsound.dll that ended up in game folders is patched? If it is, its modification date should be very recent.

@Davros

It seems to be meant as a bonus in conjunction with another Creative product.
UCyborg
Member
 
Posts: 132
Joined: 2015-9-04 @ 11:10

Re: indirect sound

Postby CoolGamer » 2017-12-02 @ 23:12

UCyborg,

I found out what the issue was. My firewall was blocking the game exes. When I lifted the firewall restrictions, Alchemy started to work. When I add the game exes back to the firewall restrictions, Alchemy stops working again. I was very surprised to see that firewall was the issue.
CoolGamer
Newbie
 
Posts: 93
Joined: 2017-1-14 @ 17:22

Re: indirect sound

Postby Davros » 2017-12-03 @ 17:12

what firewall ?
Guardian of the Sacred Five Terabyte's of Gaming Goodness
User avatar
Davros
l33t
 
Posts: 2456
Joined: 2004-3-01 @ 03:08

Re: indirect sound

Postby jonpol » 2017-12-05 @ 20:59

UCyborg wrote:I've noticed that in Drakan: Order of The Flame, sounds are funked up, like playing bad tape. Have to hear it yourself, when you start the game, hold Shift and make sure 3D sound buffers are enabled on Sound tab.


Unfortunately I don't have that game and from what I can tell it's not available to buy digitally. Have you checked the dsound.log file to see if any errors are reported?

UCyborg wrote:
When using Windows 10 with some games the dsound.dll DLL is ignored even when it is located in the correct place and works with the same game using earlier versions of Windows.

Check for references to dsound.dll in registry under HKEY_CLASSES_ROOT\CLSID and HKEY_CLASSES_ROOT\Wow6432Node\CLSID You should find a bunch of keys containing "%SystemRoot%\System32\dsound.dll". These used to be "dsound.dll", allowing dsound.dll to be picked from game folder if game uses COM to initialize DirectSound. One way to modify those entries is launching regedit as TrustedInstaller. Process Hacker with TrustedInstaller plugin can do it.


Thank you, this is very helpful!
jonpol
Newbie
 
Posts: 33
Joined: 2013-9-24 @ 19:14

Re: indirect sound

Postby UCyborg » 2017-12-06 @ 13:21

jonpol wrote:Unfortunately I don't have that game and from what I can tell it's not available to buy digitally. Have you checked the dsound.log file to see if any errors are reported?

Right, it tells me to set maxFrequencyRatio to something really high like 17121.2. The number is different every time. Here's the demo version for you to play with. I've packed it with the latest IndirectSound and dgVoodoo2, the demo is the buggiest so it won't work without dgVoodoo. You can also try WineD3D instead of dgVoodoo. Should be good enough to determine the cause of sound problems.

jonpol wrote:Thank you, this is very helpful!

Cool, MS actually started using absolute paths in that area in Windows 8. BTW, can IndirectSound work on Windows XP? I tried it on VMware virtual machine where it outputs:

The requested audio device {BD6DD71A-3DEB-11D1-B171-00C04FC20001} was not found!

I'm curious because without specific sound card, you get as much features via DirectSound on XP as on Vista+. At one point, I found a bit unstable driver for VMware's sound card (ES1371 chip) that exposes hardware accelerated 3D sound buffers and basic EAX (probably just 1.0). Random sound cards from VIA for example are still stuck with bare basics.
UCyborg
Member
 
Posts: 132
Joined: 2015-9-04 @ 11:10

Re: indirect sound

Postby jonpol » 2017-12-06 @ 22:50

UCyborg wrote:Right, it tells me to set maxFrequencyRatio to something really high like 17121.2. The number is different every time. Here's the demo version for you to play with. I've packed it with the latest IndirectSound and dgVoodoo2, the demo is the buggiest so it won't work without dgVoodoo. You can also try WineD3D instead of dgVoodoo. Should be good enough to determine the cause of sound problems.


Ok, great, I will try to figure out what's happening when I get some time.

UCyborg wrote:Cool, MS actually started using absolute paths in that area in Windows 8.


Oh, yeah, I skipped form Windows 7 to 10 haha. Now that I see what's happening it makes total sense, but I don't think I ever would have thought of it... Was this change common knowledge when Windows 8 came out, and I just missed the memo? Anyway, it's really nice to know how to fix it (and I've confirmed that one of the games in question now does work with IndirectSound again for me in Windows 10), so thanks again! I will update the IndirectSound webpage with instructions when I have a moment.

UCyborg wrote: BTW, can IndirectSound work on Windows XP? I tried it on VMware virtual machine where it outputs:

The requested audio device {BD6DD71A-3DEB-11D1-B171-00C04FC20001} was not found!

I'm curious because without specific sound card, you get as much features via DirectSound on XP as on Vista+. At one point, I found a bit unstable driver for VMware's sound card (ES1371 chip) that exposes hardware accelerated 3D sound buffers and basic EAX (probably just 1.0). Random sound cards from VIA for example are still stuck with bare basics.


It doesn't work on XP, but it's been so many years since I've looked into it that I've forgotten most of what I knew. I think it had something to do with the way I am loading libraries, but I didn't spend time fixing it since I figured anyone using XP could just use a real SoundBlaster. My guess is that it probably could work (again, going off memory here), but I've been debating changing some of the way IndirectSound works internally to use WASAPI instead of XAudio2 and maybe moving to a newer version of Visual Studio, after which XP would no longer be an option.
jonpol
Newbie
 
Posts: 33
Joined: 2013-9-24 @ 19:14

Re: indirect sound

Postby UCyborg » 2017-12-09 @ 14:21

jonpol wrote:Oh, yeah, I skipped form Windows 7 to 10 haha. Now that I see what's happening it makes total sense, but I don't think I ever would have thought of it... Was this change common knowledge when Windows 8 came out, and I just missed the memo?

I don't know, I only noticed it when I copied my Max Payne installation along with ALchemy's dsound.dll over to another computer and the game was silent for some reason. I figured I never ran ALchemy application on that PC and when I did it, the sound magically returned. At that point I started searching registry for dsound.dll and realized Alchemy doesn't just copy over dsound.dll to particular game's folder, but also alters those registry entries.

jonpol wrote:It doesn't work on XP, but it's been so many years since I've looked into it that I've forgotten most of what I knew. I think it had something to do with the way I am loading libraries, but I didn't spend time fixing it since I figured anyone using XP could just use a real SoundBlaster.

I see, interesting to know you can use XAudio2 in a way that breaks on XP. I occasionally mess with old Windows versions and thought that was strange since XAudio2 is officially supported on XP, at least the older version.

Back in September, GOG released The Suffering and The Suffering: Ties That Bind. These games use updated Riot Engine, like Drakan. They included older IndirectSound 0.12, which made game crash frequently (fault module dsound.dll). Version 0.13 is OK. With stock DirectSound, many sounds don't play or dropout. Despite the game having EAX checkbox in its sound options, logs don't indicate that it ever queries for EAX support. Still, subtle reverb effect is applied over its audio, which can be heard with ALchemy. It's present in PS2 and Xbox versions of the game as well, but not heard with IndirectSound. 3D positioning is OK. Anyway, whenever you find the time and will, I'm curious what you'll find.
UCyborg
Member
 
Posts: 132
Joined: 2015-9-04 @ 11:10

Re: indirect sound

Postby jonpol » 2017-12-09 @ 18:15

UCyborg wrote:
jonpol wrote:Oh, yeah, I skipped form Windows 7 to 10 haha. Now that I see what's happening it makes total sense, but I don't think I ever would have thought of it... Was this change common knowledge when Windows 8 came out, and I just missed the memo?

I don't know, I only noticed it when I copied my Max Payne installation along with ALchemy's dsound.dll over to another computer and the game was silent for some reason. I figured I never ran ALchemy application on that PC and when I did it, the sound magically returned. At that point I started searching registry for dsound.dll and realized Alchemy doesn't just copy over dsound.dll to particular game's folder, but also alters those registry entries.


I've written up some instructions here. Thanks again for letting me know what was going on!
jonpol
Newbie
 
Posts: 33
Joined: 2013-9-24 @ 19:14

Previous

Return to Windows

Who is online

Users browsing this forum: No registered users and 1 guest