VOGONS


First post, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

I am trying to us dgVoodoo2 to run ATI X1800 series demos on my Nvidia hardware. However the demos crash both with and without dgVoodoo2. Can you look into it?

The two demos are "The Assassin" and "Toy Shop" and can be downloaded from https://soggi.org/video-cards/tech-demos.htm

previously known as Discrete_BOB_058

Reply 1 of 16, by Dege

User metadata
Rank l33t
Rank
l33t

Those demos renders utilizes a vertex component format that is not supported by NV hw. But it should work with dgVoodoo (internal virtual card).
Anyway, a file named error.txt should always be written by the demo, you can check that out as well as dgV error messages (dbg version).

Reply 2 of 16, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Dege wrote on 2022-07-05, 10:45:

Those demos renders utilizes a vertex component format that is not supported by NV hw. But it should work with dgVoodoo (internal virtual card).
Anyway, a file named error.txt should always be written by the demo, you can check that out as well as dgV error messages (dbg version).

Thank you, I have attached them:

previously known as Discrete_BOB_058

Reply 3 of 16, by Dege

User metadata
Rank l33t
Rank
l33t

"Out of videomemory" error in the log...
Increase the VRAM amount in the dgv config.

Reply 4 of 16, by darry

User metadata
Rank l33t++
Rank
l33t++

Texture memory needs to be set to 512MB (more will probably work too), but the default of 256MB is insufficient allows me to reproduce the error .

EDIT : is 256MB the default ?

OP's error :

//=====================================================
// ATI Sushi Error Log Created 7/5/2022 5:13 pm
//=====================================================
[AwFn.cpp] (line 2892): D3DAw Error: AwTexImage2D - Unable to create texture object
[SuTexture.cpp] (line 3196): ERROR: Unable to load texture: color 'S:/Demos/R500/Ruby3/Art/sourceimages/optico/FaceBodSkinCombine_color_2048.bmp' alpha 'S:/Demos/R500/Ruby3/Art/sourceimages/optico/FaceBodSkinCombine_Spec_2048.bmp'
[SuTexture.cpp] (line 3198): width: 2048 height: 2048 bitdepth: 32 compressed: 5 mipmapped: 1
[SuTexture.cpp] (line 3202): bytesPerImage: 5592432 totalBytes: 5592432
[SOLInternals.cpp] (line 489): ERROR: Unable to load texture!
[SOLObjectManager.cpp] (line 546): ERROR: Unable to load static textures!
[Main.cpp] (line 1098): Normal Application Exit

My reproduced error :

//=====================================================
// ATI Sushi Error Log Created 7/5/2022 10:42 am
//=====================================================
[AwFn.cpp] (line 2892): D3DAw Error: AwTexImage2D - Unable to create texture object
[SuTexture.cpp] (line 3196): ERROR: Unable to load texture: color 'S:/Demos/R500/Ruby3/Art/sourceimages/optico/FaceBodSkinCombine_color_2048.bmp' alpha 'S:/Demos/R500/Ruby3/Art/sourceimages/optico/FaceBodSkinCombine_Spec_2048.bmp'
[SuTexture.cpp] (line 3198): width: 2048 height: 2048 bitdepth: 32 compressed: 5 mipmapped: 1
[SuTexture.cpp] (line 3202): bytesPerImage: 5592432 totalBytes: 5592432
[SOLInternals.cpp] (line 489): ERROR: Unable to load texture!
[SOLObjectManager.cpp] (line 546): ERROR: Unable to load static textures!
[Main.cpp] (line 1098): Normal Application Exit

Reply 5 of 16, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

Oops my bad. When I changed the VRAM, I changed the card to something else too and thus the game didn't work. Now it is working fine. Cheers! 5 years of using dgVoodoo2 is still never enough!

previously known as Discrete_BOB_058

Reply 6 of 16, by Firtasik

User metadata
Rank Oldbie
Rank
Oldbie

