Live data from Hacker News

Why Castrol Honda Superbike crashes on (most) modern systems

seri.tools

21–30 of 36 posts

Re: Why Castrol Honda Superbike crashes on (most) modern systems

#21
I have had very bad success rate with my old Windows CDROM/DVD era games. Pretty much all of them either have some kind of DRM or they run but with bugs.

When available I just buy the GOG versions instead, but even those versions sadly often have issues.

Meanwhile slightly older games from the DOS era works perfectly everywhere thanks to DOSBox. I would love to see something like that for old Windows. Merge DOSBox with WINE, someone?

Re: Why Castrol Honda Superbike crashes on (most) modern systems

#22

I have had very bad success rate with my old Windows CDROM/DVD era games. Pretty much all of them either have some kind of DRM or they run but with bugs. When available I just buy the GOG versions instead, but even those versions sadly often have issues. Meanwhile slightly older games from the DOS era works perfectly everywhere thanks to DOSBox. I would love to see something like that for old Windows. Merge DOSBox wi…

You can run Windows 95 in DOSBox. You could also just run WINE which runs most old games.

Re: Why Castrol Honda Superbike crashes on (most) modern systems

#24

I have had very bad success rate with my old Windows CDROM/DVD era games. Pretty much all of them either have some kind of DRM or they run but with bugs. When available I just buy the GOG versions instead, but even those versions sadly often have issues. Meanwhile slightly older games from the DOS era works perfectly everywhere thanks to DOSBox. I would love to see something like that for old Windows. Merge DOSBox wi…

You can use WineD3D for Windows.

Re: Why Castrol Honda Superbike crashes on (most) modern systems

#25
post #15

Earlier quoted context omitted.

The author linked to the repo and the code is at https://github.com/seritools/castrol-honda-dinput-fix/blob/m... Seems pretty straightforward. They hook DirectInputCreateA() and pass their own device enumeration wrapper with the offending flag removed.

The flag DIDEVTYPE_JOYSTICK was added by this fix not removed. The idea is, rather than handle up to 8 devices, otherwise UB and usually crash, handle up to 8 "joysticks" and disregard any beyond that.

I'd just use WineD3D in this case; I'm sure there's dinput.dll too ported to Wine for Windows.

Re: Why Castrol Honda Superbike crashes on (most) modern systems

#26

I have had very bad success rate with my old Windows CDROM/DVD era games. Pretty much all of them either have some kind of DRM or they run but with bugs. When available I just buy the GOG versions instead, but even those versions sadly often have issues. Meanwhile slightly older games from the DOS era works perfectly everywhere thanks to DOSBox. I would love to see something like that for old Windows. Merge DOSBox wi…

Usually dgVoodoo handles most of the games (that don't have actual bugs like this game) fairly well.

Otherwise, 86Box is a pretty good full-system emulator for everything up to the early 3D era.

As for DRM, there's various ways around it of course :)

Re: Why Castrol Honda Superbike crashes on (most) modern systems

#27
post #23

Why an extra DLL instead of just patching the game executable? With some luck it is a one byte patch (from push 0 to push 4).

Because I felt like it :) Also works for multiple versions/patchlevels.

But yeah, with the info provided it should be patchable. It's a `push esi` though, where esi has to stay 0 for a few further usages, so it's a bit more than a one-byte patch. It also wouldn't fully resolve the OOB write in the rare case where you _do_ have 9+ game controllers connected.

Re: Why Castrol Honda Superbike crashes on (most) modern systems

#29

> Microsoft has only kept the documentation for the DX8 version of EnumDevices left online This saddens me. Who knows how much valuable info has been lost. I recall back in the days of MSDN, we had docs back to early Windows, and it was a wonderful historical record. Today's Docs site seems to keep info only for a few versions.

Also of note Valve's Proton only goes back to DX8. Versions prior to that were considered not worth it.

Re: Why Castrol Honda Superbike crashes on (most) modern systems

#30
post #23

Why an extra DLL instead of just patching the game executable? With some luck it is a one byte patch (from push 0 to push 4).

I feel like this is a cleaner solution. As a user you don't have to faff around running a whole application just to change 3 bytes. Just drop this file in and go.
Post reply on HN