SSブログ

オブシディアン006情報訂正Windows10でMIDI以外は動いた [手記さまざま4]

今日は膝の調子が良かったので、何年も前にオブシディアンを試した時のメモを探し出すことができた。そうしたら、私の記憶違いが発覚した。オブシディアンはWindows10で動いていた。ただしBGMは鳴らなかったし、数か月後に動かなくなったという原因不明のアクシデント付きだ。

少し前の記事にコメントが付いた時に私は、オブシディアンが16ビットアプリでWindows10で動かないような事を書いてしまった。あの時私は在宅ワークで多忙の最中に親が突然歩けなくなり、動揺し、趣味のものを再調査することが出来なかった。それでひとまず記憶にある事柄だけをコメントとして書いたが、その記憶が間違っていた。

何の因果か、その間違ったコメントを書いてしまった記事に、その後100を超えるアクセスが来た。それで私は訂正をしないと間違った情報が広がると思い、今回の記事を書いた。Windows10での過去ゲーの動作に間違った情報を流してしまったことを許してほしい。

以下に、昔私が試したことのメモをほぼそのまま載せる。(私が作ったセーブファイル名など、皆さんにとって意味のない部分は省略した。)

メモの中に相矛盾する記述があってもそのまま載せた。何年も昔のことを私は覚えておらず、私自身にとってもこのメモが全てだ。




ObsidianのCD-ROMは5枚組で、その1枚目の中からAUTORUN.INFの中身を見て、ROCKET.EXEを起動した。するとエラーメッセージが出た。メッセージウィンドウのタイトルは「サポートされていない 16 ビット アプリケーション」で、その中身の表示は:

64 ビット バージョンの Windows での非互換性のため、プログラムまたは機能である "\??\G:\setup.exe" を開始または実行できません。ソフトウェア製造元に問い合わせて 64 ビット Windows 互換バージョンが利用可能であるかどうか確認してください。

64bitのWindowsがどうしても16bitアプリケーションを受け付けないのは調査済みだ。しかしこのROCKET.EXEというのは、オープニング画面を表示するプログラムかもしれない。このゲームは起動時にROCKETというのが表示される。これとは別にOBSIDIAN.EXEがある。これを試しに起動してみたところ、エラーメッセージが出た。メッセージウィンドウのタイトルは「mTropolis Windows Player」で、その中身の表示は:

The mTropolis player cannot be opened because Quicktime for Windows is not installed.

ここで大事なのは、Windows10に16bitプログラムとして拒否されなかったということだ。まだ望みがある。そこでCD-ROM添付のQuickTimeをインストールしてみた。QT32.EXEはとにかく起動し、インストールを始めたが、エラーメッセージが出た。メッセージウィンドウのタイトルは「QT32」で、その中身の表示は:

An operation could not be performed because a file handle could not be opened. Try closing existing applications and/or increasing the number of files available (see the "FILES" command in your DOS manual for more information).

DOSと言われても、これはWindows10だから、もうMS-DOSはないだろう。同時に開けるファイル数の問題ではなく、そもそもこのインストールプログラムはWindows10にファイルを開かせてもらえないのかもしれない。そして思った通り、他のソフトを終了してからインストールを試してもエラーは同じだった。

はるか昔のQuickTimeをWindows10にインストールする時点で、無理なのかもしれないと思ったが、私はもう一度自分のPCのエクスプローラに表示されているQT32.EXEを見た。見ているうちに違和感を覚えた。何かが足りない。そう、今どきこういうインストールソフトには付いている盾のマークがない。私はQT32.EXEを右クリックして、管理者として実行した。インストールはすんなりと終わった。

ちなみに、QT32.EXEのインストールに成功するまでの間に試行錯誤の途中で最新版のQuickTimeを試すことも考えた。QuickTimeのHPへ行き日本語サイトでダウンロードしようとしたら、システム条件がWindows VistaまたはWindows 7と書いてあった。なんて古いんだ。それと、バージョン7.7.7はWindows10にインストールできず、7.7.6ならばインストールできるとネット上にあった。7.7.6をLegacy機能も含めてインストールしてからOBSIDIAN.EXEを起動してみたが、この新しすぎるQuickTimeをmTropolis Windows Playerは使ってくれずにエラーを出した。

これもQT32.EXEのインストールに成功するまでの間に試行錯誤の途中で考えたことだが、PC-9821実機を起動してスタートメニューからObsidianのインストール先を知り、実際にどんなファイル名のファイルがそこにあるかを知る。

