VOGONS

Common searches


First post, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie

Hi, this is my first post on this forum. A game that I have nostalgia for is Monopoly Tycoon, sadly the music doesn't work on Windows Vista or later. So I spent a lot of time researching what could be the cause of the issue. Only recently I was able to get the game to play music properly again on Windows 10.
You can check out my blog post about it here: https://mcdebugrndmstuff.blogspot.com/2018/10 … -music-fix.html

The game uses DirectShow which is (obviously) depreceated in favor of Media Foundation. In order for music to play in the game, it uses the Windows Media Source Filter; dxmasf.dll along with some other .dll files (drmclien.dll, strmdll.dll). Using an API Monitor I found that the qasf.dll interferes with the playback, the game doesn't even require the WM ASF Writer and for some reason calls the qasf.dll continually.
In the end I had to delete qasf from SysWOW64, remove the stub 6KB dxmasf.dll from SysWOW64 and copy two other .dlls that the Windows Media Source Filter requires as well. All important DirectShow codec information is stored in the registry, so it doesn't matter where the .dll's are located; as long as dxmasf.dll is registered.

What a mess....
Does anyone know why the dxmasf.dll is only 6KB in SysWOW64 and System32?
I think it is safe to delete qasf unless you are using a DirectShow application that needs all the compatibility it can get, if so it probably breaks a lot! 😢
If anyone can contribute, much would be appreciated. It would be interesting to know how much people know about DirectShow and how it works fully.

Download the patch/fix here: https://mcdebugrndmstuff.blogspot.com/2018/10 … -music-fix.html

Extra reading & Documentation:
WM ASF Writer: https://docs.microsoft.com/en-us/windows/desk … f-writer-filter
Windows Media Source Filter Documentation: https://docs.microsoft.com/en-us/windows/desk … a-source-filter

EDIT: The new version of the patch does not override system components anymore, I DO not recommend deleting qasf.dll unless you absolutely need to. Deleting qasf.dll breaks Ford Racing 2 and causes plenty of other issues, it is mainly only a fix for Monopoly Tycoon's music skipping.

Last edited by mrpenguinb on 2019-09-22, 07:11. Edited 19 times in total.

Reply 1 of 34, by ZellSF

User metadata
Rank l33t
Rank
l33t

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.

I actually tried figuring out how to get music working in both Ford Racing 2 (another game that has a similar problem) and Monopoly Tycoon, but I couldn't figure it out. Nice work on that. You've also fixed Ford Racing 2 if that wasn't obvious.

Reply 2 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
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.

I actually tried figuring out how to get music working in both Ford Racing 2 (another game that has a similar problem) and Monopoly Tycoon, but I couldn't figure it out. Nice work on that. You've also fixed Ford Racing 2 if that wasn't obvious.

Amazing! 😲 There are probably still some other games out there that could require the Windows Media Source Filter codec. What did your investigations into fixing Monopoly Tycoon garner in the end? Did you know that it was using DirectShow? (took me a while to figure it out). I guess that Microsoft just want to push new applications to find new filters/codecs instead of relying on old ones that don't offer as much quality and clarity.
I put up some instructions on how to apply the fix for Monopoly Tycoon on PCGamingWiki: https://pcgamingwiki.com/wiki/Monopoly_Tycoon … shes_on_startup.

I basically went off on a limb and used a DirectShow Filter manager and removed all the filters and codecs that I could as possible on a Windows XP virtual machine and eventually the one that caused the error in the game was the WM Source Filter. I am still very pleased that at LEAST one other game benefited from the investigations I did. It frustrated me for a long time.

Reply 4 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
ZellSF wrote:

I realized I needed the DirectShow filters and the DLL files they relied on. I'm guessing I didn't get it working because since dxmasf.dll was already there, I assumed it was working.

Looks like people have been trying to fix this since 2012: Re: WMA source filter - has anyone found a solution?
Test Drive 6, Ford Racing 2, Monopoly Tycoon and maybe a few others games released around 1999-2005 might require the Windows Media Source Filter.
This fix is universal, anyone is free to download it right here: https://dl.dropbox.com/s/0fy4xcwkc24gjy4/Mono … ix-1.6.zip?dl=1
Enjoy! 😀

Reply 5 of 34, by VirtuaIceMan

User metadata
Rank Oldbie
Rank
Oldbie

This sounds promising, I'll give it a go later on the racing games that need it; better than using hacks and Windows Media player to play the music in the background!

My PC spec: Win10 64bit, i7-4970K (not overclocked), KFA2 GeForce RTX 2070 SUPER, Creative Soundblaster ZXr, 16GB RAM, Asus Z97-A motherboard, NZXT 410 case, ROG Swift GSYNC monitor

