Windows 95 had dedicated code to run Sim City(pcgamer.com) |
Windows 95 had dedicated code to run Sim City(pcgamer.com) |
Impressive; now, if only we could trick them into considering "privacy" a core feature and add "backward compatibility" for it in newest Windows releases, we'd be golden.
Doesn't matter if they are Microsoft PMs that got this prioritized or nerdy gamers that originally surfaced this issue, or sympathetic programmers that created the "fix" in this form (hey lets just change the default behavior of the memory allocator/de-allocator/whatever)
I'm sure this straight up would not happen at Apple, today, for example. Challenge for the audience to surface counterexamples!
Ross wrote Sim City 2000 https://www.mobygames.com/developer/sheet/view/developerId,7...
The story is indeed about Sim City 2000. Funnily enough this bug is also present in DOS version of the game. Dude who hacked together "DOS32AWE - DOS/4G compatible DOS Extender with Sound Blaster AWEUTIL MIDI synthesizer support for Protected mode,VIASB" https://www.vogons.org/viewtopic.php?f=62&t=83065 rediscovered this independently.
It also manifests when trying to run Sim City 2000 using DOS32A instead of DOS/4GW https://www.vogons.org/viewtopic.php?t=24929
As a commenter over there suggested, you could always use "a modified executable from the Internet".
I'm similarly struggling to see the value in breaking old games because new versions exist.
But Microsoft worshipping at the alter of backwards compatibility has caused them to move at a glacial pace compared to Apple.
Apple not worshipping at the same alter allowed it to remove 32 bit support from the OS and actual processor which meant:
- duplicate versions of shared libraries weren’t taking up RAM or storage which were both at a premium on mobile devices that have operating systems that don’t support swap
- allowed then to have faster, smaller, more energy efficient processors that allowed them to ship phones where their cheapest phones are still two years ahead in terms of performance than competitors most expensive phones
- the same thing above means that MacBooks can have 20 hours of battery life, don’t sound like a 747 when you open 4 Chrome tabs and don’t run hot.
Microsoft completely missed mobile and their ARM laptops are so crappy that it’s faster to run x86 Windows apps running the ARM version of Windows in a VM on a Mac than running on one of the few ARM Windows computers.
All engineering choices have trade offs. Because of backwards compatibility, there are almost a dozen ways to represent a string in C depending on which API you call
https://learn.microsoft.com/en-us/cpp/text/how-to-convert-be...
This by itself has caused security issues over the years.
https://devblogs.microsoft.com/oldnewthing/
https://www.amazon.com/Old-New-Thing-Development-Throughout/...
Fairly widely read also by Joel on this topic: https://www.joelonsoftware.com/2004/06/13/how-microsoft-lost... (not the article cited on Twitter; links to Chen's posts sadly broken)
The only reason I "upgraded" my Windows last time was exactly because Microsoft broke compatibility (some new app required the latest version of whatever library that wasn't backported).