VOGONS

Common searches


Reply 20 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
VirtuaIceMan wrote:

He mrpenguinb, I'd only tried your approach for TD6, so... can I now roll it back (somehow)? Is UCyborg's fix all that's needed?

And, if I only have WinXP SP2, does that have the correct dll's too (question for UCyborg really)?

Just checking how to undo things and do them right 😀

UCyborg's fix is all that is need now! (you still need the Windows Media Source Filter for the 3 games to work). Ford Racing 2 benefits greatly from this. The music no longer skips around anymore. The same goes for Monopoly Tycoon.
Now all three games function fully! Having the offical Windows Media Audio Audio Compression Manager will help enhance overall system compatibility with old games that have audio problems.
To get the ACM working properly AFAIK you need to get an older version of the qasf.dll. Version 6 of the .dll should be fine and works with MT and FR2.

Uninstall or remove the DivX acm files from SysWOW64 and you should be fine. Placing msadds.ax and msaud32.acm into SysWOW64 along with the older quartz.dll will fix both games properly.

Also, how could I contact you better?

Last edited by mrpenguinb on 2019-03-07, 09:20. Edited 2 times in total.

Reply 21 of 34, by UCyborg

User metadata
Rank Member
Rank
Member
mrpenguinb wrote:

Also, by the way I had to register the msadds.acm file instead of msaud32.acm (not sure what the difference is).

msaud32.acm is all that's needed, that's also the codec that was tested with the game. No idea where you got msadds.acm from. 😕

mrpenguinb wrote:

With the ACM in place, now the old qasf.dll from Windows 95 works!

Windows 95 doesn't come with qasf.dll, that's installed when updating DirectX. This observation also doesn't make sense because qasf.dll is part of DirectShow and ACM is a separate beast. Additionally, even on old systems, msaud32.acm was completely optional, its absence would merely prevent software using ACM to decode WMA files.

mrpenguinb wrote:

The new qasf.dll uses the WM ASF Reader/writer filter I think, so that interferes and causes odd behaviors in certain situations.

That's some odd issue on your end. Everything works properly with Windows 10's own qasf.dll here. Maybe you've installed some codec you shouldn't which is causing problems, should never happen on fresh install. InstalledCodec can be used to disable both DirectShow filters and codec drivers. Maybe it can help pin-point the offender.

mrpenguinb wrote:

Monopoly Tycoon takes a bit to load as it has to find the codecs it needs (from the testing I have done anyway, this may not be true).

It's probably just loading resources.

mrpenguinb wrote:

Test Drive 6 could be attempting to find a specific codec before it starts playing music, is the music meant to start quicker/earlier?

Yes, judging by console versions. I'd say it's a quirk of the PC version.

mrpenguinb wrote:

If an application fails to find the necessary codec in Media Foundation then it falls back to DirectShow.

It has to be coded specifically to be able to use these things. TD6 uses neither and relies on old Audio Compression Manager framework instead.

