Windows 11で動く最古のGUIアプリを探した
著者はWindows 11で改変もエミュレーションもなく動作する最古のGUIアプリを探し、FREECELL.EXEが最新のWindows 11で変更なしに全機能で動作することを確認した。
ブログ「enlyth」の記事は、Windows 11で改変もエミュレーションもなく動作する最古のGUIアプリケーションを探した試みを紹介している。
動作確認の結果
著者が確認したアプリケーションは、以下のとおりである。
- FREECELL.EXE(date modified 22-Feb-93): 最新のWindows 11で変更なしに、全機能を使える状態で動作した。
- CDPLAYER.EXE(Build 347、16-Nov-1992にリンク): システムのcrtdll.dllを利用することで動作した。
- REVERSI.EXE(15-Nov-1985、Windows 1.01由来): otvdmを使って動作した。
投稿時点でのFREECELL.EXEの年齢は33 years and 8 monthsとされている。一方で、64ビット版のWindowsにはNTVDMがないため、Windows 11単体では16ビットのWindowsプログラムを実行できない。
NT 3.1プレリリース版の検証
著者はInternet Archiveから入手したNT 3.1プレリリース版を調べた。1991年の初期版は、現在のWindowsと互換性のないドラフト版のPE形式を使用していた。1992年半ばまでのビルドは、Windows APIの呼び出しにstdcallではなくcdecl呼び出し規約を想定していた。
初期のNT 3.1プレリリース版は、当初は有望に見えたとされる。主な問題は、現在の実行形式との非互換性か、開発の後期に行われたAPIの変更にあるとみられる。
Build 347に含まれるCDPLAYER.EXEは、同じビルドの他のプログラムで起きるクラッシュを、システムのcrtdll.dllを使うことで回避していた。Windows 11もSysWOW64にcrtdll.dllを搭載している。
著者は音声再生のため、偽の音声データを返す小さなDLLであるcdemu.dllを使い、CD-ROMドライブをエミュレートした。
16ビットアプリの実行
著者はotvdmを使い、Windows 1.01由来のREVERSI.EXE(15-Nov-1985)を動作させた。REVERSI.EXEは64ビットWindowsではネイティブに実行できない16ビットプログラムである。
この記事は元記事の事実のみに基づいて自動生成されました。
筆者の見立て
- FREECELL.EXEの結果は、ほぼ著者と同じ年齢のプログラムである点で印象的だと論じている。
- Windowsの後方互換性の高さを踏まえ、動作する最古のアプリも古いものになると予想していた。
- 1992年の呼び出し規約の不一致によってプログラムがクラッシュするのは当然だと解釈している。
- 約34年前のプログラムであるCDPLAYER.EXEを動かすことを、かなりクールだと評価している。
- otvdmの使用はずるのように感じられるが、記事に含めるだけの価値はあると論じている。
出典
- 媒体名: enlyth
- 原題: Oldest GUI application that still runs on Windows 11
- URL: https://blog.enlyth.com/posts/oldest-windows-gui-app-win-11/
- (Internet Archive) の報道による