Windows 95曾發布專門的補丁 只是為了修復《模擬城市》中的兼容問題

在PC上很容易把向後兼容視為理所當然,以至於我們甚至很少使用”向後兼容”這個短語。大多數老遊戲都能簡單地運行,而對於其他的東西,通常有一個內置於Windows或DOSBox的兼容模式來讓它運行。這並不是偶然發生的,正如一位前微軟程序員的舊博文所解釋的那樣。

simcity-1_xU684Tc.jpg

例如,當微軟希望用戶切換到Windows 95時,他們甚至未操作系統添加了特定的代碼來尋找《模擬城市》,如果它正在運行,就改變內存分配的方式,這樣遊戲就不會崩潰。

這篇博文是Joel Spolsky在2000年5月寫的,但最近被播客和遊戲製作人Kal Yoshika在Twitter上重新發現了。Spolsky寫的是”雞和蛋的問題”,即讓用戶採用沒有大量軟件的平台,以及讓軟件製造商為沒有大量用戶的平台生產軟件。他說,微軟的解決方案是確保舊的軟件能夠運行–包括《模擬城市》。

“Windows 95?沒問題。漂亮的新32位API,但它仍然可以完美地運行舊的16位軟件。微軟對此非常着迷,花了一大筆錢來測試他們能找到的每一個使用Windows 95的舊程序,”Spolsky寫道。”喬恩·羅斯(Jon Ross)為Windows 3.x編寫了《模擬城市》的原始版本,他告訴我,他不小心在《模擬城市》中留下了一個錯誤,即他讀取了剛剛釋放的內存。是的。它在Windows 3.x上工作得很好,因為內存從來沒出現過泄露。?

“驚人的是,在Windows 95的測試版本中,《模擬城市》在測試中並不正常工作。微軟追蹤到了這個錯誤,並在Windows 95中加入了特定的代碼以在計算機中尋找《模擬城市》。如果它發現《模擬城市》正在運行,它就會以一種特殊的模式運行內存分配器,不會立即釋放內存。這就是那種對向後兼容性的執着,使人們願意升級到Windows 95″。

諸如此類的例子並不鮮見,例如,初代版本《最終幻想7》如果運行在Windows NT而不是Windows 95上就會崩潰,所以Windows會對遊戲謊報其實際運行的操作系統。

(0)
上一篇 2022-10-09 22:46
下一篇 2022-10-09 22:57

相关推荐