DirectShow Fix - Windows Media Source Filter - Ford Racing 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Getting old Windows games working.

DirectShow Fix - Windows Media Source Filter - Ford Racing 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby mrpenguinb » 2018-10-29 @ 09:34

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/2 ... c-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. NOTE: You can also just put the .dlls in the game's folder and register dxmasf.dll so that the operating system and programs never get interfered by the process (applications might still look for the Windows Media Source Filter though).

What a mess....
How would I stop the application from using qasf.dll?
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! :depressed:
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://dl.dropbox.com/s/0fy4xcwkc24gjy ... 6.zip?dl=1

WM ASF Writer: https://docs.microsoft.com/en-us/window ... ter-filter
Windows Media Source Filter Documentation: https://docs.microsoft.com/en-us/window ... rce-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 2018-11-11 @ 05:46, edited 8 times in total.
mrpenguinb
Newbie
 
Posts: 11
Joined: 2018-10-29 @ 08:11

Re: Monopoly Tycoon - DirectShow Music Fix

Postby ZellSF » 2018-10-29 @ 19:29

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.
ZellSF
Oldbie
 
Posts: 1200
Joined: 2006-1-01 @ 18:19

Re: Monopoly Tycoon - DirectShow Music Fix

Postby mrpenguinb » 2018-10-30 @ 06:12

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! :exclamation: 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_ ... 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.
mrpenguinb
Newbie
 
Posts: 11
Joined: 2018-10-29 @ 08:11

Re: Monopoly Tycoon - DirectShow Music Fix

Postby ZellSF » 2018-10-30 @ 11:57

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.
ZellSF
Oldbie
 
Posts: 1200
Joined: 2006-1-01 @ 18:19

Re: Monopoly Tycoon - DirectShow Music Fix

Postby mrpenguinb » 2018-10-31 @ 04:56

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: viewtopic.php?f=9&t=50270&p=532859&hilit=WMA#p532859
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/0fy4xcwkc24gjy ... 6.zip?dl=1
Enjoy! :happy:
mrpenguinb
Newbie
 
Posts: 11
Joined: 2018-10-29 @ 08:11

Re: DirectShow Fix - Windows Media Source Filter - Ford Racer 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby VirtuaIceMan » 2018-11-09 @ 15:30

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) MSI Nvidia GeForce GTX 980, Creative Soundblaster ZXr, 16GB RAM, Asus Z97-A motherboard, NZXT 410 case, ROG Swift GSYNC monitor
User avatar
VirtuaIceMan
Oldbie
 
Posts: 894
Joined: 2003-12-22 @ 00:57

Re: DirectShow Fix - Windows Media Source Filter - Ford Racer 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby Azarien » 2018-11-09 @ 21:51

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.
Azarien
Oldbie
 
Posts: 579
Joined: 2015-5-14 @ 07:14

Re: DirectShow Fix - Windows Media Source Filter - Ford Racer 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby tgomola » 2018-11-09 @ 23:56

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:

Code: Select all
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.
tgomola
Newbie
 
Posts: 84
Joined: 2010-1-26 @ 01:38

Re: DirectShow Fix - Windows Media Source Filter - Ford Racer 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby mrpenguinb » 2018-11-11 @ 02:49

tgomola wrote: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:

Code: Select all
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.
mrpenguinb
Newbie
 
Posts: 11
Joined: 2018-10-29 @ 08:11

Re: DirectShow Fix - Windows Media Source Filter - Ford Racer 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby mrpenguinb » 2018-11-11 @ 02:51

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.
mrpenguinb
Newbie
 
Posts: 11
Joined: 2018-10-29 @ 08:11

Re: DirectShow Fix - Windows Media Source Filter - Ford Racing 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby VirtuaIceMan » 2018-11-11 @ 21:54

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) MSI Nvidia GeForce GTX 980, Creative Soundblaster ZXr, 16GB RAM, Asus Z97-A motherboard, NZXT 410 case, ROG Swift GSYNC monitor
User avatar
VirtuaIceMan
Oldbie
 
Posts: 894
Joined: 2003-12-22 @ 00:57

Re: DirectShow Fix - Windows Media Source Filter - Ford Racing 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby ZellSF » 2018-11-11 @ 22:56

Test Drive 6 doesn't work for me either. I'm guessing it does something different than the two others.
ZellSF
Oldbie
 
Posts: 1200
Joined: 2006-1-01 @ 18:19

Re: DirectShow Fix - Windows Media Source Filter - Ford Racing 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby mrpenguinb » 2018-11-11 @ 22:59

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 :happy:
Last edited by mrpenguinb on 2018-11-12 @ 05:41, edited 2 times in total.
mrpenguinb
Newbie
 
Posts: 11
Joined: 2018-10-29 @ 08:11

Re: DirectShow Fix - Windows Media Source Filter - Ford Racing 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby mrpenguinb » 2018-11-12 @ 00:13

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. :confused: :dead:
mrpenguinb
Newbie
 
Posts: 11
Joined: 2018-10-29 @ 08:11

Re: DirectShow Fix - Windows Media Source Filter - Ford Racing 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby tgomola » 2018-11-12 @ 22:26

Installing DivX 3.11 did the trick! Music works in TD6 now :D
tgomola
Newbie
 
Posts: 84
Joined: 2010-1-26 @ 01:38

Re: DirectShow Fix - Windows Media Source Filter - Ford Racing 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby VirtuaIceMan » 2018-11-13 @ 01:39

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) MSI Nvidia GeForce GTX 980, Creative Soundblaster ZXr, 16GB RAM, Asus Z97-A motherboard, NZXT 410 case, ROG Swift GSYNC monitor
User avatar
VirtuaIceMan
Oldbie
 
Posts: 894
Joined: 2003-12-22 @ 00:57

Re: DirectShow Fix - Windows Media Source Filter - Ford Racing 2, Test Drive 6, Monopoly Tycoon + more games fixed!

Postby mrpenguinb » 2018-11-13 @ 01:53

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.
mrpenguinb
Newbie
 
Posts: 11
Joined: 2018-10-29 @ 08:11


Return to Windows

Who is online

Users browsing this forum: No registered users and 2 guests