Toy Shop won't load unlike The Assassin.

Error.txt almost empty:

//=====================================================
// ATI Sushi Error Log Created 7/5/2022 9:43 pm
//=====================================================

11 1 111 11 1 1 1 1 1 11 1 1 111 1 111 1 1 1 1 111

Reply 7 of 16, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Firtasik wrote on 2022-07-05, 19:54:

Toy Shop won't load unlike The Assassin.

Error.txt almost empty:

//=====================================================
// ATI Sushi Error Log Created 7/5/2022 9:43 pm
//=====================================================

I was about to post this one as well, but when I was making a deubugview log, the demo launched.

If you noticed correctly, the demo didn't end with Exiting Demo message but it ended abruptly.

So prbably you should use DebugView and dgVoodoo2 debug build to log the details of what's happening (and post here for a mature solution)

previously known as Discrete_BOB_058

Reply 8 of 16, by darry

User metadata
Rank l33t++
Rank
l33t++
BEEN_Nath_58 wrote on 2022-07-06, 05:23:
I was about to post this one as well, but when I was making a deubugview log, the demo launched. […]
Show full quote
Firtasik wrote on 2022-07-05, 19:54:

Toy Shop won't load unlike The Assassin.

Error.txt almost empty:

//=====================================================
// ATI Sushi Error Log Created 7/5/2022 9:43 pm
//=====================================================

I was about to post this one as well, but when I was making a deubugview log, the demo launched.

If you noticed correctly, the demo didn't end with Exiting Demo message but it ended abruptly.

So prbably you should use DebugView and dgVoodoo2 debug build to log the details of what's happening (and post here for a mature solution)

Running it ( SushiDX.exe ) in Windows XP SP3 compatibility mode fixes it for me .

Reply 9 of 16, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
darry wrote on 2022-07-06, 05:34:
BEEN_Nath_58 wrote on 2022-07-06, 05:23:
I was about to post this one as well, but when I was making a deubugview log, the demo launched. […]
Show full quote
Firtasik wrote on 2022-07-05, 19:54:

Toy Shop won't load unlike The Assassin.

Error.txt almost empty:

I was about to post this one as well, but when I was making a deubugview log, the demo launched.

If you noticed correctly, the demo didn't end with Exiting Demo message but it ended abruptly.

So prbably you should use DebugView and dgVoodoo2 debug build to log the details of what's happening (and post here for a mature solution)

Running it ( SushiDX.exe ) in Windows XP SP3 compatibility mode fixes it for me .

The demo gets PCA set on itself after a few crash. So by that theory, if you remove the XP SP3 compatibility mode, the demo will still work. To make it crash again, rename the executable to something else, such as "defrsjnhigkbtr.exe"

Last edited by BEEN_Nath_58 on 2022-07-06, 07:10. Edited 1 time in total.

previously known as Discrete_BOB_058

Reply 10 of 16, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t

Removed: log had issues.

Last edited by BEEN_Nath_58 on 2022-07-06, 09:24. Edited 1 time in total.

previously known as Discrete_BOB_058

Reply 11 of 16, by darry

User metadata
Rank l33t++
Rank
l33t++
BEEN_Nath_58 wrote on 2022-07-06, 07:08:
darry wrote on 2022-07-06, 05:34:
BEEN_Nath_58 wrote on 2022-07-06, 05:23:

I was about to post this one as well, but when I was making a deubugview log, the demo launched.

If you noticed correctly, the demo didn't end with Exiting Demo message but it ended abruptly.

So prbably you should use DebugView and dgVoodoo2 debug build to log the details of what's happening (and post here for a mature solution)

Running it ( SushiDX.exe ) in Windows XP SP3 compatibility mode fixes it for me .

The demo gets PCA set on itself after a few crash. So by that theory, if you remove the XP SP3 compatibility mode, the demo will still work. To make it crash again, rename the executable to something else, such as "defrsjnhigkbtr.exe"

