Windows95には、SimCityバグを修正するためのユニークなコードがありました

画像:マキシス

ユーザーがWindows 95に切り替えるように求められたとき、後方の互換性は、顔の前でぶら下がっているニンジンの1つでした。これは、Windows 3.xで以前に探索された機能であり、Microsoftは次世代のオペレーティングシステムに持ち越したかったことも望んでいました。

ただし、Twitterユーザーとしてカル・ヨシカ(そしてウェブサイトロックペーパーショットガン)最近、元Microsoftプログラマーによる古いブログで掘り下げましたジョエル・スポルスキー、これを機能させることはまったく簡単ではありませんでした。

舞台裏では、誰かがこれらの奇妙で小さなエッジケースを解決し、特注のソリューションを作成してビデオゲームライブラリを予想通り実行する努力に進まなければなりませんでした。Simcity

この例では、MaxisのSimCityのWindows 3.xバージョンに取り組んだ開発者であるJon Rossが誤ってメモリバグを残しました。これはWindows 3.xでは問題ではなく、SimCityはまだ実行できます。意図していますが、Windows 95では、テスターを動作させるのが困難でした。 Microsoftのスタッフは、問題から遠ざかるのではなく、バグを狩り始めるために自分自身にそれを取り、最終的にそのゲームのためにメモリの割り当ての仕組みを変更するための特別なコードを追加しました。

Spolskyは書いていますブログで

「Windows 95?問題ありません。素敵な新しい32ビットAPIですが、それでも古い16ビットソフトウェアを完璧に実行しました。これに夢中になり、Windows 95で見つけることができるあらゆる古いプログラムをテストするための大きな塊を費やしました。 SimCity for Windows 3.xのバージョンは、彼が誤って解放されたことを読んだことを誤ってSimcityに残しました。

「これが驚くべき部分です。Windows95のベータバージョンでは、SimCityがテストに機能していませんでした。Microsoftはバグを追跡し、SimCityを探している特定のコードをWindows95に追加しました。 SimCityが実行されているのを発見した場合、すぐにメモリを解放しない特別なモードでメモリアロケーターを実行します。それは、人々がWindows95にアップグレードすることをいとわなかった後方互換性への執着です。」

これは、私たちのお気に入りのゲームをさまざまな世代のハードウェアに走らせることにかかる目に見えない作品のいくつかを明らかにする魅力的な物語です。今日、Dosboxや同等のものを単純にロードして子供時代から覚えていることをほとんどプレイできる場合、当たり前の互換性を当たり前の互換性を取るのは簡単ですが、それはすべて、強迫観念的なトラブルシーターのグループからどこかで始めなければなりませんでした。「鶏肉と卵の問題」新しいマシンにソフトウェアを提供する。

私たちが知っておくべきこれの他の例を思い出しますか?コメントでお知らせください!

[ソースjoelonsoftware.com、 経由twitter.comrockpapershotgun.com]