В мире открытого программного обеспечения пользователи привыкли к тому, что программы собираются из исходного кода под конкретный дистрибутив, поэтому даже очень старый релиз обычно без проблем запускается на свежей версии системы. В экосистеме Windows всё иначе: исходники прилагаются редко, и на руках остаётся лишь бинарный файл, который заработает только в том случае, если в установленной версии ОС есть нужные ему API. После того как современные выпуски Windows окончательно лишились поддержки 16-битных приложений, возник закономерный вопрос — какое самое старое графическое приложение Windows всё ещё способно запуститься сегодня? Разобраться в этом взялся один из энтузиастов.

Старое приложение Windows, запущенное в Windows 11

Поскольку самый ранний API, поддерживаемый в Windows 11, относится к 32-битной архитектуре, поиски сразу вели в двух направлениях: либо к первому выпуску Windows NT — прямому предку Windows 11, — либо к расширению Win32s для Windows 3.1. Так, версия пасьянса FreeCell под Win32s от 1993 года запускается без всяких проблем. Но это ещё не конец пути.

реклама кормит Уточку 🦆

Обратная совместимость долгие годы оставалась одним из ключевых принципов Microsoft, и именно благодаря ей многие древние программы продолжают работать спустя десятилетия. Однако у этой совместимости есть жёсткая граница: отказ от 16-битного кода провёл черту, за которой часть наследия прошлого века окончательно теряет совместимость с актуальной системой.

Самый ранний подходящий бинарник следует искать где-то среди предрелизных сборок Windows NT 3.1. Здесь, однако, кроется подвох: ранние API этой версии оказались несовместимы с более поздними. Через множество аварийно завершавшихся программ исследование привело к приложению CD-плеера от ноября 1992 года — оно заработало лишь потому, что обращается к DLL-библиотеке, которая присутствует в системе по сей день. Любопытно, что для запуска понадобилась ещё одна библиотека, эмулирующая сам привод компакт-дисков: красноречивое свидетельство того, как изменился мир ПК. Когда-то CD были вершиной технологий хранения данных, а сегодня дисковод найдётся далеко не у каждого.

реклама кормит Уточку 🦆

Но и на этом история не заканчивается. Хотя в Windows 11 нет виртуальной DOS-машины (VDM) для запуска 16-битных приложений, существует реализация WINE VDM, решающая эту задачу. С её помощью удалось запустить игру Reversi из Windows 1.01, выпущенной ещё в ноябре 1985 года, прямо в Windows 11. Так что у вашего древнего софта, возможно, ещё есть шанс на вторую жизнь.

реклама кормит Уточку 🦆

Эксперименты подобного рода — не только развлечение для любителей ретрокомпьютинга. Они наглядно показывают, насколько глубоко в фундаменте современных операционных систем лежат архитектурные решения тридцати- и сорокалетней давности, и напоминают, что цифровое наследие стоит сохранять, пока для него ещё находятся работающие лазейки.