VOGONS


S3d wrappers

Topic actions

Reply 140 of 155, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
RaVeN-05 wrote on 2025-12-25, 11:49:

https://bad-sector.itch.io/post-apocalyptic-petra

Contains S3D API version of the game but only need to be compiled. Might be interesting to someone )

P.S. Please point me to MSI Wrapper thread

As far as I remember the conversation happened in Sharangad's "other" thread, not the Rready one. They might know

previously known as Discrete_BOB_058

Reply 143 of 155, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie
davidmorom wrote on 2025-02-10, 11:18:
Hello everyone! Thank you very much, vvbee, for this project, and congratulations for your work. It is always amazing to see new […]
Show full quote

Hello everyone! Thank you very much, vvbee, for this project, and congratulations for your work. It is always amazing to see new projects of this kind.

I spent some time debugging Destruction Derby and, despite my limited skills, I made some interesting discoveries I want to share with everyone in this thread.

In first place, I made a proper No-CD patch that retains the ability to play music tracks from any inserted CD-ROM, either on a real unit or a virtual one. Of course it still works with no CD-ROM inserted and even if the system has no CD-ROM units at all (the original patch fails to launch in this case). It can even be used with a winmm wrapper to play the tracks from ripped files on the hard disk, I tested it with the one included in DxWnd (which is, by far, the best that I'm aware of).

The following patch is mean to be applied to the original DD.exe executable from the CD-ROM, or the No-Diamond patched one. Do not apply it to the old No-CD patched one, it won't work as expected. With an hexadecimal editor, make the following changes:

  • At 0x786F change 55 89 E5 with 33 C0 C3
  • At 0xB293 change 75 5E with 90 90

In second place, I made a patch that allows the game to be executed on Win10/11 (XP should work t0o) without requiring the handle exceptions trick from DxWnd/DxWrapper or the IgnoreExceptions compatibility shim. Upon launching, the game tries to execute some CLI/STI instructions, which are privileged ones, and should never be executed by userland processes (Windows 95 was crazy times). The following patches NOP these instructions, preventing the exception that makes the game crash:

  • At 0x25782 change E8 41 24 FE FF with 90 90 90 90 90
  • At 0x258FF change E8 C6 22 FE FF with 90 90 90 90 90

The above patches, combined with WineD3D 10.1 as DirectDraw wrapper and the s3dtkw.ini file configured at 640x480 and limited to 60 fps, allows the game to be run on Win10/11 flawlessly. I tested it on Win10 22H2 with modern hardware (Intel Gen 12th CPU and a 4070 GPU) and a Win11 VMware virtual machine, and everything seems to work fine.

If the game crashes at launch with a memory write error, disable any compatibility modes that could be enabled. If the problem persists, try to rename the executable to anything else, as sometimes Windows insists to automatically apply compatibility settings (specially if the process crashed before).

DDrawCompat 0.5.3 can also be used instead of Wine3D3, but it has a very annoying issue. Sometimes when loading the menu or a race, the image freezes but the game continue to work in background (you can tell by the sound and game responding to key presses, but the image stays still). When this happen, press shift+f11 to enter the DDrawCompat setting menu and change the RenderColorDepth parameter to any other value, this will temporarily fix the issue until the next race is loaded.

Also tested dgVoodoo and CnC-DDraw, both of them cause a memory write error at launch. This is probably easy to fix, but I have no DirectX skills, so I can't debug it. Anyway, WineD3D seems to work perfectly.

If anyone tries any of the above patches, It would be great to have more feedback.

its very good work, and unfortunatelly crashes on my windows after playing ~6 minutes.

@vvbee any plans to improve for UFO-SE and CARDS support? two games on your web desktop site

FX Fighter Turbo would be good to be supported, as its exclusive to s3d api version.

Havoc dosenot work under Windows 10, always complains that there is missing cdrom

POD Gold 2.0 doesnot run in Windows 10

Mech Warrior 2 doesnot work under Win10

Terracide Demo, unresponding at start under win10

Time Warriors , cant run setup, win16 unsupported on win64

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 144 of 155, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
RaVeN-05 wrote on 2026-01-23, 12:08:
its very good work, and unfortunatelly crashes on my windows after playing ~6 minutes. […]
Show full quote
davidmorom wrote on 2025-02-10, 11:18:
Hello everyone! Thank you very much, vvbee, for this project, and congratulations for your work. It is always amazing to see new […]
Show full quote

Hello everyone! Thank you very much, vvbee, for this project, and congratulations for your work. It is always amazing to see new projects of this kind.

I spent some time debugging Destruction Derby and, despite my limited skills, I made some interesting discoveries I want to share with everyone in this thread.

In first place, I made a proper No-CD patch that retains the ability to play music tracks from any inserted CD-ROM, either on a real unit or a virtual one. Of course it still works with no CD-ROM inserted and even if the system has no CD-ROM units at all (the original patch fails to launch in this case). It can even be used with a winmm wrapper to play the tracks from ripped files on the hard disk, I tested it with the one included in DxWnd (which is, by far, the best that I'm aware of).

The following patch is mean to be applied to the original DD.exe executable from the CD-ROM, or the No-Diamond patched one. Do not apply it to the old No-CD patched one, it won't work as expected. With an hexadecimal editor, make the following changes:

  • At 0x786F change 55 89 E5 with 33 C0 C3
  • At 0xB293 change 75 5E with 90 90

In second place, I made a patch that allows the game to be executed on Win10/11 (XP should work t0o) without requiring the handle exceptions trick from DxWnd/DxWrapper or the IgnoreExceptions compatibility shim. Upon launching, the game tries to execute some CLI/STI instructions, which are privileged ones, and should never be executed by userland processes (Windows 95 was crazy times). The following patches NOP these instructions, preventing the exception that makes the game crash:

  • At 0x25782 change E8 41 24 FE FF with 90 90 90 90 90
  • At 0x258FF change E8 C6 22 FE FF with 90 90 90 90 90

The above patches, combined with WineD3D 10.1 as DirectDraw wrapper and the s3dtkw.ini file configured at 640x480 and limited to 60 fps, allows the game to be run on Win10/11 flawlessly. I tested it on Win10 22H2 with modern hardware (Intel Gen 12th CPU and a 4070 GPU) and a Win11 VMware virtual machine, and everything seems to work fine.

If the game crashes at launch with a memory write error, disable any compatibility modes that could be enabled. If the problem persists, try to rename the executable to anything else, as sometimes Windows insists to automatically apply compatibility settings (specially if the process crashed before).

DDrawCompat 0.5.3 can also be used instead of Wine3D3, but it has a very annoying issue. Sometimes when loading the menu or a race, the image freezes but the game continue to work in background (you can tell by the sound and game responding to key presses, but the image stays still). When this happen, press shift+f11 to enter the DDrawCompat setting menu and change the RenderColorDepth parameter to any other value, this will temporarily fix the issue until the next race is loaded.

Also tested dgVoodoo and CnC-DDraw, both of them cause a memory write error at launch. This is probably easy to fix, but I have no DirectX skills, so I can't debug it. Anyway, WineD3D seems to work perfectly.

If anyone tries any of the above patches, It would be great to have more feedback.

its very good work, and unfortunatelly crashes on my windows after playing ~6 minutes.

@vvbee any plans to improve for UFO-SE and CARDS support? two games on your web desktop site

FX Fighter Turbo would be good to be supported, as its exclusive to s3d api version.

Havoc dosenot work under Windows 10, always complains that there is missing cdrom

POD Gold 2.0 doesnot run in Windows 10

Mech Warrior 2 doesnot work under Win10

Terracide Demo, unresponding at start under win10

Time Warriors , cant run setup, win16 unsupported on win64

I had better results. Terracide probably doesn't use the S3d api, although it has the S3tkw dlls iirc.

FX Fighter turbo probably had screen flashing in battle, POD Gold was probably okay, Mech2 had 1/3rd of the screen 'melted'. Croc didn't run and I dont remember Havoc and Time Warriors. Maybe I wrote previously in this thread

previously known as Discrete_BOB_058

Reply 145 of 155, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

I don't know which of the six or so different S3d wrappers you're talking about, but they're all for Windows 9x. I'm sure the DLLs will run on other versions but the games won't.

Reply 146 of 155, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

I tried general wrapper and each specially designed for game.
I get it, so it's games very problematic to run on new windowses.

I see only DD is semi fixed.

Wondering if anyone tried to run those games too and or fix them.

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 147 of 155, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

s3d2sw supports S3d 2.6, intended for modern developers. You'll have to verify what API version your software is using, but as a rule all original S3d titles are excluded. The game specific wrappers work if you meet the game's system requirements, otherwise you can look into the many compatibility wrappers.

Reply 149 of 155, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Without watching the video I assume they're doing direct hardware programming. If developers had done this you wouldn't be enjoying wrappers.

Reply 150 of 155, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

86box already supports couple of S3 virge various video cards emulation, the wrappers is easier to use (+usability, +speed, +features above original hw, -compatibility), emu is harder and longer to setup, (-speed, -usability, +accuracy, +compatibility).
For me wrappers is adventage.

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 151 of 155, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

It comes down to convenience. For me it's easier to tell you to use Windows 9x so I don't have to do any debugging of Windows 10 issues, which I have no interest in doing. For Havoc I'd go with Linux and Wine since you need a fast CPU. Maybe Win98 in VirtualBox with a universal display driver.

Reply 153 of 155, by RaVeN-05

User metadata
Rank Oldbie
Rank
Oldbie

Win98 is very difficult for VirtualBox in terms of support and drivers. Failed.
WinXP is much better.
so tested on WinXP. Guess its better to boot my real Win98 PC for that.
results on WinXP:
Croc: Legend of the Gobbos didn't see s3dtkw even if i put in registry s3_win key. X
Destruction Derby. can't start even with fixed dd.exe and ayapi.dll. X
FX Fighter Turbo. S3D Version hangs immediately black screen. X
Havoc. Works Perfectly Woohoo and i enjoy it. V
MechWarrior 2: 31st Century Combat. Didn't startup. X
POD. Didn't startup. X
Terracide. hangs immediately black screen. X
Time Warriors. Can't force s3d api. X
UFO-SE. nearly perfect, sometimes flickering. V
Cards. nearly perfect, sometimes flickering. V

So In general Windows 9x is really needed for these games.

https://www.youtube.com/user/whitemagicraven
https://go.twitch.tv/whitemagicraventv

Reply 154 of 155, by BEEN_Nath_58

User metadata
Rank l33t
Rank
l33t
RaVeN-05 wrote on 2026-01-25, 19:32:
Win98 is very difficult for VirtualBox in terms of support and drivers. Failed. WinXP is much better. so tested on WinXP. Guess […]
Show full quote

Win98 is very difficult for VirtualBox in terms of support and drivers. Failed.
WinXP is much better.
so tested on WinXP. Guess its better to boot my real Win98 PC for that.
results on WinXP:
Croc: Legend of the Gobbos didn't see s3dtkw even if i put in registry s3_win key. X
Destruction Derby. can't start even with fixed dd.exe and ayapi.dll. X
FX Fighter Turbo. S3D Version hangs immediately black screen. X
Havoc. Works Perfectly Woohoo and i enjoy it. V
MechWarrior 2: 31st Century Combat. Didn't startup. X
POD. Didn't startup. X
Terracide. hangs immediately black screen. X
Time Warriors. Can't force s3d api. X
UFO-SE. nearly perfect, sometimes flickering. V
Cards. nearly perfect, sometimes flickering. V

So In general Windows 9x is really needed for these games.

Did you try the SoftGPU drivers with Win98?

previously known as Discrete_BOB_058

Reply 155 of 155, by vvbee

User metadata
Rank Oldbie
Rank
Oldbie

Like I said yesterday, you're using the wrong wrapper in most cases so Windows 9x won't help you. Stick with the game specific wrappers on supported platforms, leave s3d2sw for when you're writing your own S3d code.