Word 1991 года научили работать на 64-битной Windows — без эмуляторов

Разработчик воскресил Word 1.1a спустя 36 лет.


tm5konmcshtxsxef4kpn7ag3iniairco.jpg

Microsoft Word 1.1a получил вторую жизнь спустя 36 лет после выпуска. Разработчик под ником JMarshall23 перенес старый текстовый редактор на современную 64-разрядную Windows. Для запуска не нужны эмулятор или отдельный слой совместимости: проект представляет собой полноценную x64-сборку оригинального Word, способную работать как обычное приложение Windows.

В основе порта лежат оригинальный код и ресурсы Microsoft Word for Windows 1.1a. Computer History Museum опубликовал исходники в 2014 году с разрешения Microsoft, а сама компания тогда отдельно рассказала о передаче исторических материалов. Архив содержит состояние исходного кода на 10 января 1991 года: около семи мегабайт данных, 1021 файл в 33 папках, включая код на C, фрагменты на ассемблере x86, инструменты сборки и документацию. Microsoft продолжает публиковать исторический код и спустя годы, например в 2024 году компания открыла исходники MS-DOS 4.0 .

Просто перекомпилировать программу для нового процессора было невозможно. Word 1.1a создавался для 16-разрядной среды, использовал сегментированную память, старый ассемблерный код и интерфейсы Win16. JMarshall23 перевел 16-разрядные ассемблерные процедуры на C и C++, адаптировал управление памятью для x64 и перенес запуск приложения, обработку сообщений, графику, файлы и ресурсы на современные Win32 API. Исходная логика Word и оригинальные ресурсы при этом остаются основой программы. Проблема совместимости старого ПО с новыми поколениями Windows преследует платформу уже несколько десятилетий, но разработчик проекта пошел дальше обычных обходных механизмов и собрал старый редактор непосредственно под x64.

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

Word 1.1a появился в совершенно другую эпоху персональных компьютеров. Первая версия Word for Windows вышла в 1989 году, а версия 1.1a последовала годом позже. Типичный ПК того времени мог располагать процессором с частотой около восьми мегагерц, одним мегабайтом оперативной памяти и жестким диском на 20 мегабайт. Word при скромных ресурсах предлагал графическое редактирование документов по принципу WYSIWYG, при котором пользователь видел на экране результат, близкий к будущей печатной странице. История программы разворачивалась на фоне ранней Windows , которая сама начинала как 16-разрядная графическая среда поверх MS-DOS.

Готового WORD1.exe для обычной загрузки в репозитории нет. Желающим проверить старый редактор на современном компьютере придется самостоятельно собрать программу. Для компиляции нужны 64-разрядная Windows, Visual Studio 2022 с компонентами разработки на C++, Windows 10 или Windows 11 SDK, CMake версии 3.25 или новее и PowerShell. Подробные команды разработчик разместил на GitHub . Сторонний разбор проекта и требований к сборке также опубликовал Tom's Hardware .

Самостоятельная сборка делает проект интересным прежде всего программистам, исследователям программного обеспечения и поклонникам ретрокомпьютинга. Свободно распространять оригинальные исходники или продавать копии нельзя. Computer History Museum разрешает некоммерческое использование материалов, но лицензия не дает права лицензировать код третьим лицам путем размещения копий в интернете. Репозиторий порта также предупреждает, что исторические файлы сохраняют авторские права Microsoft и других правообладателей, а отдельной лицензии верхнего уровня у проекта сейчас нет.

Порт Word 1.1a показывает, насколько далеко можно зайти в сохранении старого программного обеспечения при наличии исходников. Программа, рассчитанная на 16-разрядные компьютеры начала 1990-х, снова запускается нативно уже в 64-разрядной Windows, сохраняя исходную логику и интерфейс вместо имитации через эмулятор.