| ▲ | dlcarrier 6 hours ago | ||||||||||||||||||||||||||||||||||||||||
SimCity had a read-after-free bug that Microsoft patched in Windows 95. That was a lot easier for customers than having Maxis fix it, which could have required exchanging copies of the game. | |||||||||||||||||||||||||||||||||||||||||
| ▲ | oceansky 2 hours ago | parent | next [-] | ||||||||||||||||||||||||||||||||||||||||
There's also the opposite effect, a windows security update broke GTA San Andreas because it relied on undefined behavior. https://silentsblog.com/2025/04/23/gta-san-andreas-win11-24h... | |||||||||||||||||||||||||||||||||||||||||
| ▲ | Cthulhu_ 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
It feels like graphics drivers do / did this a lot too. At the very least they make specific optimizations for specific games, probably by tweaking settings and features that the game developers didn't optimize properly themselves. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| ▲ | easyThrowaway 5 hours ago | parent | prev | next [-] | ||||||||||||||||||||||||||||||||||||||||
The most interesting part is that IIRC they shipped the entire Windows 3.11 memory allocator to make it work. I have very little understanding on how allocation works at OS level, but I'm surprised there are no wrappers like dgVoodoo or dxWrapper specifically for this kind of issues. There are quite a bunch of old Windows games (Need for Speed 1-4 for a start) that refuse to run on modern OSes due to rather...bold memory management strategies. | |||||||||||||||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||||||||||||||
| ▲ | DonHopkins 4 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||||||||||||||
A story I heard at Sun, which may be apocryphal but was fucking hilarious enough to be a repeatable rumor, was that a release of an early operating system in BETA was determined to be solid and tested and ready to release and ship to customers, so they simply changed the version string from something like "SunOS2.1BETA" to "SunOS2.1FCS" (First Customer Ship), and recompiled. But the change from a 12 character version to an 11 character version threw off the alignment of some important data structures somewhere in the kernel, and the entire OS ran MUCH SLOWER because of 68k unaligned memory accesses! | |||||||||||||||||||||||||||||||||||||||||