В Infidel нашли ошибку компилятора, которая портит память

Infidel Goes Wild

Разбирая игру Infidel от Infocom, автор обнаружил ошибку компилятора ZIL: аргумент по умолчанию, ссылающийся на глобальную переменную, инициализируется её индексом, а не адресом. Из-за этого процедура DESERT-TO-TABLE пишет объекты в область памяти, начиная с адреса 30, затирая таблицу сокращений и вызывая сбои. Ошибка оставалась незамеченной с 1983 года, так как требует сбросить более восьми предметов в бесконечной пустыне.

«Предсказание: если мы сбросим девять объектов в пустыне (а затем уйдём), последний перезапишет начало таблицы сокращений».

Ещё за этот день

2026-10-04