次はDOSエミュレータのDOSBOX+Xで動かしてみるパターンでやってみます。 これも結論からいうと成功しました(難点がないわけではないのですが)。
DOSBox+Xとは
DOSBox+XはPC/AT機互換機DOS環境エミュレータのDOSBoxのメジャーなフォークの一つです(という認識)。 dosbox-x.com
DOSBox自体エミュレーションの精度も高く高機能で安定しており、例えば欧米でDOS用ゲームをWindows用に再販するときはDOSBOXで実行するようにパッケージングされたものが珍しくありません*1。
DOSBox+XはDOSBoxにない機能を多く持っているのですが、その一つにPC-9801用のDOSエミュレーション機能があります。今回はそれを利用してBCFの実行を試みてみました。
準備物
今回利用させていただいたのものは以下です:
- DOSBox-X 本体
- https://github.com/joncampbell123/dosbox-x/releases から取得
- 今回は64bit Windows向けのポータブルバイナリということで dosbox-x-vsbuild-win64-20210831224158.zip を利用
- adddev.exe
- http://www.vector.co.jp/soft/dos/writing/se002001.html
- 起動後にデバイスドライバを読み込ませることができるユーティリティ(DOSのADDDRVと同等)
- DOSBoxはCONFIG.SYSで起動時にドライバを読み込む仕組みがないため利用
- DiskExplorer
- https://hp.vector.co.jp/authors/VA013937/editdisk/index.html
- Ver1.69
- Wizardry CollectionのHDDイメージから必要ファイルを取得するために利用
Wizardry CollectionのBCFをDOSBox+Xで実行するときのポイント
基本的にはあまり特殊なことはしていません(多分)。
ポイントだけかいつまむと以下のような感じでしょうか。
- DOSBox+XはとりあえずSDL1版を利用した
- 設定ファイルで動作モードをPC98モードに設定
[dosbox]
セクションでmachine = pc98
に設定
- Wizardry Collectionの
BCF_CDS.hdi
からBANEフォルダとCDS16フォルダを任意のフォルダにコピーしてCドライブなどとしてマウント- BCFの実行ファイルは 以前のエントリ の手順で書き換えたバイナリを利用
- DiskExplorerで読み込む際はATモードで読み込むこと
- Wizardry CollectionのBCF用CONFIG.SYSを参考に、ADDDEVを利用して必要なドライバを組み込む
- ADDDEV.EXEをCドライブとしてマウントするフォルダにコピーしておく
- DOSBox+Xの設定ファイルの
[autoexec]
セクションで読み込む
今回、dosbox-x.conf はdosbox-x.reference.conf をコピーしたうえで以下の部分だけ書き換えたものを使いました。
[dosbox] # 動作モード設定。必須。この設定でDOSBox+XがPC-9801モードで動くようになる。 machine = pc98 [autoexec] # C_DRIVEフォルダをCドライブとしてマウント(C_DRIVEフォルダ配下に必要なファイル一式をコピーしておく) MOUNT C C_DRIVE C: # 本来CONFIG.SYSで組み込んでいた、BCF実行に必要なドライバ類の組み込み ADDDEV +C:\BANE\kjp.bin ADDDEV +C:\cds16\vmouse.sys ADDDEV +C:\BANE\muse2.drv -d450 -k0 #組み込んでも実はまともに音が鳴らないのでどっちでも良いといえばよい # BCFの実行 CD BANE PLAYBANE
実行イメージ
雑感
- 設定さえできてしまうと高機能だし実行も楽、設定は少し煩雑だがむつかしくはない
- 音は正直良くないがBCFはあまりBGMもないので大きな問題ではないかも
- 設定をいじることで改善の余地はあるかもしれないが不明
- ステートセーブ&ロード機能もあるのでマニュアルプロテクトがめんどくさい人にとっては結構なアドバンテージかも
取り合えず、これにて(一旦)Wizardry Collectionについてのメモは終了の予定です。
*1:SteamやGOG.comで販売されているWiz BCF/CDSもバンドルされたDOSBoxで実行する