Tech demos - general discussion

General information and assistance with dgVoodoo.

Re: Tech demos - general discussion

Postby lowenz » 2017-3-13 @ 00:12

It's the best solution and really an elegant one :D
lowenz
Oldbie
 
Posts: 794
Joined: 2014-12-20 @ 01:30

Re: Tech demos - general discussion

Postby teleguy » 2017-3-13 @ 01:14

CoolGamer wrote:

Matrox G200 Tech Demo (DX5)
http://soggi.eu/video-cards/tech-demos.htm
http://toastytech.com/files/Is3Engine.zip

This G200 demo probably uses a simpler version of the same engine that G400 demo uses. You need to use 32bit version of InstallShield3 setup32.exe to install it. It has a GPU name check which can be easily turned off using Ollydbg, but after that it starts giving initialization errors.



I got around the initialization error. Unfortunately with the current dgVoodoo WIP it only shows the menu but closes when you click the "Start" button.

However using Wined3d allows launching the actual demo.

Matrox.png

Matrox2.png


There is no video of this demo on the internet so its visuals are a big mystery.


Not anymore.
https://youtu.be/FEy377dApaI
Last edited by teleguy on 2017-3-13 @ 10:34, edited 3 times in total.
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby teleguy » 2017-3-13 @ 01:16

Here are the necessary files.
Attachments
Wined3d.zip
(1.35 MiB) Downloaded 27 times
MatroxG200-patched.zip
(203.46 KiB) Downloaded 24 times
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby teleguy » 2017-3-13 @ 02:52

Attachments
DDrawCompat.zip
(420.87 KiB) Downloaded 21 times
Last edited by teleguy on 2017-3-14 @ 19:43, edited 1 time in total.
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby CoolGamer » 2017-3-13 @ 16:10

Wow, G200 tech demo video looks great. I am glad that it did not turn out to be a simple demo with a 3D soda can on a table :happy: . Water shaders look great for a DX5 demo. It provides a good opportunity to fix DX5 related bugs in dgVoodoo WIP31.

I had no luck getting the G200 tech demo to work on my Windows 7 Ultimate 64bit OS via WineD3D or via DDrawCompat. I also tried Application Compatibility Toolbox. Application just hangs when I use WineD3D. DDrawCompat gives a Visual C++ function call error.
CoolGamer
Newbie
 
Posts: 79
Joined: 2017-1-14 @ 17:22

Re: Tech demos - general discussion

Postby Dege » 2017-3-13 @ 20:56

teleguy wrote:
CoolGamer wrote:

Matrox G200 Tech Demo (DX5)
http://soggi.eu/video-cards/tech-demos.htm
http://toastytech.com/files/Is3Engine.zip

This G200 demo probably uses a simpler version of the same engine that G400 demo uses. You need to use 32bit version of InstallShield3 setup32.exe to install it. It has a GPU name check which can be easily turned off using Ollydbg, but after that it starts giving initialization errors.



I got around the initialization error. Unfortunately with the current dgVoodoo WIP it only shows the menu but closes when you click the "Start" button.

However using Wined3d allows launching the actual demo.

Matrox.png

Matrox2.png


There is no video of this demo on the internet so its visuals are a big mystery.


Not anymore.
https://youtu.be/FEy377dApaI


DllMain again... :dead:
Code: Select all
    DDraw.dll!DDrawFunctions::DirectDrawEnumerateA(int(__stdcall*)(_GUID *, char *, char *, void *) lpCallback, void * lpContext) Line 232   C++
    DDraw.dll!DirectDrawEnumerateA(int(__stdcall*)(_GUID *, char *, char *, void *) lpCallback, void * lpContext) Line 147   C++
>   Matrox.vd!10002c3d()   Unknown
    [Frames below may be incorrect and/or missing, no symbols loaded for Matrox.vd]   
    [External Code]   
    Matrox.exe!00412b1e()   Unknown
    Matrox.exe!00412c5e()   Unknown
    Matrox.exe!0040483a()   Unknown
    [External Code]   
