1990年のWord for Windowsがx64ネイティブで復活。開発者が移植

Microsoftが2014年に公開した36年前のソースコードから、エミュレーションなしでWindows 11上で動作する64ビット実行ファイルが生まれた。

1990年のWord for Windowsがx64ネイティブで復活。開発者が移植

Microsoftが2014年に公開した36年前のソースコードから、エミュレーションなしでWindows 11上で動作する64ビット実行ファイルが生まれた。


16ビットのCコードが、64ビットのWindowsで動く

開発者のジャスティン・マーシャル(Justin Marshall)氏が、Microsoft Word for Windows 1.1aのネイティブx64移植をGitHubに公開した

Word for Windows 1.1aは、1989年に登場した初代Word for Windowsの2回目のアップデートとして1990年にリリースされた。Word 1.0はMS-DOS専用だったWordが初めてWindowsに対応したバージョンで、開発コードネームはOpus。アメリカのコミック『ブルーム・カウンティ(Bloom County)』に登場するペンギンの名前から取られた。

マーシャル氏のプロジェクトは、Word 1.1aのオリジナルのCソースコードとリソースファイルをそのまま使っている。16ビットx86アセンブリのエントリポイントを固定幅のC/C++に変換し、セグメントメモリのハンドルをx64安全なネイティブランタイムに置き換え、Win16固有の起動・メッセージング・グラフィックス・ファイル・リソース処理を現行のWin32 APIに適応させた。ビルドにはCMakeとVisual Studio 2022を使う。

エミュレータでも、現代のエディタコントロールを使った再実装でもない。1990年のアプリケーションとユーザー体験が、64ビットWindowsの実行ファイルとしてそのまま動いている

ソースコードの出自

Microsoftは2014年3月、コンピュータ歴史博物館と協力してWord for Windows 1.1aのソースコードを公開した。1991年1月10日時点のコードで、7MBのzipファイルに33フォルダ、1021ファイルが収められていた。大部分はC言語、残りはx86アセンブラのソースファイル、テキスト文書、ビルドツール、バッチファイルで構成される。

元の公開ライセンスは非商用利用に限定されていた。マーシャル氏のリポジトリにはトップレベルのライセンスファイルが含まれておらず、ソースファイル内にMicrosoftおよび第三者の著作権表示が残されている。

36年前のWordを開くと

画面に現れるのは、Copilotボタンもクラウド保存もデザインテンプレートもない、白い紙とわずかな書式設定と初期Windowsのグレーのウィンドウ枠だけだ。

現代のOfficeが積み上げてきた機能のほとんどが存在しない。だがこのソフトウェアは、8MHzのプロセッサと1MBのメモリと20MBのハードディスクで実用的なWYSIWYG(見たままが印刷される)文書作成を実現していた。

コンピュータ歴史博物館のレン・シャステック(Len Shustek)氏はソースコード公開時にこう書いている。Wordがあの限られた環境でどうやってこれほどの機能を実現していたのかを理解する方法はひとつしかない。コードを読むことだ、と。

古いソフトウェアを動かし続ける人

マーシャル氏にとって、古いソフトウェアの現代環境への移植は初めてではない。Quake 4のSDKをDoom 3エンジンに統合したQuake4Doom、idTech 4でデューク・ニューケム・フォーエバーをリメイクしたDukeNukemForever、Quake 1のレイトレーシング移植QuakeRTXなど、GitHubには数十のリポジトリが並ぶ。

Word 1.1aの移植にはテストスイートも含まれている。ランタイムの互換性検証から、タイピング・選択・書式設定・ダイアログ操作・保存まで一連のUI操作を自動で実行する統合テストが揃えてある。単に動かすだけでなく、オリジナルの動作を保つことに重きが置かれている。

消えたはずの出発点

1980年代のワープロ市場を支配していたのはDOS版のワードパーフェクト(WordPerfect)だった。1983年に登場したMicrosoftのDOS版Wordは二番手に甘んじていた。

Word for Windowsの43年
1983年
DOS版Word登場
MS-DOS向けのワープロとして初版リリース
1989年
Word for Windows 1.0リリース
開発コードネームOpus。DOS版からの転換点
1990年
Word for Windows 1.1aリリース
1.0の2回目のアップデート
2014年3月
Microsoftがソースコードを公開
コンピュータ歴史博物館と協力し非商用で公開
2026年8月
開発者がx64ネイティブ移植を公開
オリジナルのCコードが64ビットWindowsで動作
※年月は公開時点。市場シェアの推移は本文を参照

状況を一変させたのが1989年のWord for Windowsだ。1993年にはワープロ市場の収益の50%を握り、1997年には90%に達した。その起点となったソフトウェアが、開発から36年を経て、1人の開発者の手で64ビットの実行ファイルとして甦っている。

ソフトウェアは放っておけば動かなくなる。ハードウェアが変わり、OSが変わり、命令セットが変わる。それでも動き続けるのは、誰かがコードに手を入れ続けたときだけだ。

関連記事

この記事を共有する