Windows 95 byl speciálně upraven kvůli chybě v SimCity

Na novém systému by byla hra bez kuriózního programátorského zásahu do kódu nefunkční

Zdroj: Maxis
12. 10. 2022

Kdo by neznal SimCity, legendární budovatelskou strategii z roku 1989, za níž stojí designér Will Wright a studio Maxis. Série SimCity se těší velké popularitě dodnes a nejinak tomu bylo v devadesátých letech. Programátor a spisovatel Joel Spolsky před lety odhalil, že původní SimCity (a vlastně i samotný Microsoft) mohlo narazit kvůli obsažené chybě a nástupu operačního systému Windows 95, ale tak se nakonec nestalo díky zajímavé opravě.

Ve skutečnosti se nejedná o žádnou novou informaci, neboť ji Spolsky na svém blogu popsal již před dvaadvaceti lety. Spolsky mezi lety 1991 a 1994 pracoval v týmu Microsoft Excel, a tak měl celou záležitost z první ruky. Navíc to byl právě on, komu se programátor hry s chybou svěřil. Spolsky v textu tvrdí, že si Microsoft u svých operačních systémů zakládal na zpětné kompatibilitě, což mnohdy znamenalo častá přepracování kódu, aby byla ona kompatibilita vůbec možná, s čímž se počítalo i při vývoji Windows 95. „Windows 95? Žádný problém,“ píše Spolsky ve svém starém blogovém příspěvku, který vydal 24. května 2000. „Pěkné nové 32bitové API, starý 16bitový software ale běžel stále perfektně. Microsoft tím byl posedlý a utratil velký balík peněz za testování každého starého programu, který se mu podařilo najít.“

Se SimCity ovšem mohl být problém, jelikož se programátor Jon Ross, který původní SimCity napsal pro Windows 3.x, dopustil v kódu hry chyby s uvolněnou pamětí, která se znovu načítala. Kvůli této chybě by hra nebyla na novém operačním systému funkční. To se potvrdilo i při testování SimCity v betě Windows 95, kdy hra zkrátka nefungovala. Ona chyba byla ovšem nalezena a vzhledem k nemožnosti opravit samotnou hru (respektive onu opravu dodat hráčům) se do Windows 95 přidal specifický kód, který v počítači hledá SimCity. V případě spuštění hry ji systém zaregistroval a na základě přidaného kódu se alokátor paměti ve speciálním režimu postaral o to, aby se paměť hned neuvolnila.

Tak se podařilo oblíbenému SimCity přežít přechod na novější operační systém a Microsoftu zase neustoupit ze své snahy ohledně zpětné kompatibility. „To je právě ta posedlost zpětnou kompatibilitou, kvůli které byli lidé ochotni přejít na Windows 95,“ uzavírá Spolsky ve svém textu část o SimCity. Tento zajímavý příběh na světlo po letech vytáhl herní vývojář a podcaster Kal Yoshika, jenž jej sdílel na svém Twitteru. Pod tento tweet přidal jeden z komentujících s přezdívkou code_and_beer další zajímavý způsob, jak udržet hru funkční. Ten se pro změnu týká Final Fantasy VII, kdy hra nechce běžet na Windows NT, a tak soubory v podstatě lžou a předstírají, že se jedná o Windows 95. Aneb i takto se řešily chyby v době před aktualizacemi a rozhodně se nejedná o ojedinělé případy. Nicméně samotný fakt, že byl příběh se SimCity v podstatě objeven až po dlouhých dvaadvaceti letech, názorně ukazuje, jak málo jsou tyto zásahy a záchrany známy, ačkoli jejich iniciátoři nepochybně zasluhují uznání.

Nahlásit chybu v článku

1

Napsat komentář

Mohlo by vás zajímat

Nahoru