Support for Micro Machines V3

General information and assistance with dgVoodoo.

Support for Micro Machines V3

Postby sean_skroht » 2017-12-14 @ 21:42

I have been trying to get dgVoodoo2 to work with Micro Machines V3 but have been unsuccessful. Running Windows 10 with nVidia GTX980 graphics card.

Initially I had trouble getting Micro Machines to work in Windows 10 as it would crash when loading a race. I realized the issue was that the game couldn't select 320x240 resolution so I had to go to the nVidia drivers and manually create 320x240@60 resolution and that fixed the issue.

Unfortunately in Windows 10 the game seems to run in software graphics mode (not 100% sure) and therefore seems to have reduced colour, missing shadows and lighting effects. When you start a race it initially runs in 320x240 but after the race starts you press F7 to change into 640x480.

I have attached two pictures. One shows MMV3 running with Voodoo acceleration in DOSBox Daum and the other shows it running natively in Windows 10. Was just wondering if it was possible to add support for this game in dgVoodoo2. I would much rather just be able to play it in Win 10. Thanks heaps.
Attachments
MMV3_Win10.jpg
MMV3 in Win 10.
MMV3_Voodoo.jpg
MMV3 with Voodoo.
sean_skroht
Newbie
 
Posts: 16
Joined: 2007-9-21 @ 15:17

Re: Support for Micro Machines V3

Postby Dege » 2017-12-19 @ 17:39

I tried this game with dgVoodoo and got to the following:

- The game freezes at startup if too many resolutions are enumerated to it, so I had to disable default resolutions in the config and add 320x240 and 640x480 as extra enumerated ones (320x240 is used for sw rendering, 640x480 is for hw rendering)
- Even with that, dgVoodoo has some incompatibility with MS DDraw in the deep details which prevents the game from starting up, but I've fixed that
- Now the game run in sw rendered mode, for menus and ingame (and indeed, F7 raises the resolution to 640x480)
- The game executable also needed some patching to get D3D accelration to work: the part checking the hw capabilities might have worked for very old cards but incompatible with modern ones. After that, I got it running with hw acceleration too, without any problems (quick test)

So, the fix will be included in the next WIP, and I'll also make the patched exe public.
Dege
Oldbie
 
Posts: 1300
Joined: 2003-9-04 @ 11:06

Re: Support for Micro Machines V3

Postby ZellSF » 2017-12-19 @ 20:02

Dege wrote:I tried this game with dgVoodoo and got to the following:

- The game freezes at startup if too many resolutions are enumerated to it, so I had to disable default resolutions in the config and add 320x240 and 640x480 as extra enumerated ones (320x240 is used for sw rendering, 640x480 is for hw rendering)
- Even with that, dgVoodoo has some incompatibility with MS DDraw in the deep details which prevents the game from starting up, but I've fixed that
- Now the game run in sw rendered mode, for menus and ingame (and indeed, F7 raises the resolution to 640x480)
- The game executable also needed some patching to get D3D accelration to work: the part checking the hw capabilities might have worked for very old cards but incompatible with modern ones. After that, I got it running with hw acceleration too, without any problems (quick test)

So, the fix will be included in the next WIP, and I'll also make the patched exe public.

Fantastic news. I'm really curious about why the part checking hw capabilities is broken for this game though, any chance you have time to elaborate?
ZellSF
Oldbie
 
Posts: 1199
Joined: 2006-1-01 @ 18:19

Re: Support for Micro Machines V3

Postby Dege » 2017-12-19 @ 21:39

Yes: old D3D rendering devices can support 8,16,24 and 32 bit depth buffers. Each of them are indicated by separate flags (bits) in a descriptor structure.
They can be combined together to indicate supporting e.g. both 16 and 24 bit (altough, it must be admitted that DX SDK is unambigous about that).