Reply 6 of 34, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie

To my knowledge there's nothing wrong with DirectShow itself on Windows 10.
It works as it should (correct me if I'm wrong).

There may be some codec used by the game missing (I know that Microsoft removed some obscure old codecs, so this might be the case) but this fix seems to be far more intrusive than it should be. Especially replacing system dlls might break other DirectShow applications, like media players.

Reply 7 of 34, by tgomola

User metadata
Rank Newbie
Rank
Newbie

OK, I have tested the patch with Test Drive 6 (on Windows 10) and it doesn't seem to work.

I deleted qasf.dll from c:\Windows\SYSWOW64, then I copied your patch to the game's folder. It still doesn't play the music. Then I ran ApplyPatch.bat as an admin, but it didn't help either. Am I missing something here?

BTW, the following lines are taken from the log which game generated:

Codec to play WMA files not found
Failed to start playing Music\GW2.wma

Similar lines appear two more times, with different WMA files quoted.

EDIT: I forgot to mention - I've also registered the .dll as you said.

Reply 8 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
tgomola wrote:
OK, I have tested the patch with Test Drive 6 (on Windows 10) and it doesn't seem to work. […]
Show full quote

OK, I have tested the patch with Test Drive 6 (on Windows 10) and it doesn't seem to work.

I deleted qasf.dll from c:\Windows\SYSWOW64, then I copied your patch to the game's folder. It still doesn't play the music. Then I ran ApplyPatch.bat as an admin, but it didn't help either. Am I missing something here?

BTW, the following lines are taken from the log which game generated:

Codec to play WMA files not found
Failed to start playing Music\GW2.wma

Similar lines appear two more times, with different WMA files quoted.

EDIT: I forgot to mention - I've also registered the .dll as you said.

Something has gone wrong then..... Open the DirectShow Filter Manager (DSFMgr.exe) as administrator and make sure that the Windows Media Source Filter is present in the list of codecs. Also make sure that you view the properties of the filter/codec cause that will tell you that it is indeed working properly.
I tried to replicate the steps you took and the music still worked for me regardless.
I don't recommend deleting the qasf.dll as that is only really a fix for Monopoly Tycoon's music playback issues (music tracks skip certain parts).
Feel free to contact me on Discord, my username is mrpenguinb#2839

Last edited by mrpenguinb on 2018-11-11, 04:39. Edited 2 times in total.

Reply 9 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
Azarien wrote:

To my knowledge there's nothing wrong with DirectShow itself on Windows 10.
It works as it should (correct me if I'm wrong).

There may be some codec used by the game missing (I know that Microsoft removed some obscure old codecs, so this might be the case) but this fix seems to be far more intrusive than it should be. Especially replacing system dlls might break other DirectShow applications, like media players.

The patch has been updated so that system .dll's never have to be overridden. You are basically adding an old "new" component to Windows now. Each time a sfc scan is done the .dll is replaced, so having the .dll replaced every time is not practical. (never should override system .dll's, it was a temporary solution to the problem since the patch had not been finalized yet at that time)

The batch file makes a new folder in C:\Windows\SysWOW64\ called Windows-Media-Source-Filter to keep it separated from the .dll's in SysWOW.

Reply 10 of 34, by VirtuaIceMan

User metadata
Rank Oldbie
Rank
Oldbie

Not sure what I'm doing(!) with this; I extracted zip, ran the bat with admin rights, it did stuff, then tried TD6 and no music. I put the files in the game folder and tried registering from there, still nothing (with that game in particular). Any tips/things I've done wrong (probably)?

My PC spec: Win10 64bit, i7-4970K (not overclocked), KFA2 GeForce RTX 2070 SUPER, Creative Soundblaster ZXr, 16GB RAM, Asus Z97-A motherboard, NZXT 410 case, ROG Swift GSYNC monitor

Reply 12 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie

I will have to do some more testing with Test Drive 6 on a fresh install of Windows. I am not sure what you could be doing wrong exactly, but make sure that the other .dll's are present in the same directory as the ApplyPatch.bat. The text in the console should be green, if it is red then something went wrong. To verify if the Windows Media Source Filter codec is present, open the DSFMgr.exe as Administrator and see if it is in the list.

Using the DirectShow Filter Manager, view the properties of the Windows Media Source Filter in the codec list and then view the Filter settings to see if it is working properly; it won't be working if an error pops-up, there should be a window with plenty of check-boxes to tick. This will tell you if the codec is functional.

EDIT: I have found the reason why the music doesn't work, you have to install the DivX audio compression manager https://www.videohelp.com/download/divx_3.11alpha.zip 😀

Last edited by mrpenguinb on 2018-11-12, 05:41. Edited 2 times in total.

Reply 13 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
ZellSF wrote:

Test Drive 6 doesn't work for me either. I'm guessing it does something different than the two others.

Test Drive 6 (and Monopoly Tycoon) used to use an old audio compression manager (ACM) that would allow the music to function correctly in certain cases. In Test Drive 6's case, the qasf.dll and the built-in Windows audio codecs are not enough anymore to keep it working (vaguely similar to Monopoly Tycoon).
You can get the DivX 3.11 ACM here: https://www.videohelp.com/download/divx_3.11alpha.zip

I made this observation a while ago when I made this thread, I completely forgot to mention it, whoops. It is very crucial for music playback in Monopoly and Test Drive 6.
These still however seem to be separate issues entirely, Test Drive 6 used to work fine on Windows XP with music. Monopoly has issues with the qasf.dll on XP, it also does not require the DivX ACM (audio compression manager) at all on Windows Vista/10+. An ACM is missing I would assume. 😕 😵

Reply 15 of 34, by VirtuaIceMan

User metadata
Rank Oldbie
Rank
Oldbie

Confirmed TD6 works for me. The music takes quite a long time to start playing, mind you. I had to install DivX 3.11 with Administrator rights, or it wouldn't copy files across.

My PC spec: Win10 64bit, i7-4970K (not overclocked), KFA2 GeForce RTX 2070 SUPER, Creative Soundblaster ZXr, 16GB RAM, Asus Z97-A motherboard, NZXT 410 case, ROG Swift GSYNC monitor

Reply 16 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie
VirtuaIceMan wrote:

Confirmed TD6 works for me. The music takes quite a long time to start playing, mind you. I had to install DivX 3.11 with Administrator rights, or it wouldn't copy files across.

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). Test Drive 6 could be attempting to find a specific codec before it starts playing music, is the music meant to start quicker/earlier? If an application fails to find the necessary codec in Media Foundation then it falls back to DirectShow. Sorry for not telling you to run the DivX codec installer as administrator (I documented that step on PCGamingWiki however). Ford Racing 2's music still skips all over the place with the DIvX codec which has been a present issue since Windows XP afaik.