英語版は
B:\Program Files\Obsidian\OBSIDIAN.EXE
日本語版は
B:\Program Files\ObsidianJP\Obsidian.exe
どちらもProgram Filesにインストールされている。日本語版のインストール先フォルダ名ObsidianJPは明らかに私が付けたものであり、インストール先はフォルダ名を含めてユーザーが決められた可能性が高い。

Program Filesの中身は英語版、日本語版とも同じで:

Resource
SAVED GAMES
DeIsL1.isu
OBSIDIAN DATA 1.MPL
Obsidian.exe
Readme.txt

これらのうちResourceとSAVED GAMESはフォルダ。

英語版のResourceの中身は:

Basic.x95
Exprmntl.r95
Extras.r95
Mcursors.c95
Obsidian.c95
Rsgkit.r95

日本語版のResourceの中身は:

Basic.x95
Exprmntl.r95
Extras.r95
Mcursors.c95
Obsidian.c95
RSGKit.r95

RSGKit.r95のファイル名に大文字が多くなっただけで実質的に英語版と同じ。

英語版SAVED GAMESの中身は:

ユーザーが作ったセーブデータ
START OBSIDIAN

日本語版SAVED GAMESの中身は:

ユーザーが作ったセーブデータ
Start Obsidian

英語版との違いはない。

さて、CD-ROM 1枚目の中身のうち、OBSIDIANフォルダの中身を見ると、上記Program Files\Obsidianの中身とほぼ同じだ。RESOURCEフォルダの中身はまったく同じ。SAVED GAMESの中身はユーザーが作ったセーブデータではないものSTART OBSIDIANだけが入っている。Program FilesにあるDeIsL1.isuだけがCD-ROMにはない。しかしこれはUNINST.EXEがアンインストール時に使うものだから要らない。だからインストール作業でProgram Filesに作られたファイルは、CD-ROM 1枚目のOBSIDIANフォルダの中身のコピー(とアンインストール時のためのデータ)ということになる。

WindowsXPまでなら、Windows95でProgram Filesにあったファイルは同じくProgram Filesに入れてゲーム稼働を試すが、Windows Vista以降はProgram Filesへの書き込みが制約されるので、セーブデータなど書き込みが想定されるファイルはProgram Filesに入れずにどこか別の場所に置いてゲーム稼働を試す。

これで、前回試したObsidianの起動実験時に、ファイルの不足はなかったということがわかった。

レジストリは、VirtualBox上のWindows95にObsidianをインストールして調べたところ、以下のものを発見した:
HKEY_LOCAL_MACHINE\SOFTWARE\Segasoft\Obsidian\1.0\Installed
名前 IsInstalled
データ 0x00000001 (1)

私はネット上で、画面の色深度がHigh Color(16bit)[注:この16bitは画面の色深度のことであり、アプリケーションソフトが16bitプログラムという件とは関係ない]でないとこのゲームが終了してしまうと読んで、確かにそうだったと思い出した。そこでWindows10のデスクトップ画面を右クリックし、[ディスプレイ設定]を出し、[ディスプレイの詳細設定]をクリックし、[アダプターのプロパティの表示]をクリックし、[モードの一覧]をクリックした。すると、解像度は640x480からあるが、あらゆるモードがTrue Color(32bit)だった。これは困った。もしまたObsidianの色深度チェックルーチンが働いたら、プログラムが終了してしまうのではないか。

とにかく試そう。

私はゲームCD-ROMの1枚目のイメージを仮想ドライブに入れ、ハードディスク上にコピーしたOBSIDIANフォルダの中からOBSIDIAN.EXEを起動した。果たして、真っ黒になった画面の中央にゲームのメッセージが出た:

OBSIDIAN REQUIRES 16 BIT COLOR.
PLEASE CHANGE YOUR BIT DEPTH TO 16 IN THE WINDOWS 95 DISPLAY PANEL.

OBSIDIAN.EXEのアイコンを右クリックし、プロパティを開き、互換性のページでカラーモードを「16ビット (65536) カラー」にした。(互換モードはWindows95にしなくても良いようだ。)OBSIDIAN.EXEを起動すると、今度は終了しなかった。ディスプレイアダプタのモード一覧に16bitカラーがなくても、Windows10が互換性設定で疑似的に16bitにしてくれるようだ。互換性で640x480の解像度にしないと640x480を推奨するメッセージは出るが、これも640x480で実行するようにしておけば出ない。

ゲーム中、効果音は鳴るがBGMが鳴らない。ゲームの設定画面でBGMの音量が最小になっているのかと調べたがそうではない。つまりBGM再生(要SoundBlasterで、MIDIか)だけにいまだ問題が残る。

PCでのサウンドでは私は完全に門外漢なので、知識のある人と違い暗中模索、関係ないことでもいちいち調べたり試したりするしかない。