This game however checks only for bit patterns describing exactly one of them supported, as if the flags were mutually exclusive.
So, I guess this worked for very old cards like a 3Dfx one driven through D3D which only supported 16 bit, but not for newer ones.
Also, the game allows even pure 32 bit z-buffers, but when it chooses such a format then later it always clears the z-buffer with zeroes, producing only a totally blank screen.
It must be an untested code path since I'm sure there was no hw supporting 32 bit z-buffer when this game was written. Works fine with 16 and 24 bit though. So, I modified checking the bit pattern and cut 32 bit out to prevent blank screen.

Even detecting if a D3D device is hw accelerated or not is very weird: the game searches for substrings like 'Hardware', 'hardware', 'HARDWARE' and 'HAL' in the device description string. :D
But why, when there are flags indicating that in the descriptor...
Dege
Oldbie
 
Posts: 1300
Joined: 2003-9-04 @ 11:06

Re: Support for Micro Machines V3

Postby sean_skroht » 2017-12-20 @ 06:13

This is indeed excellent news. Thank you very very much Dege.
sean_skroht
Newbie
 
Posts: 16
Joined: 2007-9-21 @ 15:17

Re: Support for Micro Machines V3

Postby Dege » 2017-12-25 @ 15:38

Ok, here is the patched exe:

http://dege.fw.hu/Patches/MicroMachinesV3.zip

It should work with WIP41. Don't forget to disable default resolutions and add the needed ones manually as extra ones.
Dege
Oldbie
 
Posts: 1300
Joined: 2003-9-04 @ 11:06

Re: Support for Micro Machines V3

Postby sean_skroht » 2017-12-28 @ 23:42

Thank you very much for this! Works perfectly!

Just incidentally how did you install it on 64 bit Windows? I believe it has a 16bit installer and so a while back I had to install it in a 32bit VM, copy all the files over as well as the registry entry to my 64bit installation.

Also for anyone who cares, I managed to get MMV3 to run fullscreen without the window title bar by installing the Windows Compatibility Toolkit from the latest "Windows Assessment and Deployment Kit" from Microsoft and following these steps:

• Run the Compatibility Administrator
• Select New Database (1) and press Fix
• Fill in the vendor name and the program name, as well as the location of the program. Press next.
• Press Next again.
• Select fix DXPrimaryEmulation
• Click Parameters, enter: -DisableMaxWindowedMode and press OK.
• Press Next.
• Press Finish.
• Press Save, select the database name and save location.
• Press File - Install
sean_skroht
Newbie
 
Posts: 16
Joined: 2007-9-21 @ 15:17

Re: Support for Micro Machines V3

Postby Dege » 2017-12-29 @ 09:14

Great!

It has a 32 bit installer, I didn't need a VM for this one.
Maybe forcing the setup app into Win98 mode was needed, cannot remember.
Dege
Oldbie
 
Posts: 1300
Joined: 2003-9-04 @ 11:06

Re: Support for Micro Machines V3

Postby stranno » 2017-12-29 @ 16:57

It looks fantastic in HD but it feels a bit slower than 64 Turbo. I guess it is another crappy PSX emulation-port :-/

Image

Image

Image
User avatar
stranno
Member
 
Posts: 100
Joined: 2016-2-28 @ 19:55

Re: Support for Micro Machines V3

Postby sean_skroht » 2017-12-29 @ 22:29

Dege wrote:Great!

It has a 32 bit installer, I didn't need a VM for this one.
Maybe forcing the setup app into Win98 mode was needed, cannot remember.


OK cool, thanks for that! I'll double check my copy, could be I've forgotten and getting confused with another game.

EDIT: Yep it does indeed install fine in 64bit Windows.
Last edited by sean_skroht on 2017-12-30 @ 23:52, edited 1 time in total.
sean_skroht
Newbie
 
Posts: 16
Joined: 2007-9-21 @ 15:17

Re: Support for Micro Machines V3

Postby sean_skroht » 2017-12-29 @ 23:10

stranno wrote:It looks fantastic in HD


Indeed it does. Can't believe after all these years I can finally play it again like this but also in 1080p.
sean_skroht
Newbie
 
Posts: 16
Joined: 2007-9-21 @ 15:17


Return to dgVoodoo General

Who is online

Users browsing this forum: No registered users and 1 guest