There was special code to fix a bug in the original SimCity on Windows 95

There was special code to fix a bug in the original SimCity on Windows 95
Written by admin

Backwards compatibility on the PC is easy to take for granted, so much so that we rarely use the term “backwards compatibility”. Most older games will just work, and there’s usually a compatibility mode built into Windows or DOSBox for everything.

As an old blog post by a former Microsoft programmer explains, this didn’t happen by accident. When Microsoft wanted users to switch to Windows 95, for example, they went so far as to add custom code that looked for SimCity and, if it worked, changed how memory allocation worked so that the game wouldn’t crash.

The blog post Written by Joel Spolsky in May 2000, but recently rediscovered podcaster and game developer Kal Yoshika on Twitter. Spolsky writes of the “chicken-and-egg problem” that causes users to adopt platforms that don’t have a lot of software, and software developers to produce software for platforms that don’t have a lot of users. Microsoft’s solution, he says, was to make sure older software worked, including SimCity.

“Windows 95? No problem. Nice new 32-bit API, but it still ran old 16-bit software perfectly. Microsoft rushed this and spent a big chunk of change testing every old program they could find with Windows 95.” , – writes Spolsky. “John Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where it read the memory he had just freed. Yes. It worked fine on Windows 3.x because the memory didn’t go anywhere .

“Here’s the amazing part: In beta versions of Windows 95, SimCity didn’t run in testing. Microsoft caught the bug and added special code to Windows 95 that looks for SimCity. If it finds SimCity running, it starts a memory allocator. A special mode that doesn’t immediately free up memory . It’s the temptation for backwards compatibility that drives people to upgrade to Windows 95.”

We’ve always worked in different ways to highlight the difficult ways games are made, and I like this reminder of all the invisible work that goes into keeping games playable long after they’re finished.

If you want more of that, you can explore the Twitter thread linked above for a few more examples. Apparently, the original Final Fantasy 7 would crash if it ran on Windows NT instead of Windows 95, so Windows would lie to FF about what operating system it was actually running on.

About the author


Leave a Comment