Removing the XP SP3 compatibility mode makes it crash again. Putting it back fixes it . I have toggled a couple of times to confirm this .
EDIT : Setting Windows 8 compatibility or XP SP2 fixes it too . Again, if I toggle compatibility mode off, it crashes again in both cases .

Reply 12 of 16, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
darry wrote on 2022-07-06, 07:29:
BEEN_Nath_58 wrote on 2022-07-06, 07:08:
darry wrote on 2022-07-06, 05:34:

Running it ( SushiDX.exe ) in Windows XP SP3 compatibility mode fixes it for me .

The demo gets PCA set on itself after a few crash. So by that theory, if you remove the XP SP3 compatibility mode, the demo will still work. To make it crash again, rename the executable to something else, such as "defrsjnhigkbtr.exe"

Removing the XP SP3 compatibility mode makes it crash again. Putting it back fixes it . I have toggled a couple of times to confirm this .
EDIT : Setting Windows 8 compatibility or XP SP2 fixes it too . Again, if I toggle compatibility mode off, it crashes again in both cases .

Ok that confirms it, it's PCA doing this, but not writing that PCA is enabled to registry. Let's see what dgVoodoo2 can do to remove this issue as well. If you use ACT, it is probable that selecting all the Windows 8 shims instead of the compatibility mode directly will cause this issue to still occur.

I updated my log, earlier one had issues. Mr Dege please check this one instead:

previously known as Discrete_BOB_058

Reply 13 of 16, by Dege

User metadata
Rank l33t
Rank
l33t

I forgot that this demo has a memory overwrite bug so when initializing, it either survives or not, depending on the randomized address space addresses.
Anyway, I patched it some time ago for myself for debugging purposes.

Change bytes in the executable at offset 0x1643 from

8B 44 24 74 8B 4C 24 78 56 89 44 24 10 0F BF F1 0F BF C0 0F AF F0

to

56 8D 74 24 78 AD 89 44 24 10 0F BF C8 AD 98 8D 70 03 0F AF F1 91

and it should run without any compatibility mode set and with any file name.
There is a rendering issue with this demo that I didn't dig into. Also, rendering technique of water droplet stripes does not like forced resolution AFAIR.

Reply 14 of 16, by Firtasik

User metadata
Rank Oldbie
Rank
Oldbie

It runs fine after hex editing.👍

11 1 111 11 1 1 1 1 1 11 1 1 111 1 111 1 1 1 1 111

Reply 15 of 16, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
Dege wrote on 2022-07-06, 13:46:
I forgot that this demo has a memory overwrite bug so when initializing, it either survives or not, depending on the randomized […]
Show full quote

I forgot that this demo has a memory overwrite bug so when initializing, it either survives or not, depending on the randomized address space addresses.
Anyway, I patched it some time ago for myself for debugging purposes.

Change bytes in the executable at offset 0x1643 from

8B 44 24 74 8B 4C 24 78 56 89 44 24 10 0F BF F1 0F BF C0 0F AF F0

to

56 8D 74 24 78 AD 89 44 24 10 0F BF C8 AD 98 8D 70 03 0F AF F1 91

and it should run without any compatibility mode set and with any file name.
There is a rendering issue with this demo that I didn't dig into. Also, rendering technique of water droplet stripes does not like forced resolution AFAIR.

Ok it is working fine now. Did the memory overwrite bug affect the original intended OS (XP as well)?
I look forward for the rendering issue to be fixed which apparently I haven't noticed yet.

previously known as Discrete_BOB_058

Reply 16 of 16, by Dege

User metadata
Rank l33t
Rank
l33t

Memory overwrite bug is always a bug under any OS. XP might have had a kind of fault tolerant heap allocator, I don't know.
But anyway, the demo itself runs (mostly) with fault-tolerant-heap compatibility option applied.