Microsoft wanted people to have zero reasons not to upgrade to Windows 95. That meant making sure <em>SimCity Classic</em> worked, with some memory-reading workarounds.
Enlarge / Microsoft wanted people to have zero reasons not to upgrade to Windows 95. That meant making sure SimCity Classic worked, with some memory-reading workarounds.

There are a lot of interesting things that can be learned about old operating systems. Sometimes those things were documented in a post that still exists. Someone noticed that Microsoft made sure that popular apps worked on Windows 95.

There is an excerpt from a post by Fog Creek Software co-founder, Stack Overflow co- creator, and long-time software critic. Chicken-and-egg OS appeal and demand is the larger post. The part that caught the co- host's attention was how the Windows 3.1 version of SimCity worked on the Windows 95 system. Windows 95 was hyper-marketed because of it's merger ofMS-DOS and Windows applications. SimCity, which sold more than five million copies, needed to work without a hitch.

SimCity became Windows 95 ready without input from Maxis or user workarounds according to Spolsky's post.

Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here’s the amazing part: 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.

Spolsky considers this a credit to Microsoft and an example of how to break the chicken-and-egg problem.


It may have been a good idea for Windows developers to take a break to see how much tweaking they have to do for individual games and apps in Windows 95. You can find another example from the compatibility administrator in the assessment and deployment kit The compatibility fix "Win95VersionLie" will be implemented upon detecting files typically installed with Final Fantasy VII. It seems that simply telling the game that it's on Windows 95 fixes a major issue with its operation.

Just did it. Too cool.

An example for a game I still own - FF7 - will outright die if it sees it's running on Win NT instead of Win95, so Windows lies based on the presence of some files