适用于 Windows 的 Microsoft Word 1.1a,原生 X64 版本
Microsoft Word for Windows 1.1a, Native X64 Port

原始链接: https://github.com/jmarshall23/msword

本项目提供 Microsoft Word 1.1a ("Opus") 的原生 64 位 Windows 移植版本。该版本并非使用模拟或重写,而是将原始 C 语言源代码及资源编译为现代 x64 可执行文件。 为实现这一目标,本项目利用原生 x64 运行时环境和 Win32 兼容包装器,替换了原有的 16 位汇编代码、分段内存架构及 Win16 API 依赖。构建过程使用 CMake 和 Visual Studio 2022,在保留原始用户界面和逻辑的同时,将遗留代码转换为功能性应用程序。整套测试程序涵盖了命令表、数据结构及自动化 UI 工作流,确保移植后的软件与 1990 年的原版在功能上保持严格一致。 本项目专为开发者设计,仓库中包含了权威的遗留源代码及必要的兼容层,使程序能够无缝迁移至现代 64 位 Windows 环境。用户可通过标准的 CMake 预设或直接打开生成的 Visual Studio 解决方案进行编译。请注意,此移植版本保留了原始版权声明,用户在重新分发前应核实相关许可要求。

Hacker News 最新 | 往日 | 评论 | 提问 | 展示 | 工作 | 提交 登录 Microsoft Word for Windows 1.1a,原生 X64 移植版 (github.com/jmarshall23) 6 点,由 BruceEel 在 1 小时前发布 | 隐藏 | 往日 | 收藏 | 讨论 | 帮助 考虑申请 YC 2026 年秋季批次!申请截止日期为 7 月 27 日。 准则 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:
相关文章

原文

This project is a fully working native Windows x64 port of Microsoft Word for Windows 1.1a, whose historical codename was Opus. It builds the original Word source and resources together with modern replacements for the 16-bit assembly, segmented-memory, and Win16 platform boundaries.

The result is the original Word application and user experience running as a 64-bit Windows executable. This is not an emulator or a reimplementation using a modern editor control.

  • 64-bit Windows
  • Visual Studio 2022 with Desktop development with C++
  • A Windows 10 or Windows 11 SDK installed through Visual Studio
  • CMake 3.25 or newer
  • PowerShell

Clone the repository, configure the included CMake preset, and build it from a PowerShell prompt:

git clone https://github.com/jmarshall23/msword.git
Set-Location msword\src

cmake --preset x64-debug
cmake --build --preset x64-debug

& ..\bin\WORD1.exe

For an optimized build, use the release preset instead:

cmake --preset x64-release
cmake --build --preset x64-release
& ..\bin\WORD1.exe

The presets use the Visual Studio 2022 x64 generator. After configuration, the generated solution can also be opened directly from out\MicrosoftWordX64Port.sln; use WORD1 as the startup project.

Run the complete Debug test suite from the repository root:

ctest --test-dir .\out -C Debug --output-on-failure

Or, when your current directory is src:

ctest --test-dir ..\out -C Debug --output-on-failure

For a release build, replace Debug with Release. The suite covers the ported x64 runtime, original Word data structures and command tables, process startup, and automated UI workflows including typing, selection, formatting, dialogs, and saving.

Path Purpose
src/Opus/ Original Microsoft Word/Opus application source and resources
src/OpusEtAl/ Original supporting tools, libraries, and build inputs
src/OpusProg/ Historical program documentation
src/port/original/ x64 compatibility layer, translated routines, and tests
src/port/tools/ Native replacements for historical build-time tools
src/cmake/ Resource and source-generation helpers
out/ CMake cache and generated Visual Studio solution
build/ Intermediate tools, tests, probes, PDBs, and diagnostics
bin/ Final executable and runtime files

out, build, and bin are generated locally during configuration and compilation.

The original C and resource files remain the authoritative implementation. The port adds only the platform work needed to build and run that code safely on 64-bit Windows:

  • 16-bit x86 assembly entry points are translated to fixed-width C or C++.
  • Segmented and double-indirect memory handles are mapped to an x64-safe native runtime.
  • Win16-specific startup, messaging, graphics, file, and resource behavior is adapted to current Win32 APIs.
  • Original command, dialog, cursor, bitmap, and other generated assets are rebuilt by native host tools as part of the CMake graph.
  • Unit, runtime, smoke, and UI tests guard compatibility with the original algorithms and application behavior.

CMake inventories the legacy assembly tree but does not compile those modules into native targets. This keeps the historical implementation available as a reference while ensuring all shipped code is valid for AMD64.

Target Description
WORD1 The native x64 Microsoft Word executable
opus_original_engine Original Word application engine compiled for x64
opus_x64_runtime Native runtime and translated assembly behavior
opus_word1_ui_test Automated end-to-end UI test driver
legacy_sources IDE-visible reference collection of the original assembly

Build a specific target with:

cmake --build --preset x64-debug --target WORD1

Changes should preserve the original Word behavior while keeping all native interfaces pointer-width safe. Prefer source-equivalent translations of historical routines, isolate unavoidable Windows API adaptation at the port boundary, and add focused tests for newly translated behavior.

The historical source files retain their original Microsoft and third-party copyright notices. This repository does not currently include a top-level license file; review the applicable rights before redistributing the source or binaries.

联系我们 contact @ memedata.com