1990年のWord for Windowsがx64ネイティブで復活。開発者が移植
Microsoftが2014年に公開した36年前のソースコードから、エミュレーションなしでWindows 11上で動作する64ビット実行ファイルが生まれた。
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は二番手に甘んじていた。
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が変わり、命令セットが変わる。それでも動き続けるのは、誰かがコードに手を入れ続けたときだけだ。
関連記事
- Office Copilotボタン、批判殺到で部分撤回・拭えぬ押し付け体質
- Excelの消せないCopilotボタン、利用者が反発
- クラシックOutlookで文書が空白表示、5月4日修正
- Outlook受信トレイにCopilot通知が常駐。オフにする手段がない
- WindowsのGDID追跡を消すツール公開。代償はサービスの機能不全
- タスクマネージャーの生みの親がmacOS版を無料で公開
- Intune、レジストリの構成確認をネイティブ化。管理者の反応は歓迎と失望が半々
- Windows 11のタスクバー位置変更がBetaに到達。小型化も同時に展開
- Windows 11の右クリックメニュー、コンパクト化とカスタマイズ機能が開発中
- Copilot for Wordに自己増殖型AIワーム。144日経っても直らず