Reply 17 of 34, by UCyborg

User metadata
Rank Member
Rank
Member
mrpenguinb wrote:

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

mrpenguinb wrote:

EDIT: I have found the reason why the music doesn't work, you have to install the DivX audio compression manager https://www.videohelp.com/download/divx_3.11alpha.zip

Or instead of using some third party hacked alpha codec, you can use the real thing from Windows XP SP3; the file of interest is located at C:\Windows\system32\msaud32.acm

On the target system, copy it to C:\Windows\System32 (32-bit Windows) or C:\Windows\SysWOW64 (64-bit Windows), then register it:

32-bit Windows

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\drivers.desc]
"msaud32.acm"="Windows Media Audio Codec"

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Drivers32]
"msacm.msaudio1"="msaud32.acm"

64-bit Windows

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\drivers.desc]
"msaud32.acm"="Windows Media Audio Codec"

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows NT\CurrentVersion\Drivers32]
"msacm.msaudio1"="msaud32.acm"
Last edited by UCyborg on 2019-02-23, 12:28. 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 18 of 34, by mrpenguinb

User metadata
Rank Newbie
Rank
Newbie

😳 I really overlooked that ACM (Audio Compression Manager)......

Thank you for telling me about the ACM, I have discovered it before but at the time I didn't know what it was until much later. I didn't even fully realise that it was even missing. I should have picked that up.
Also, by the way I had to register the msadds.acm file instead of msaud32.acm (not sure what the difference is).

With the ACM in place, now the old qasf.dll from Windows 95 works! That means no more work arounds for Monopoly Tycoon, so games that require the .dll for playing music will work properly now! The new qasf.dll uses the WM ASF Reader/writer filter I think, so that interferes and causes odd behaviors in certain situations. Ford Racing 2's music has stopped skipping too! The final piece is now in place for all games that require the Windows Media Source Filter so they work properly now (even perfectly).

Reply 19 of 34, by VirtuaIceMan

User metadata
Rank Oldbie
Rank
Oldbie

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 😀

My PC spec: Win10 64bit, i7-4970K (not overclocked), KFA2 GeForce RTX 2070 SUPER, Creative Soundblaster ZXr, 16GB RAM, Asus Z97-A motherboard, NZXT 410 case, ROG Swift GSYNC monitor