Dege
Oldbie
 
Posts: 980
Joined: 2003-9-04 @ 11:06

Re: Tech demos - general discussion

Postby Nucleoprotein » 2017-3-13 @ 21:39

@Dege
You tried to pin your DLL ? ie. create thread inside your DllMain and in that thread call GetModuleHandleEx to 'self' with GET_MODULE_HANDLE_EX_FLAG_PIN - https://msdn.microsoft.com/en-us/librar ... 00(v=vs.85).aspx it can be little unsafe trough.
Nucleoprotein
Newbie
 
Posts: 97
Joined: 2016-7-02 @ 20:53

Re: Tech demos - general discussion

Postby teleguy » 2017-3-13 @ 22:24

CoolGamer wrote:
I had no luck getting the G200 tech demo to work on my Windows 7 Ultimate 64bit OS via WineD3D or via DDrawCompat. I also tried Application Compatibility Toolbox. Application just hangs when I use WineD3D. DDrawCompat gives a Visual C++ function call error.


Indeed, the demo doesn't seem to work at all with Wined3d on Windows 7 and I tried lots of different versions. Also, as far as I can tell, AMD seems to do better than Nvidia, I noticed a wrapper isn't even needed!
(Looks like SingleProcAffinity is necessary for WineD3D to work. The demo can still take a while to launch even with that.)
G200 Tech Demo CompatFix.zip
SingleProcAffinity Fix
(863 Bytes) Downloaded 7 times



I've done a few more tests and these are my findings:

Windows XP (Virtual Machine):

