90年代のPCゲームは既に廃止された複数の古い技術に依存しているため、必ず複雑な問題にぶつかります。
前回に引き続き、同じく1999年発売の『聖バレンタイン学園』が何故Windows11で動かないのか検証した結果をまとめました。
■8bitパレットが非対応
互換性設定を使うことで、NEW GAMEのプロフィール登録画面、OPTIONのタロット恋占いといった冒頭のメニュー部分まではWindows11で動作を確認しました。
しかし、そこから先へ進もうとすると必ず強制終了になります。
このとき実際に表示されるエラーが以下です。
関数 ddraw_SetBPal()
エラー SetEntries()
詳細
コード 0x80004005(-2147467259)
SetEntriesを使うのは8bit(256色)パレットモードです。
1980〜1990年代のパソコンやゲーム機で広く採用された方式です。
動作環境には「640×480ドット256色が表示可能なディスプレー」「DirectX対応ディスプレーカード(RAM2MB以上推奨)」と記載されており、これは当時のDirectDraw(特に8bitパレット)を正しく扱えるハードウェアが必須という意味です。
XPの表示ドライバ(XPDM)までは256色モードが残っていましたが、Vista以降の新しい表示ドライバ(WDDM)では256色は完全に廃止されました。
DirectDrawの一部機能はWindows11に残っていますが、新しいWDDMを採用しているため、パレット設定の処理は正しく動作しません。
その結果、DirectXが処理できずにゲームが落ちてしまいます。
「dgVoodoo2」「DxWnd」の互換ツールも試しましたが、起動できませんでした。
■冒頭だけ動く仕組み
実行ファイルを「Stirling」で解析したところ、冒頭部分に必要なデータが含まれており、その後に呼び出される複数の古いAPIや機能が原因で強制終了になることがわかりました。
mci_Set()
MCIWndCreate()
cdaudio
CD-DAを再生するための処理です。
Windows11ではこの方式を扱う仕組みが削除されているため、再生できません。
DirectDrawCreate
GetSystemPaletteEntries
8bit(256色)パレットを扱うための処理です。
Windows11はこの方式に対応していないため、エラーになります。
MSVFW32.dll
MCIWndCreateA
古いAVIを再生するための処理です。
Windows11は対応するコーデックがすでに削除されているため、再生できません。
■仮想環境では動かない
ノートPCの仮想環境はデスクトップPCと構造が異なるため、8bitパレットとCD‑DAの両方に対応していません。
そのため
「メディアデバイスに問題があります。正常に動作しているか調べ、デバイスの製造元に問い合わせてください。」
とエラーが表示されてしまいます。
「Oracle VirtualBox」「Windows XP Mode」では動作環境を再現することはできませんでした。
仮想環境は実機と同じではないのです。
■実機 vs エミュレータ
今回使用したWindowsXP実機環境では文字がウィンドウからはみ出す表示崩れが見られましたが、それ以外は問題なく、本編冒頭まで正常に動作することを確認しました。
XPは古い仕組みがギリギリ残っている最後のOSで、本作が依存する機能がすべて利用できます。
WindowsXP(XPDM)とWindowsXP対応のGPUドライバがあれば動作する可能性が高いですが、8bitパレット(256色)はOSの機能ではなくGPUドライバの機能です。
そのため、XPであってもドライバが対応していなければ256色モードは動きません。

上:WindowsXP実機 下:86Box
一方エミュレータの「86Box」を使えば、当時のハードウェア構成を再現できるため、Windows11上でも動作させることが可能です。
実機で見られた文字の表示崩れも発生しませんでした。
一度構築してしまえば次回以降は手軽に扱えますが、環境の設定は難しく、また今回の構成は『聖バレンタイン学園』向けに最適化したものです。そのため、同じ環境では『BOY×BOY~私立光稜学院誠心寮~』の方は残念ながらスムーズには動きませんでした。
■結論
『聖バレンタイン学園』は、Windows11の環境において一般的な互換性設定だけでは動作させるのが非常に難しいことがわかりました。
特に8bitパレットやCD-DA再生、古いAVIコーデックなど、現代のOSではすでに廃止された技術に依存しているため、結果としてどれも正常に処理できずに強制終了してしまいます。
これを解決するには、グラフィック・BGM・ムービー等を現代の形式に変換し、実行ファイルの古い処理を現代のWindows向けに作り直すレベルで全面的に書き換えるしかなく、現実的とは言えません。
現実的な選択肢としては、当時の実機を用意すること、もしくは「86Box」のようなエミュレータで旧環境を再現することです。
それぞれに一長一短はありますが、どちらも試す価値は十分にあります。
環境を整えれば今でも当時の作品を楽しむことが可能です。
次回は「86Box」を用いた環境構築手順と、実際にゲームを動作させるまでの流れをまとめてみようと思います。
■使用したツール
「dgVoodoo2」…古いDirectXやDirectDrawを現代の環境で再現するラッパー
「DxWnd」…古いゲームをウィンドウモードや互換性設定で動かす
「Stirling」…実行ファイルの中身を確認・編集できるバイナリエディタ
「Oracle VirtualBox」…仮想マシンを作る
「WindowsXP Mode」…Windows7のXPの仮想環境
「86Box」…実機に近い環境を再現できるエミュレータ