Microsoft Word 1.1a получил нативный x64-порт с открытым кодом и тестами

Microsoft Word 1.1a получил нативный x64-порт с открытым кодом и тестами

На GitHub опубликован проект, который переносит Microsoft Word для Windows 1.1a, версию, чьё историческое кодовое имя было «Opus», на нативную 64-битную Windows. Это не эмулятор и не переписанная с нуля программа на современном текстовом движке: используется оригинальный исходный код и ресурсы Word, а заменены только те части, что физически не могут работать на x64, 16-битный ассемблер, сегментная адресация памяти и границы платформы Win16. Результат, тот самый исторический Word, запускающийся как обычный 64-битный исполняемый файл.

Технически порт делает четыре вещи: переводит точки входа на 16-битном ассемблере x86 в код на C/C++ с фиксированной шириной данных; заменяет сегментные и двойные косвенные указатели памяти на безопасную для x64 нативную модель; адаптирует специфичные для Win16 запуск, обработку сообщений, графику, работу с файлами и ресурсами под текущие Win32 API; и пересобирает оригинальные команды, диалоги, курсоры, битмапы и прочие сгенерированные ресурсы силами нативных инструментов сборки через CMake. При этом CMake учитывает старое дерево ассемблерного кода, но не компилирует его в целевые бинарники, исторический код остаётся в репозитории как справочный материал, а в сборку идёт только код, валидный для AMD64.

Проект снабжён набором тестов, который прогоняется через ctest и покрывает перенесённый x64-рантайм, оригинальные структуры данных и таблицы команд Word, запуск процесса и автоматизированные UI-сценарии, набор текста, выделение, форматирование, работу с диалогами и сохранение файлов.

Для сборки нужны: 64-битная Windows, Visual Studio 2022 с компонентом разработки на C++ для рабочего стола, Windows 10 или 11 SDK, CMake версии 3.25 или новее и PowerShell. Дальше, клонирование репозитория, настройка через готовый CMake-пресет (x64-debug для отладочной сборки или x64-release для оптимизированной) и запуск WORD1.exe; решение также можно открыть напрямую в Visual Studio как .sln-файл.

В репозитории нет файла лицензии верхнего уровня: исходные файлы сохраняют оригинальные уведомления об авторских правах Microsoft и сторонних правообладателей, и перед распространением исходников или бинарников проект прямо рекомендует отдельно проверить применимые права. Кто именно сделал порт и когда именно он появился, в материале не указано.

Ключевые факты

  • Порт использует оригинальные исходный код и ресурсы Word для Windows 1.1a (кодовое имя «Opus»), а не эмуляцию и не переписанный с нуля редактор.
  • Заменены только несовместимые с x64 части: 16-битный ассемблер переведён в C/C++, сегментная память, в безопасную нативную модель, Win16-API, в Win32.
  • Проект включает тестовый набор (ctest), который проверяет структуры данных Word, запуск процесса и UI-сценарии вроде набора текста, форматирования и сохранения файлов.
  • Для сборки нужны Visual Studio 2022, Windows 10/11 SDK, CMake 3.25+ и PowerShell; результат, исполняемый файл WORD1.exe.
  • В репозитории нет файла лицензии верхнего уровня, оригинальные уведомления об авторских правах Microsoft и третьих сторон сохранены, права на распространение нужно проверять отдельно.

Почему это важно

Это не косметический ремейк и не эмуляция, а буквально исторический код Word 1.1a, доведённый до состояния «компилируется и работает» на современной 64-битной Windows. Технически интересна сама задача: перенести приложение, написанное под 16-битную сегментную архитектуру, на плоскую 64-битную модель памяти без потери оригинального поведения, с ассемблерными точками входа, сегментными указателями и Win16-специфичными API.

Кому это важно

В первую очередь энтузиастам ретрокомпьютинга и сохранения программного наследия, а также разработчикам, которым интересна низкоуровневая механика переноса legacy-кода между архитектурами, сегментная память, 16-битный ассемблер, старые Win16 API. Практической пользы для повседневной работы с текстом порт не несёт: это исторический артефакт, а не замена современному Word.

Как это применить

Собрать проект может любой, у кого установлены 64-битная Windows, Visual Studio 2022 с компонентом C++ для рабочего стола, Windows 10 или 11 SDK, CMake 3.25 или новее и PowerShell. После клонирования репозитория используется готовый CMake-пресет, x64-debug для отладки или x64-release для оптимизированной сборки, а собранное решение также можно открыть напрямую в Visual Studio. Полный набор тестов запускается командой ctest и охватывает рантайм, структуры данных Word и автоматизированные UI-сценарии.

Можно ли доверять

Материал взят напрямую из README проекта на GitHub, все технические утверждения подтверждены текстом источника. При этом источник не называет ни автора или команду, стоящую за портом, ни дату его появления, эти сведения в материале отсутствуют, и додумывать их не стоит.

Риски и подводные камни

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