У Windows 95 знайшли спеціальний код, який виправляє баґ у SimCity
Термін “зворотня сумісність” (backward compatibility) добре знайомий ґеймерам. Прогрес комп’ютерної техніки та софту іде настільки семимильними шляхами, що він починається стосується навіть ігор, що їм кілька років. Втім, проблема це настільки максимально не нова, що подібне доводилось робити ще майже 30 років тому. Чудовий зразок (якому як раз вже 27 років) віднайшов подкастер та ігротворець Кел Йошіка. Займаючись своєрідною інтернет-археологію і читаючи старезні блоги, Йошіка наштовхнувся на запис у блозі програміста та письменника Джоеля Сполскі. В ньому Сполскі переповідає історію яку йому, в свою чергу, розповів один з програмістів SimCity, Джон Росс. В якийсь момент Росс дізнався, що він наробив баґ у грі, який ніяк не впливав на роботу під Windows 3.x, але був би “смертельним” на більш новому Microsoft Windows 95. Був би, якби Microsoft не запустили SimCity ще під час бета-тестування і не знайшли цей баґ.
There is a specific piece of code in Microsoft Windows 95 that checks to see if Sim City is running so Win95 can change how memory is stored to work around a bug in Sim City (source https://t.co/Ps1A9wGP6a) pic.twitter.com/lfZJX9OgEQ
— King KaL. Rool (@Kalyoshika) October 6, 2022
Баґ був у тому, що гра нащось шукала пам’ять, яку тільки що сама ж звільнила, від чого “вилітала”. Замість того щоб випустити патч для SimCity, як це зробили б зараз, щоб пофіксити проблему гора прийшла до Магомета сама. Microsoft додали у Windows 95 спеціальний код, єдине призначення якого — у випадку встановлення SimCity на комп’ютер примусити гру працювати як треба і не звільняти місце.
Найбільш вражає те, що мова іде про найпершу SimCity 1989 року, тобто їй на той час було шість років. Це може здатись не сильно великим проміжком часу, проте для комп’ютерних ігор навіть тоді це був критичний вік щоб почати бути несумісним з більш сучасними пристроями та операційними системами. Увага до сумісності старих програм та ігор з новою ОС врешті решт стала візитівкою Microsoft, який дозволив їм десятиліттями переконувати користувачів вчасно переходити на нові версії програмного забезпечення.
P.S. Але не мене. Я досі пишу це з Windows 8.