764 karma · joined May 25, 2020
https://news.ycombinator.com/item?id=23313577
https://news.ycombinator.com/item?id=31112273
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.
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 :)
Yup! That's why I didn't have to create a gazillion passthrough functions.
The original DLL in my modern Windows installation has these 8 exports:
DirectInputCreateA
DirectInputCreateEx
DirectInputCreateW
DllCanUnloadNow
DllGetClassObject
DllRegisterServer
DllUnregisterServer
The game only calls DirectInputCreateA, and the rest happens via the COM object that that function creates.The VS2008 version purged all API information regarding pre-Windows 2000.
Unless you mean NT3.1 of course :^)
but you're right, win16 can only load some 32-bit PE files through something like Win32s
"Unsafe code allows to express the following, which is UB:"
We now have HUGE (/s) advancements in Notepad, like tabs and uh... Copilot
https://en.cppreference.com/w/c/language/union
> When initializing a union, the initializer list must have only one member, which initializes the first member of the union unless a designated initializer is used(since C99).
https://en.cppreference.com/w/c/language/struct_initializati...
→ = {0} initializes the first union variant, and bytes outside of that first variant are unspecified. Seems like GCC 15.1 follows the 26 year old standard correctly. (not sure how much has changed from C89 here)
The gains become relevant in bulk processing.
Maybe I'm missing something, but for the server side it's only crates that help you build your own server, no direct integration with any system, be it Windows or otherwise.
https://stackoverflow.com/questions/13683563/whats-the-diffe...
SQLite _does_ support strict column types since 3.37: https://www.sqlite.org/stricttables.html
I wonder why this is not available on PCs. tREFI tuning has a big impact on performance, and having an automated guided optimization based on temperature would be nice.
https://en.wikipedia.org/wiki/Paradox#Veridical_paradox
(also https://www.youtube.com/watch?v=ppX7Qjbe6BM for a 40min video discussing the weird usages of the word "paradox")