4 ms·
> On beta versions of Windows 95, SimCity wasn’t working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity
by yakattak 4y ago
> On beta versions of Windows 95, SimCity wasn’t working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn’t free memory right away. That’s the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95.
This would be pretty hacky by todays standards but looking at it now it just seems like an engineer was doing what was easiest to get the job done. Not condoning it of course but it’s fascinating nonetheless.
- Arainach 4y agoThere's nothing easy about appcompat shims - diagnosing them, implementing them, or testing them. It involves preserving and testing all sorts of parallel code paths. It was about doing the only thing possible - software developers were often out of business, never interested in fixing the bugs themselves, and never capable of distributing the fixed versions to customers before the days where you could assume constant internet access (and still not entirely then)
- Sakos 4y agoRaymond Chen's blog addresses this a lot. The reason why they did this was because even if it wasn't their fault, people would blame Microsoft for breaking things. Since they can't force third-party developers to fix their broken code or to stop using weird hacks, they chose the best option available to them. Fix it themselves. I don't see how they did anything wrong or why it wouldn't still be one of the best solutions today. And honestly, it often still is the best or even the only solution today. There's only so much we have control over, no matter who we are.
- eternityforest 4y agoI still think it's a wonderful solution. If your code CAN make something work, then you do, because nobody else will, and people will be happy their old stuff still works.
- bombcar 4y agoShims still exist because even now with auto-updating you can’t be sure everyone is running updated software, and if you know how to handle what is causing the issue, you may want to do it. The largest shim, of course, is an entire virtual machine.
- npteljes 4y agoShit like this is constantly done in graphics card drivers too. https://gamedev.stackexchange.com/questions/44947/why-do-gpus-require-game-specific-drivers https://gamedev.stackexchange.com/questions/44947/why-do-gpu...