WineD3D (1.7.52 or older) ->working ( http://downloads.fdossena.com/Projects/ ... 1.7.52.zip )
DDrawCompat ->incompatible
Win 95 mode ->not working


Windows 7 64 bit / R9 290X:

WineD3D (multiple versions)->exe does nothing or keeps eating up more and more ram
DDrawCompat ->working
Win 95 mode/ no wrapper ->working

Windows 10 64 bit / R9 290X:

WineD3D ->working
DDrawCompat ->working
Win 95 mode / no wrapper ->working

Windows 10 64 bit / GTX 1070:

WineD3D (multiple versions)->exe does nothing or keeps eating up more and more ram
DDrawCompat (test release) ->exe closes itself
DDrawCompat (0.2.1) ->Visual C++ error
Win 95 mode / no wrapper ->Visual C++ error
Win 95 mode + DDrawCompat ->working at last!


EDIT: I was able to make WineD3D work on my Windows 7 AMD and my Windows 10 Nvidia system by adding Mesa's Opengl32.dll to the demo folder and selecting "backbuffer" as "Offscreen Rendering" mode in wined3dcfg.cpl but performance is poor.
https://www.dropbox.com/s/4cp63htqn5eye ... 2.zip?dl=0
wined3dcfg.zip
(25.36 KiB) Downloaded 10 times
Last edited by teleguy on 2017-3-14 @ 21:50, edited 4 times in total.
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby CoolGamer » 2017-3-13 @ 23:07

STMicroElectronics Kyro II Tech Demos (DX7)
(I think this was the chipset of old Hercules 3D cards)
http://soggi.eu/video-cards/tech-demos.htm
http://web.archive.org/web/200202070254 ... temple.htm


All 4 of the demos crash via dgVoodoo WIP31. Toon Demo (Cartoon/Cel-Shading), Still Life Demo (Hatching shader) and Temple Demo run fine natively on Windows 7. Energy demo only runs via WineD3D (a little buggy and slow). Energy demo uses DX7 Environmental Bump Mapping (EMBM) and has a PDF file that explains the EMBM render function!!! Temple demo has multiple effects (particle system, multi-texturing, bump map, light map, environment map, detail map, etc.). You can press the "Alt" key to bring the menu in these demos.

Temple demo runs on all GPUs. Other demo Exe files have a GPU name check which can be easily turned off using Ollydbg. Just extract all zip files into the same folder using 7zip (WinRar and Winzip do not work). Each demo consists of a single file, an executable. All four Exe files are further compressed using UPX (link below). You can extract them using the following command "upx.exe -d demoname.exe". After that its easy to hook the debugger.
https://github.com/upx/upx/releases/dow ... px393w.zip

I feel like there is one minor bug in WIP31 that is causing all these crashes in demos. Once you sort it out we will be in directx conformance Nirvana with the next WIP build :happy: .
CoolGamer
Newbie
 
Posts: 79
Joined: 2017-1-14 @ 17:22

Re: Tech demos - general discussion

Postby teleguy » 2017-3-14 @ 01:51

Dege wrote:
DllMain again... :dead:
Code: Select all
    DDraw.dll!DDrawFunctions::DirectDrawEnumerateA(int(__stdcall*)(_GUID *, char *, char *, void *) lpCallback, void * lpContext) Line 232   C++
    DDraw.dll!DirectDrawEnumerateA(int(__stdcall*)(_GUID *, char *, char *, void *) lpCallback, void * lpContext) Line 147   C++
>   Matrox.vd!10002c3d()   Unknown
    [Frames below may be incorrect and/or missing, no symbols loaded for Matrox.vd]   
    [External Code]   
    Matrox.exe!00412b1e()   Unknown
    Matrox.exe!00412c5e()   Unknown
    Matrox.exe!0040483a()   Unknown
    [External Code]   


Where's UCyborg when you need him? :-D
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby teleguy » 2017-3-14 @ 16:12

CoolGamer wrote:

I had no luck getting the G200 tech demo to work on my Windows 7 Ultimate 64bit OS via WineD3D or via DDrawCompat. I also tried Application Compatibility Toolbox. Application just hangs when I use WineD3D. DDrawCompat gives a Visual C++ function call error.


BTW did you check DDrawCompat's log?
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby teleguy » 2017-3-14 @ 18:32

..................
Last edited by teleguy on 2017-3-14 @ 21:21, edited 1 time in total.
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby CoolGamer » 2017-3-14 @ 20:54

Teleguy, I tried the SingleProcAffinity compatibility fix that you posted but could not get G200 tech demo to run with WineD3D or DDrawCompat. I posted the DDrawCompat log below, but as you can see the log is not very helpful. Dege's next WIP build is my only hope at the moment :happy: .

Code: Select all
Process path: C:\Games\Temp\MGAG200TechDemo\Matrox.exe
Environment variable __COMPAT_LAYER = ""
Loading DDrawCompat from C:\Games\Temp\MGAG200TechDemo\DDRAW.DLL
DDrawCompat loaded successfully
Installing registry hooks
Installing Direct3D driver hooks
Installing DirectDraw hooks
Hooking user mode display driver: "nvd3dum.dll"
Installing Direct3D hooks
Installing GDI hooks
Finished installing hooks
Detaching DDrawCompat
DDrawCompat detached successfully
CoolGamer
Newbie
 
Posts: 79
Joined: 2017-1-14 @ 17:22

Re: Tech demos - general discussion

Postby UCyborg » 2017-3-14 @ 21:28

There's something really awful about that G200 Tech Demo. Can't be fixed by dgVoodoo, needs some serious patching. Sorry, my DllMain patch alone won't do, it crashes in D3D11.dll. Seems to be making DDraw calls on DLL_THREAD_ATTACH, disabling thread notifications just makes it exit with code 1. Seems to be working natively with teleguy's patched exe alone + Win10 + Win95VersionLie from Compatibility Administrator + NVIDIA GTX 750 Ti driver version 368.81.

G400 Tech Demo doesn't work here, crashes with dgVoodoo or without when I launch it, except without dgVoodoo crashpoint is ntdll.dll and the main executable otherwise.
Last edited by UCyborg on 2017-3-14 @ 21:49, edited 2 times in total.
UCyborg
Member
 
Posts: 122
Joined: 2015-9-04 @ 11:10

Re: Tech demos - general discussion

Postby teleguy » 2017-3-14 @ 21:44

CoolGamer

The SingleProcAffinity fix was not intended specifically for your problem but is needed in general even for the cases I reported working earlier. I had forgotten I had applied it to the tech demo a few weeks ago, just noticed about it today and only mentioned it for completeness sake. That still didn't make the demo run on my Windows 7 through WineD3D though, however I sort of found a workaround, see my edits to this
post viewtopic.php?f=59&t=51790&start=100#p569999
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby teleguy » 2017-3-15 @ 22:10

CoolGamer wrote:Teleguy, I tried the SingleProcAffinity compatibility fix that you posted but could not get G200 tech demo to run with WineD3D or DDrawCompat. I posted the DDrawCompat log below, but as you can see the log is not very helpful. Dege's next WIP build is my only hope at the moment :happy: .



I added UCyborg's Win95VersionLie and a few other options and now got WineD3D working flawlessly on my Win 7 AMD and Windows 10 Nvidia systems (without using that Opengl32.dll).

Can you uninstall the previous profile, then test the new profile1 alone, with DDrawCompat and WineD3D and then do the same for profile2 ?

PS: Launching the demo takes a while on WineD3D so give it some time. However it's usually a good sign when a blank icon appears in the taskbar or the screen goes black.
Attachments
G200 Tech Demo Compatibility Profile1.zip
(1.01 KiB) Downloaded 11 times
G200 Tech Demo Compatibility Profile2.zip
(959 Bytes) Downloaded 9 times
Last edited by teleguy on 2017-3-15 @ 22:20, edited 1 time in total.
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby teleguy » 2017-3-15 @ 22:13

UCyborg wrote: Seems to be working natively with teleguy's patched exe alone + Win10 + Win95VersionLie from Compatibility Administrator + NVIDIA GTX 750 Ti driver version 368.81.


I tried that. Unfortunately I still can't run the demo natively on my Nvidia system. :depressed:

Edit: Driver version 369.09.
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

Re: Tech demos - general discussion

Postby Dege » 2017-3-16 @ 08:21

I open this topic for discussing general problems of running various tech demos, and ways to fix them.
If an issue or solution is not directly related to a specific dgVoodoo (WIP) version (or dgVoodoo at all) then please post it here.
Dege
Oldbie
 
Posts: 980
Joined: 2003-9-04 @ 11:06

Re: Tech demos - general discussion

Postby CoolGamer » 2017-3-16 @ 13:45

Teleguy, thanks for your help. I got the G200 demo to work on my Windows 7 Ultimate 64bit os with Nvidia GT230M. Test results are below.

Test Results:
Without a compatibility profile I could not get the G200 tech demo to work no matter what I tried.

profile 1 on its own, application crashes with Visual C++ function call error

profile 1 + DDrawCompat works!!! (This is the best option for me at the moment)

profile 1 + wined3d works!!! (but crashes at exit when I press the Escape key)

Profile 1 + winded3d + wined3dcfg.cpl + opengl32 works but slow.


There is a problem with Profile 2, it gives an error during installation that says "Error could not open SDB". I think the SDB file got corrupted somehow. If you fix it, I will edit this post and add the test results for Profile 2.
CoolGamer
Newbie
 
Posts: 79
Joined: 2017-1-14 @ 17:22

Re: Tech demos - general discussion

Postby teleguy » 2017-3-16 @ 17:14

Thanks for the test results. The only difference between the profiles is that with profile 2 Matrox.exe runs in admin mode. This was required on my Nvidia system, otherwise the graphics would leave a trail behind, see screenshot. But since you don't have that problem it's not really necessary. And of course users can easily enable that mode themselves if needed.



.
Attachments
Matrox.jpg
teleguy
Member
 
Posts: 354
Joined: 2004-2-28 @ 18:54

PreviousNext

Return to dgVoodoo General

Who is online

Users browsing this forum: Google [Bot] and 1 guest