まずわかっているのは、Windows95時代にObsidianでBGMを鳴らすためにはSoundBlasterが必要だったということ。

この件の調査で私がまず何をしたかというと、自分のPC(Windows10)にはサウンドを鳴らすために何が入っているかを調べた。

でもこれが、私の知識不足で不完全にしか調べられなかった。わかったのは、Microsoft GS Wavetable Synthが入っている。Realtek HDというのは音源に関係するのかそれともオーディオ出力を管理するだけなのか知らないがとにかくそれがある。他には何もない。

次に私は、SoundBlasterとMicrosoft GS Wavetable Synthを比較した。どちらもPCで音を出すためのものだというのはわかるが、門外漢の私には細かいことがわからない。どちらもMIDI用なのか?Microsoft GS Wavetable SynthはMIDI用らしいが、SoundBlasterはMIDIだけでないのか?

いま私がしたいことは専門的な全知識を得ることではない。ObsidianでBGMを鳴らすのが目的だ。そのObsidianではSoundBlasterでBGMを鳴らした。でも残念ながら私には、それがMIDIなのか、それとも音源ボードをもっと低レベルで操作しているのかがわからない。

仕方がないので私は、仮にMIDIならばどうする?という所から始めるしかなかった。

仮にObsidianがSoundBlasterをMIDIの規格で使っていたとすると、その仮定があってやっとMicrosoft GS Wavetable SynthとSoundBlasterが同じ土俵に上る。

ここで、話は多少逸れるが、私がネット上で得た基礎知識をメモしておかなければならない。WindowsXPまではコントロールパネルからMIDI再生で使用したいドライバを選べるようになっていた。ところがVistaからは選べなくなり、MIDIを演奏させる側のソフトが指定しない限りはMicrosoft GS Wavetable Synthが使われるようになった。でもMIDIマッパーは残っていたので、「MIDIせれくたー」を使って変更できた。でもWindows8からはMIDIマッパーも廃止されてしまった。これがどういうことか、を続けて書くと話が逸れすぎて元に戻れなくなるので、今は話を元に戻させてほしい。

とにかく、Microsoft GS Wavetable SynthではObsidianのBGMは鳴らなかった。私は他を試さなければならない。以下、「仮にObsidianがSoundBlasterをMIDIの規格で使っていたとすると」は自明のこととして記述を省く。

私はSoundBlasterについてスマホでいっしょうけんめいググった。ただ"SoundBlaster"だけでは、今どきの立派な音質のSoundBlasterばかりがヒットしてしまう。そこで私は、大昔の全然立派でない音質だが今私が必要としている"SoundBlaster16"でググった。理想的には、昔のゲームを懐かしむ人がSoundBlaster16エミュみたいのを作っていてくれると有難いと思った。

正直、それがあったのか、なかったのかを私は明言することができない。すべて私の無知のせいだ。ググっているうちにOPL3というのが出てきた。これはヤマハ製FM音源チップの一つで、Sound Blaster16で使われているという。そこから先は、必ずしもSoundBlaster16でなくてもOPL3エミュでもいいということでググった。それらしきものが見つかって喜んだことも複数回あった。でも、あるエミュはコンソールアプリ云々と書いてあって違うようだし、あるものはLinux用だし。

私としてはさんざんググったつもりでいる。それで疲れて、これは駄目かと思い、多少の方向転換を試みた。とにかく私のWindows10にはMicrosoft GS Wavetable SynthとRealtek HDが入っている。Microsoft GS Wavetable Synthは使えない。Realtek HDは音源に関係ないかもしれないが、とにかくもう何でも試す。

あるサイトに、Windows8以降では「VirtualMIDISynthの機能を利用して」「Windows8の場合、ここでデフォルト出力の項目へチェックしておけば、自動的にMSGSとはいさようなら出来ます」と書いてあった。とにかく使えないMicrosoft GS Wavetable Synthを無効にすることから始めたい。それで私はそのVirtualMIDISynthをWindows10にインストールした。そのサイトの画像では、セットアップの「デフォルトMIDI出力デバイスとしてCoolSoft VirtualMIDISynthを設定する」にはチェックが付けられる状態だった。ところが私がインストールした更に新しいバージョンではチェックが付けられない灰色表示だった。でもインストール後に設定できるはずだから私は先へ進んだ。インストールは正しく終わった。私は「CoolSoft VirtualMIDISynth 設定」ウィンドウの「MIDIマッパー」タブをクリックした。そこではMIDIマッパーの選択は不可になっていて、こう書いてあった:

注:Windows8ではMIDIマッパーが削除されています。MIDIプレイヤーが特定のデバイスを選択しない場合は、最初にインストールしたものが使用されます。お使いのMIDIプレイヤーがMIDI出力デバイスの設定を介して"CoolSoft VirtualMIDISynth"を選択できるかどうかを確認してください。

ということは、Obsidianが明示的にMIDI再生に何を使うかを選ばない限りはMicrosoft GS Wavetable Synthが使われるということか?そしてObsidianのゲーム設定画面には一切そんなものはない。そしてMicrosoft GS Wavetable SynthがObsidianのBGMを再生しないのは確認済みだ。

なお、同じ設定ウィンドウの「Windows Media Player用 既定のデバイス」にはCoolSoft VirtualMIDISynthとMicrosoft GS Wavetable Synthしかなかったので、私のPC内のRealtek HDはどうやら音源には関係なく、オーディオ出力を管理するだけのものらしい。

CD-ROMイメージの1枚目をCD-Rに焼いて、イメージをマウントするのでなくCD-Rをドライブに入れてゲームを始めてみたが、それでもBGMは鳴らなかった。







Windows10でのObsidianの遊び方(試行錯誤の結果)
NEC LaVie DT150/AAW+日本語版Windows10(64bit)にて動作確認
BGMのみ鳴らず

1. 5枚のCD-ROMをディスクイメージにしておく。Daemon Tools Liteを用意しておく。

2. CD-ROMの1枚目をDaemon Tools Liteにマウントし、その中のQT32.EXEを右クリックして「管理者として実行」し、QuickTimeをインストールする。QuickTimeはObsidianに付属の古いものをインストールすること。最近の新しいバージョンをインストールしてもObsidianはそれを使ってくれない。

3. OBSIDIANフォルダを、ハードディスクの適当な場所にコピーする。このコピーがつまりゲームのインストールに相当する。インストールする場所は昔のようなProgram Filesではなく、今どきのWindowsがアプリケーションソフトによる書き込みを制限しない普通の場所が良い。

4. 追記:以前の実験ではこれがなくても稼働したが、このゲームはレジストリに書き込む:
HKEY_LOCAL_MACHINE\SOFTWARE\Segasoft\Obsidian\1.0\Installed
名前 IsInstalled
データ 0x00000001 (1)

5. インストールしたOBSIDIANフォルダの中のOBSIDIAN.EXEを右クリックしてプロパティを出す。「互換性」タブをクリックする。「互換モードの設定」は、動作確認した機器+Windows10では不要だった。「カラーモードを制限する」を「16ビット(65536)カラー」にする。「640x480の解像度で実行する」にはチェックを付けないことをお勧めする。OKボタンをクリックしてプロパティを閉じる。

(注:「640x480の解像度で実行する」にチェックを付けるか否かは一長一短あり。チェックを付けなければゲーム起動時に640x480を推奨され、ゲーム画面はPCのディスプレイの中央に小さく表示されるが、CD-ROMの入れ替えが必要な時にDaemon Tools Liteのウィンドウが全部表示される。いっぽうチェックを付けるとゲーム画面は大きく表示されるが、Daemon Tools Liteのウィンドウは下のほうが見えず操作できない。)

6. 昔作ったセーブデータがあるならば、インストールしたOBSIDIANフォルダの中のSAVED GAMESフォルダの中にコピーしておく。

7. Daemon Tools LiteにObsidianのCD-ROMを4枚目までマウントする。(Daemon ToolsのLite版は同時に4枚までしかマウントできない。ゲームが5枚目のCD-ROMを要求したらその時点でディスクイメージを入れ替えることになる。)

8. インストールしたOBSIDIANフォルダの中のOBSIDIAN.EXEを起動する。

動作確認した機器+Windows10では上記の方法でゲーム動作、動画、効果音が正常に動いた。しかもゲームが5枚目のCD-ROMを要求するまではディスクの入れ替えが不要。さらに、Windowsのタスクバーから他のソフトを起動して、たとえばPC内にデジタルデータとして保存したヒント集を見ながらプレイすることも可能(タスクバーが見えなければWindowsキーで出す。Obsidianはウィンドウ表示でなく全画面表示なので、ヒント集とゲーム画面を同時に見るのでなくタスクバーをクリックして交互に見ることになる)。

BGMだけは鳴らなかった。

上記の方法は公式のものではなく、試行錯誤の結果突き止めた方法にすぎない。他のアプリケーションソフトと同時に動かしたり、何度も起動/終了を繰り返すうちに、ある日ゲームが起動しなくなることがないとは言い切れない。
追記:実際、数か月後に試した時は起動しなくなった。


コメント(0) 

コメント 0

コメントの受付は締め切りました