Speaking of TD6, since it doesn't rely on DirectShow, it doesn't rely on Windows Media Source Filter neither, but merely on its dependencies (they're pulled in by WMAUDSDK.DLL at load-time) Which brings me to another point; your installer fails to make TD6 work because you're installing DLLs in a separate directory and in this case, standard DLL search order rules apply. It could be solved by adding path to the new folder with DLLs to PATH environment variable (setx command with /M parameter).

UCyborg wrote:

Why use ancient DLLs instead of the ones from Windows XP SP3?

I suggested this because newest versions of any utility/runtime libraries are usually the best, unless proven they're flawed. And hey, we used those on XP! There is, however, a compatibility issue with Windows 10 version 1809 (Build 17763) and later. Microsoft removed support for querying TCP driver using DeviceIoControl function with control code IOCTL_TCP_QUERY_INFORMATION_EX. strmdll.dll does such a query and it's supposed to handle the failure gracefully, but it doesn't due to a bug, so it crashes the application. I fixed the bug and included the patched DLL in attached ZIP along with the other 2 DLLs that make up Windows Media Source Filter.

VirtuaIceMan wrote:

And, if I only have WinXP SP2, does that have the correct dll's too (question for UCyborg really)?

Probably, but since you have SP2, you might want to search for dxmasf.dll and msaud32.acm just in case to confirm. If they're present, they should be properly registered as well so you don't have to do anything.

ZellSF wrote:

Fairly sure Microsoft has done something similar with DirectMusic, just replacing DLLs that could've provided backwards compatibility with stubs because it's a deprecated feature. There's a patch to fix that too.

DirectMusic is apparently another rarely used API, but from what I can tell, it's still there. Drakan uses it. Wikipedia says:

On Microsoft Windows Vista, DirectMusic uses only software synthesis. Also, the DirectMusic kernel mode synthesizer that supplies the DirectMusic components with a high-resolution timer has been removed.

So what patch are we talking about?

Attachments

  • Filename
    WMSF.zip
    File size
    484.78 KiB
    Downloads
    65 downloads
    File comment
    WinXP SP3 Windows Media Source Filter with patched strmdll.dll for it to work on Win10 1809+
    File license
    Fair use/fair dealing exception
Last edited by UCyborg on 2019-02-26, 00:26. Edited 1 time in total.
Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 22 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
UCyborg wrote:

msaud32.acm is all that's needed, that's also the codec that was tested with the game. No idea where you got msadds.acm from. 😕

I mistakenly said msadds.acm was an ACM when it actually isn't, I just didn't remember the file name at the time I wrote that..... that was silly of me 😢

UCyborg wrote:

Windows 95 doesn't come with qasf.dll, that's installed when updating DirectX. This observation also doesn't make sense because qasf.dll is part of DirectShow and ACM is a separate beast. Additionally, even on old systems, msaud32.acm was completely optional, its absence would merely prevent software using ACM to decode WMA files.

Another assumption I made, I don't always look into things the way I should. My first OS was Windows 7, I didn't realise fully that qasf.dll was part of the DirectX components. I have never really used Windows 95/98 so I didn't pick up on that. Thank you once again for clearing up some information that I got wrong.

UCyborg wrote:

That's some odd issue on your end. Everything works properly with Windows 10's own qasf.dll here. Maybe you've installed some codec you shouldn't which is causing problems, should never happen on fresh install. InstalledCodec can be used to disable both DirectShow filters and codec drivers. Maybe it can help pin-point the offender.

I will have to try and fix it on my end then, time for some more troubleshooting.

UCyborg wrote:

It has to be coded specifically to be able to use these things. TD6 uses neither and relies on old Audio Compression Manager framework instead.

Ok, didn't know that. How would you prepare for a new version before it even exists? It wouldn't make sense. Thank you for getting my logic straightened out.

UCyborg wrote:

Speaking of TD6, since it doesn't rely on DirectShow, it doesn't rely on Windows Media Source Filter neither, but merely on its dependencies (they're pulled in by WMAUDSDK.DLL at load-time) Which brings me to another point; your installer fails to make TD6 work because you're installing DLLs in a separate directory and in this case, standard DLL search order rules apply. It could be solved by adding path to the new folder with DLLs to PATH environment variable (setx command with /M parameter).

Yes I know that is a fact, I really should explain all the specifics better and have less assumptions. It was very obvious that the application requires them since if they are not present, the game throws up errors (I forgot).

UCyborg wrote:
UCyborg wrote:

Why use ancient DLLs instead of the ones from Windows XP SP3?

I suggested this because newest versions of any utility/runtime libraries are usually the best, unless proven they're flawed. And hey, we used those on XP! There is, however, a compatibility issue with Windows 10 version 1809 (Build 17763) and later. Microsoft removed support for querying TCP driver using DeviceIoControl function with control code IOCTL_TCP_QUERY_INFORMATION_EX. strmdll.dll does such a query and it's supposed to handle the failure gracefully, but it doesn't due to a bug, so it crashes the application. I fixed the bug and included the patched DLL in attached ZIP along with the other 2 DLLs that make up Windows Media Source Filter.

Thanks for that, at this rate you may as well slap me in the face right now 🤣 I don't have all the knowledge that you have, so thank you for contributing and clearing up my nonsense. The fact that you fixed a bug in strmdll.dll is amazing! 😀
That it took years for me to find out why Monopoly Tycoon was crashing, shows how illogical and assumptive I really am. I think I lost that part of me a long time ago. I barely know what I am doing and all the specifics and I have never developed anything purely by myself. I barely know anything about DirectShow, just that there are .DLL's everywhere and the registry has entries that point to them, and that applications load them. I really wish I could not make assuptions or build off non-existing prior knowledge, but I thought at least getting something out is better than nothing at all, but I don't think that really applies here much.

ALSO on Windows XP the music stutters in Monopoly Tycoon and Ford Racing 2 (fresh installs). So that rules out any codec issue that I have on my end. It is very subtle, you may have not noticed it at all, if you listen to the raw .wma files you can hear no stutter (it is not always consistent in-game).

Last edited by mrpenguinb on 2019-11-19, 00:31. Edited 2 times in total.

Reply 23 of 34, by jonpol

User metadata
Rank Newbie
Rank
Newbie
UCyborg wrote:
ZellSF wrote:

Fairly sure Microsoft has done something similar with DirectMusic, just replacing DLLs that could've provided backwards compatibility with stubs because it's a deprecated feature. There's a patch to fix that too.

DirectMusic is apparently another rarely used API, but from what I can tell, it's still there. Drakan uses it. Wikipedia says:

On Microsoft Windows Vista, DirectMusic uses only software synthesis. Also, the DirectMusic kernel mode synthesizer that supplies the DirectMusic components with a high-resolution timer has been removed.

I know almost nothing about DirectMusic, but games that use it can request an undocumented DirectSound COM interface. Once I identified this and fixed its use in IndirectSound the music in No One Lives Forever 2 started working, and so the existing DirectMusic still does something, as you say. In case it's of interest to anyone reading this (sorry, I know it's off topic from DirectShow), someone from Microsoft told me the following as I was investigating and trying to get information about said undocumented COM interface:

Of course, this code was written over 20 years ago and has changed a lot since then in details as the underlying OS systems have changed numerous times. DirectSound, DirectMusic performance layer, etc. are all deprecated legacy APIs only maintained for appcompat with older applications. The only ‘modern’ use for DirectMusic is for timestamped MIDI output for Win32 desktop apps—primarily pro audio apps, which is why there’s a distinction in the status of ‘DirectMusic core’ vs. ‘DirectMusic performance layer’.

Reply 24 of 34, by UCyborg

User metadata
Rank Member
Rank
Member
mrpenguinb wrote:

ALSO on Windows XP the music stutters in Monopoly Tycoon and Ford Racing 2 (fresh installs). So that rules out any codec issue that I have on my end. It is very subtle, you may have not noticed it at all, if you listen to the raw .wma files you can hear no stutter (it is not always consistent in-game).

That's interesting. The only thing I can say with absolute certainty, on my end on Windows XP x64 SP2, Ford Racing 2 stutters consistently in menus when you start it, but when you start racing, the issue does not re-occur, neither in-race or when you return to menus. Although that's the very obvious stutter that shows its effects on both sound and graphics. It also refuses to minimize when you alt-tab, I can see parts of other applications' windows flickering beneath. I might try it on plain 32-bit XP at some point.

I'd be interesting to know whether anybody else can detect stuttering on their end. Subtle and inconsistent might indeed be key points.

mrpenguinb wrote:

That it took years for me to find out why Monopoly Tycoon was crashing, shows how illogical and assumptive I really am.

Those kind of dependencies are actually quite easy to figure out as long as you have access to the system where they're satisfied. With a debugger, it's possible to decipher calls made to CoCreateInstance, then lookup the CLSID of the referenced object by searching registry (HKEY_CLASSES_ROOT\CLSID or HKEY_CLASSES_ROOT\WOW6432Node\CLSID) where it says in which DLL the object is implemented. A trick Dependency Walker doesn't know about.

mrpenguinb wrote:

I barely know what I am doing and all the specifics and I have never developed anything purely by myself. I barely know anything about DirectShow, just that there are .DLL's everywhere and the registry has entries that point to them, and that applications load them.

Yup, that's really how it does look on the outside. Looking under the hood reveals a clearer picture.

@jonpol

Thanks for sharing!

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 25 of 34, by UCyborg

User metadata
Rank Member
Rank
Member

Re-uploaded the DLL due to some stupidity I accidently left in.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 26 of 34, by ZellSF

User metadata
Rank l33t
Rank
l33t

One of DirectMusic's problem is with Unreal II. Some reading here (nothing technical though) if you're interested UCyborg:
https://greatemerald.eu/blog/solving-the-unre … i-intro-problem

No idea if IndirectSound fixes Unreal II.

Reply 27 of 34, by UCyborg

User metadata
Rank Member
Rank
Member
ZellSF wrote:

One of DirectMusic's problem is with Unreal II. Some reading here (nothing technical though) if you're interested UCyborg: https://greatemerald.eu/blog/solving-the-unre … i-intro-problem

Thanks, I see that replacing dmscript.dll alone fixes the intro. Maybe DirectMusic brokenness is just sloppiness on MS's part rather than intentional omission. DLLs are still decently sized, bigger than XP versions actually. Some increase is usually due to using a newer compiler, this one should be small though.

Either way, a DirectMusic thread, if/when anyone has anything else to add to not derail this one any further.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 28 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie

The stuttering is coming from the qasf.dll being loaded by the game. DirectShow has support for ASF files, the qasf.dll is used with that file format.
The problem comes from that the newer versions of the QASF.dll tries to intercept calls with DirectShow; DMO wrapper or something (I think, I am not sure).
QASF stands for Quartz (DirectShow) + ASF (Advanced Systems Format).

All of the stuttering can be circumvented when the Windows Media Audio Decoder is registered, the correct version of the qasf.dll is placed with the games' executable and then everything will play smoothly.

I was swapping qasf.dll's often in SysWOW64 (unsafe, I know 😵 ), so now there should be no need to modify system files.
Often the most simplest solutions are the ones that work, I just didn't try placing the qasf.dll with the game 🤣

The right version of the qasf.dll is required to be located with the game executable so that the .dll from SysWOW64 is not loaded by the game.
The version of the qasf.dll MUST be: 6.05.3790.3959 (or similar).
For the Windows Media Audio Decoder, msadds32.ax needs copied from a computer running Windows XP (or earlier) and to be registered through the command-prompt or from a DirectShow filter manager.

Oh, and the game can't be installed to the default path (or the path manually selected) when installing the game. For some reason Monopoly Tycoon is listed in the Windows Game Explorer library, making things difficult. Ford Racing 2 is still having issues though... not sure why

Reply 29 of 34, by UCyborg

User metadata
Rank Member
Rank
Member
mrpenguinb wrote:

The right version of the qasf.dll is required to be located with the game executable so that the .dll from SysWOW64 is not loaded by the game.

On Windows 10 (and 8.x), the DLLs loaded through COM (via CoCreateInstance API) are always loaded from system directory by default unless you modify the registry. qasf.dll is not the kind of DLL that would make sense to be loaded directly using LoadLibraryA/LoadLibraryW APIs (maybe in some specific circumstance? - it doesn't export any non-COM related functions).

mrpenguinb wrote:

The version of the qasf.dll MUST be: 6.05.3790.3959 (or similar).

That's a 64-bit DLL from Windows XP x64, so can't be used for 32-bit games.

mrpenguinb wrote:

For the Windows Media Audio Decoder, msadds32.ax needs copied from a computer running Windows XP (or earlier) and to be registered through the command-prompt or from a DirectShow filter manager.

When I run Monopoly Tycoon on XP, this one's not used.

mrpenguinb wrote:

For some reason Monopoly Tycoon is listed in the Windows Game Explorer library, making things difficult.

Read my two posts in this thread.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 30 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
UCyborg wrote:
mrpenguinb wrote:

The right version of the qasf.dll is required to be located with the game executable so that the .dll from SysWOW64 is not loaded by the game.

On Windows 10 (and 8.x), the DLLs loaded through COM (via CoCreateInstance API) are always loaded from system directory by default unless you modify the registry. qasf.dll is not the kind of DLL that would make sense to be loaded directly using LoadLibraryA/LoadLibraryW APIs (maybe in some specific circumstance? - it doesn't export any non-COM related functions).

Well I don't know how the game loads it 😕 . It ignores loading the .DLL only when it is an older version, and loads it when it is above version 7 (I am not sure about the specific version).

UCyborg wrote:

That's a 64-bit DLL from Windows XP x64, so can't be used for 32-bit games.

What do you mean? It gets loaded by Monopoly Tycoon and Ford Racing 2. You might be mistaken.
When the qasf.dll gets loaded, it overrides the Windows Media Audio Decoder (probably because the WM ASF reader is wrapping everything, I don't know).
The qasf.dll is required if the WM Audio Decoder is not present, or else the music does not play at all.

UCyborg wrote:

When I run Monopoly Tycoon on XP, this one's not used.

The game only uses the Windows Media Audio Decoder when the qasf.dll is not trying to play the music, when loaded (from my observations).

UCyborg wrote:

Read my two posts in this thread.

I know how to stop the game from querying GameUX services. But your solution was the ultimate (and proper) one that I was trying to find. Thank you!! 😀 EDIT: nvm, deleting the system GameUX.dll's works better for me 😢

Last edited by mrpenguinb on 2019-11-19, 00:33. Edited 1 time in total.

Reply 31 of 34, by UCyborg

User metadata
Rank Member
Rank
Member
mrpenguinb wrote:

What do you mean? It gets loaded by Monopoly Tycoon and Ford Racing 2. You might be mistaken.

qasf.dll with the version number 6.5.3790.3959, which you said must be used, is a 64-bit DLL specific to Windows XP x64. At least I wasn't able to find any other 32-bit DLL with similar version number.

I managed to force Monopoly Tycoon to not load qasf.dll by temporarily modifying CLSID registry entry related to DMO Wrapper Filter. On XP x64, that caused LAV Audio Decoder to be used instead (not msadds32.ax; I have K-Lite Codec Pack installed).

On Windows 10 however, LAV Audio Decoder was not used (even though it's installed, it was even loaded in the game process), so there was silence until I registered msadds32.ax. I don't know about Windows 7, but even Windows XP x64 has absolute path to qasf.dll coded in registry, so anything named qasf.dll in game folder was ignored.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 32 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie

Sorry that I have been so brash and quick to make judgements and observations in the past 🙁
I have edited and cleaned up, surmised this comment to make it easier to read and made it more factually correct.

UCyborg wrote:

qasf.dll with the version number 6.5.3790.3959, which you said must be used, is a 64-bit DLL specific to Windows XP x64. At least I wasn't able to find any other 32-bit DLL with similar version number.

The automatic installer with Monopoly Tycoon (MT) installs Windows Media Player 6.4, along with the necessary codecs and filters. Windows Media Player 7.1 doesn't modify or change the qasf.dll version. Any 32-bit version of the qasf.dll can be used, as long as it is below version 9 and not below 5.

Version 9.0.0.2980 is the earliest version of the .DLL I had issues with, meaning the stuttering begins with Windows Media Player 9, since the codec has been completely changed (I have confirmed this). Windows XP SP2, Windows XP x64 editions come bundled with WMP 9 on install by default. Windows XP SP1, including Windows 2000 SP4 are all affected, when WMP 9 is installed manually. This includes, obviously all later versions of Windows after XP.

UCyborg wrote:

I managed to force Monopoly Tycoon to not load qasf.dll by temporarily modifying CLSID registry entry related to DMO Wrapper Filter. On XP x64, that caused LAV Audio Decoder to be used instead (not msadds32.ax; I have K-Lite Codec Pack installed).

Good solution, but only a workaround. You are modifying a codec that is integral to playing certain media files, which can have unknown consequences.
The Windows Media Audio decoder, Windows Media Source filter and the ASF file support .DLL (Qasf.dll) must all work in unison and be present for music to play how it was originally intended.
The LAV Audio Decoder and DivX 3.11 codec can both be used as an equivalent replacement though.

UCyborg wrote:

On Windows 10 however, LAV Audio Decoder was not used (even though it's installed, it was even loaded in the game process), so there was silence until I registered msadds32.ax. I don't know about Windows 7, but even Windows XP x64 has absolute path to qasf.dll coded in registry, so anything named qasf.dll in game folder was ignored.

All applications that use DirectShow built graphs, from what I have observed and know, any DirectShow application that builds a graph also loads all filters that may be relevant, even loosely.
In order to get the qasf.dll loaded into FR2 or MT, an appropriately named .config or .local file must be created. For example: (mc.exe.config fr2.exe.config). This special file forces the application running in the directory with the config or local file to look for relevant .DLL's in the application's directory first (no hacky workarounds required! 😁 ).

How to get the DirectShow ASF codec, Windows Media Source Filter, and Windows Media Audio Decoder to work properly:
In order to get the music to not stutter, the .DLL has to be forced to load somehow.
The correct qasf.dll (v 6.03) must be with the application itself. Ford Racing 2 requires version 6.03 of the qasf.dll for the intro to play. Version 6.05 (64-bit version) shouldn't be used for any 32-bit application, like you said. Along with the correct qasf.dll, a .config or a .local file should be created in the directory where the application is located for the .dll to load.

The directory that the game was installed to must not be used, since the qasf.dll from SysWOW64 (or System32 if on a 32-bit operating system) will be used instead, you can rename the folder to something else if you prefer, for example: "Monopoly Tycoon ---> MonopolyTycoon". I am not sure what is affecting the way that both Ford Racing 2 and Monopoly Tycoon are loading .dlls, it could be the DMO wrapper filter being forced in a weird way.

The Windows Media Source Filter and Windows Media Audio Decoder must be used in conjunction with one another for the music to work and not stutter. Otherwise LAV Audio, or even worse DivX 3.11 can be used as a replacement.

Filename
QASF Patches.zip
File size
1.47 MiB
Downloads
50 downloads
File comment
Here are the files I used to get the music working in all three games so far. All are tested to work on Windows 7 Starter, Windows 7 Professional, Windows 10 Home, Windows 10 Pro.
File license
Fair use/fair dealing exception

I still however don't know how Test Drive 6 plays its music, the music works with the DivX 3.11 ACM though. Shame that you have to get a third-party codec for it.

Last edited by mrpenguinb on 2019-11-19, 00:27. Edited 2 times in total.

Reply 33 of 34, by Striker

User metadata
Rank Newbie
Rank
Newbie

Hello mrpenguinb,
first thank you very much for your awesome, unbelievable work you did fixing these games to get them working on modern systems.
I really would love to play Ford Racing 2 (I have the Nestle CD Version) with my 8 year old son.
He loves car racing games (like me) and this game is really nice since it supports multiplayer splitscreen racing with 2 keyboards on one computer with different key layout. My old computer with Windows XP runs the game but with low resolution and low fps.
I would like to play this game on a Zotac ZBOX mini PC 1,6 GHz built in AMD Radeon HD6310 on the TV in nice graphics and resolution.

I use Windows 10 Pro 64 Bit.
I have installed Ford Racing 2 form cue bin image and replaced the fr2.exe with the patched 4:3 version.

I downloaded your WMA Filter pack with the correct qasf.dll, wmadmod.dll, wmasf.dll, wmvcore.dll and I have msaud32.acm from Windows XP Pro 64 Bit SP2.
I placed msaud32.acm in c:\windows\system and c:\windows\SysWOW64
Please I am not skilled with registry and with all those system components.
Can you please explain for all noobs like me what I have exectly to do in the registry to get the game running on Windows 10 64 Bit?
My current game status is: The game starts, plays the intro nicely and then it stops with:
ERROR SOUNDSYS:1053: Time stamp in exported sound header file doesn't match that specified in the exported bank file.
Please tell step by step how to register the dll and msaud32.acm files.

Reply 34 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
Striker wrote on 2021-05-14, 20:20:
I would like to play this game on a Zotac ZBOX mini PC 1,6 GHz built in AMD Radeon HD6310 on the TV in nice graphics and resolut […]
Show full quote

I would like to play this game on a Zotac ZBOX mini PC 1,6 GHz built in AMD Radeon HD6310 on the TV in nice graphics and resolution.

I use Windows 10 Pro 64 Bit.
I have installed Ford Racing 2 form cue bin image and replaced the fr2.exe with the patched 4:3 version.

I downloaded your WMA Filter pack with the correct qasf.dll, wmadmod.dll, wmasf.dll, wmvcore.dll and I have msaud32.acm from Windows XP Pro 64 Bit SP2.
I placed msaud32.acm in c:\windows\system and c:\windows\SysWOW64
Please I am not skilled with registry and with all those system components.
Can you please explain for all noobs like me what I have exectly to do in the registry to get the game running on Windows 10 64 Bit?
My current game status is: The game starts, plays the intro nicely and then it stops with:
ERROR SOUNDSYS:1053: Time stamp in exported sound header file doesn't match that specified in the exported bank file.
Please tell step by step how to register the dll and msaud32.acm files.

What WMA Filter pack did you download? My music patch/fix I made only contains: qasf 6.03.dll, qasf 6.05.dll, msadds32.ax, dxmasf.dll, drmclien.dll and strmdll.dll.
Do not copy any files to System32 or SysWOW64 unless you are installing the music fix manually. Also, msaud32.acm isn't required for Ford Racing 2.
The only registry edit that needs to be done is to enable DLL Redirection to stop the music from stuttering.

How to install the WMA music fix automatically:

  • 1. Download the WM-Source-Filter-Installer-v1.7.zip (attached to this post below).
    2. Extract all the files manually otherwise right-click the .zip file and select Extract All.... to extract it automatically.
    3. Once you have extracted all the files, right-click the ApplyPatch.bat and select Run as administrator. There will be a Windows Smartscreen pop-up, select More info and Run anyway. Click Yes when prompted.
    4. If you get a red error message, it might mean that you didn't run the .bat file as administrator.
    5. If the text is green, the music fix has been successfully installed.

If the installer doesn't work for you, then you can optionally install the music fix manually:

  • 1. Download the WM-Source-Filter-Installer-v1.7.zip (attached to this post below).
    2. Extract all the files manually otherwise right-click the .zip file and select Extract All.... to extract it automatically.
    3. Go to C:\Windows\SysWOW64 and create a new folder called Windows-Media-Source-Filter
    4. Copy and paste drmclien.dll, dxmasf.dll and strmdll.dll from the music patch/fix to the new folder you created in SysWOW64.
    5. Go to the Start menu or Search bar in Windows and search for CMD. Right-click Command prompt and select Run as administrator. Select Yes when prompted.
    6. Type cd .., then cd SysWOW64, then cd Windows-Media-Source-Filter.
    7. Finally type regsvr32 dxmasf.dll
    8. If you get a success message, the .dll is registered resulting in the music fix being installed.

OPTIONAL
How to stop the music in-game from stuttering/jumping around (if it annoys you):

  • 1. Search Registry in the Start Menu or Search bar in Windows.
    2. Windows will prompt you if you want to open the Registry Editor. Select Yes.
    3. Browse to Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
    4. In the left-hand-side of the Registry Editor, select the folder (key) Image File Execution Options. Right-click and select New, select DWORD (32-bit) Value.
    5. Name the DWORD value DevOverrideEnable. Right-click the newly created DWORD value in the right-hand window-pane of the Registry Editor and select Modify.
    6. Insert 1 as the Value data and click OK.
    7. Copy the qasf 6.03.dll from the music patch (attached here below) to Ford Racing 2's game directory/folder. Rename the file to qasf.dll

Sources:
Microsoft - Dynamic Link Library (DLL) Redirection:
https://docs.microsoft.com/en-us/windows/win3 … ary-redirection

Attachments