Win95時代のゲームはなぜWin11で起動しないのか検証してみた【前編】 BOY×BOY~私立光稜学院誠心寮~ | BLゲーム資料保存館

Win95時代のゲームはなぜWin11で起動しないのか検証してみた【前編】 BOY×BOY~私立光稜学院誠心寮~

90年代のPCゲームには、当時ならではの技術や雰囲気が詰まっていますね。
今回は研究の一環として、1999年発売のPCゲーム『BOY×BOY~私立光稜学院誠心寮~』がWindows11でなぜ起動しないのかを検証しました。
同様の検証を行う方や、現行環境で動作させようとする方の参考になれば幸いです。

■実行ファイルを解析
実行ファイル「BOYxBOY.EXE」を「ExeinfoPe」で解析したところ、次の情報が得られました。

image is 32bit executable
MS Visual Basic 5.0-6.0 EXE (1999-05-09)

このゲームは32bitアプリケーションで、Visual Basicの5.0か6.0で作られています。
ゲームディスク内に「MSVBVM50.DLL」があるので、VB5.0製であることが分かりました。
Windows11は64bitOSのため16bitアプリケーションは非対応ですが、VB5.0は32bitのため動作する可能性は残されています。

■データベースが読み込めない
互換モードでは起動できず、設定を外すと一応起動はするものの、直後にエラーが表示されました。


実行時エラー’3078’:
入力テーブルまたはクエリー’Len32Data’は見つかりませんでした。

エラー3078は、Accessで必要なテーブルやファイルが見つからないときに出るエラーです。
このエラー内容に加えて、ゲームがVB5.0製であること、さらにインストールフォルダ内に「BOYxBOY.MDB」「BOYxSYS.MDB」が存在することから、このゲームはMDBを使用していると見てほぼ間違いないと考えられます。
発売が1999年であることから、Access97形式で作られている可能性が高いです。
Accessは仕様が2007以降に大きく変わりました。
そのため、新しいAccessでは古い形式のファイルをそのまま開けません。
実際にAccess2021で「BOYxBOY.MDB」を開こうとすると、エラーが発生しました。

「前のバージョンのアプリケーションで作成されたデータベースを開くことはできません。」

■MDBを変換してみる
MDBはAccess2003でデータベースを変換し、新しいAccessで開き直すことで、現行環境向けの形式にできます。
中身を確認したところ、次のデータが含まれていました。

・Newtable1
・PictData(立ち絵や背景画像の管理データ)
・ScenData(台詞やイベント発生条件等の管理データ)
・SoundData(BGMのデータ)

・HoDayData(祝祭日の設定データ)
・Len32Data
・QrekiData
・Yoteidata(イベント日の設定データ)

ここにエラーメッセージにあった「Len32Data」がありました。
Accessで2000形式に変換後に、フォルダ内のファイルを置き換えて起動してみましたが、

「データーベースファイルがありません」

と別のエラーメッセージが出ました。
ゲームディスク内の「MSJET35」はJet3.5の本体です。
Access97はjet3.5ですが、Access2000~2003はjet4.0です。
つまりMDBをJet4.0形式に変換しても、ゲーム側はJet3.5を読み込もうとするため、どちらにせよ動作しません。

■結論
今回の検証から、Windows11での動作しない主な原因はAccess97形式のデータベースを読み込めない点にありました。
Jet3.5はWindows Vista以降は廃止されており、単に32bitのDLLを64bit環境にコピーするだけでは動作させることは難しいです。
vbp/frm/bas等のファイルも見つからないため、新しいデータ形式に合わせてコードを書き換える方法も取れませんでした。また、書き換えは著作権やライセンスの問題もあるので仮想環境を使う方法が一番現実的と言えます。
「Oracle VirtualBox」上のWindowsXPでは問題なく起動し、XP実機でも同様に動作を確認しました。
今後も引き続き、旧作タイトルの動作検証を進めていきます。


以前ZOOMで「16bitだから動かない」とお話ししましたが、当時は調査が途上で、十分な情報が揃っていなかったため、結果として誤った説明になってしまいました。
今回の検証で正しい原因が分かりましたので、ここで訂正させていただきます。


■使用したツール
Access2003…データベースを作成・編集・管理する
ExeinfoPe…実行ファイルがどの時代の技術で作られているか調べる
Oracle VirtualBox…仮想マシンを作る

TOP PAGE