ピーえぬのブログ

適当に書いています

このブログで取り上げるエミュレーター DOSBox-X編

何度もずっとこのブログで取り上げてきたDOSBox-Xエミュレーターを改めて紹介します。

導入する理由

MS-DOSとPC-98のゲームを拘った環境で遊びたい人向けのエミュレーターです。

DOSBox-XとはDOSBoxの派生エミュレーターで、数多くの機能が存在しています。DOS互換のゲームエミュレーターとしてだけではなく、PC-98互換モードもあります。

GOG.comでDOSゲームを購入すれば、DOSBoxがバンドルされます。大抵の場合それで問題はありません。DOSBoxではできない設定をしたい人、自分で拘ってゲーム環境を作りたい人はDOSBox-Xを導入したほうが良いと言えます。

私が思うこのエミュレーターを使う主なメリットとして

  • スクリプトで起動を自動化
  • 豊富な機能とショートカットキー
  • CGA Compositeモードが使える(DOS)

が挙げられます。いちいちゲームファイルを選択したり、入れ替えたりする必要がなくなります。主に98のゲーム環境がより快適になるのではないかと思います。98モードでは動かないゲームもあるので、その場合は都度最新版を試したほうがよいです。

インストール

WIndowsユーザー向けです。インストーラーがあるので簡単にできます。

公式サイトからダウンロードする。

https://dosbox-x.com/

32/64-bit Setup:win7+という場所を押せばダウンロードが始まります。(2024現在)dosbox-x-windows-ver名-setup.exeというファイルがダウンロードされます。

32bitと64bit版がありますが、私は32bit版を使用しています。

インストールする際のオプションです。

上から2番目に

Write common config options (instead of all) to the configuration file

とありますが、これはconfigを記述するテキストファイル(confファイル)に、値の説明をするコメントアウト行を入れるかどうかです。このコメントアウトは大量に記述されているのでconfファイルが長ったらしくなります。 それを嫌う人はチェックを外してください。あとからでも消せますが面倒です。

コメントアウト行はdosbox-x.reference.full.confですべて見れます。

他のオプションは次の通りです。

  • Add "Run/Open with DOSBox-X" context menu for Windows Explorer
    エクスプローラーで右クリックしたときに「DOSBox-Xで実行」を表示するか
  • Automatically center the window on the screen when DOSBox-X starts
    DOSBox-Xを起動したときにウィンドウを中心にするか
  • Emulate the slowness of floppy drive and hard drive data transfers
    ファイル読み込みの速度もエミュレートするか

こだわりがなければデフォルトのままでも良いです。

DOSBox-Xのショートカットファイルなどで起動作業を自動化できるので、ROMをおいてる場所とDOSBox-Xのインストール場所はなるべく近いほうが簡略化できます。

無事に起動すればインストール完了です。

Configの編集

DOSBox-Xを起動する際にconfファイルを読み込ませる必要があります。デフォルトではDOSBox-Xと同じフォルダにあるdosbox-x.confを読み込みます。

設定をするならconfファイルをテキストエディタで開いて設定オプションを書き換える方法が楽です。ゲームごとにconfファイルを作成しておくことで設定環境を使い分けられます。

私の知る範囲で、デフォから変える可能性がある設定オプションだけここに抜粋していきます。すべての設定オプションの記述方法はdosbox-x.reference.full.confで確認できます。

[sdl]セクション
windowresolution = 640x480 #DOSBox-X実行ウィンドウの解像度。
autolock = true/false #ゲームでマウスを使うときウィンドウ内に閉じ込めるかどうか。
mapperfile = mapper-dosbox-x.map #キーボード設定ファイルの名前と場所。デフォはマウントフォルダの中。

[dosbox]セクション
machine = svga_s3 #できる限りキレイなグラで遊ぶならデフォで良い。PC98を使う場合は"pc98"。
captures = capture #スクショを保存するフォルダ。デフォルトはマウントしたフォルダにCapturesが作成される。

[render]セクション
scaler = tv2x #ディスプレイをテレビ風に設定する。ゲーム中に"Video>scaler"から別の設定へ調整可能。

[cpu]セクション
cycles = auto #ゲームの実行速度に関係する最重要事項。フレームリミッターのない古いゲームは1000以下の値で調整。
cycleup = 10 #cpucycleupを使用したときの上げ幅
cycledown = 20 #同じく下げ幅

[autoexec]セクション
#この設定でDOSBox-Xを起動した際に自動で実行するコマンドライン。batファイルと同じ役割。
#次のように記述するとゲームを自動実行できる
mount C "マウントしたいゲームフォルダのパス"
c:
"ゲームの起動ファイル"

 

音源関連の設定。ゲームによって必要であれば設定する。

[pc98]セクション
pc-98 sound bios = true #デフォルトでは存在しない。98のsound biosを利用するなら追加で記述する。DOSBox-Xのフォルダの中にSOUND.ROMが存在している必要がある。
pc-98 load sound bios rom = true #上に同じ。

[midi]セクション
midiconfig = 0 #midi driveの番号を指定する。主にMT-32を使う場合に必要。DOSBox-Xを起動してコマンドで"mixer/listmidi"と打つと利用可能なmidi driverの番号が表示される。

[sblaster]セクション
sbtype = sb16 #CMS対応のゲームを使用するときのみ調整する。
enable speaker = false #CMSを利用するならtrueにする。

[innova]セクション
innova = false #Innovation音源に対応したゲームをするときはtrue
samplerate = 22050 #44100,48000,32000,22050,16000,11025,8000,49716に対応。大きいほど高音になる。

ゲームショートカットの作成

DOSBox-X上でゲームを起動する場合はマウントという作業が必要になります。マウントとは、Windows上のフォルダをDOSBox-X上で扱えるようにするコマンドのことです。dosbox-x.exeを開いて

mount C "Windows上のフォルダパス"

と入力すれば、DOSBox-XのドライブCでマウントしたフォルダを扱えるようになります。DOSBox上では最初ドライブZがカレントディレクトリとなっているので、

C:

とコマンド入力してドライブCに切り替えます。

DOSBox-Xのデフォルトで:が打てない場合はshift+;を試して下さい。"shift+:で出ます。\/でもOKです。

その後にゲームの起動ファイルをコマンド入力すれば起動します。

 

しかし、いちいちこんな作業をするのはめんどくさいのでwindows上のショートカットで自動化するほうが良いです。dosbox-x.exeのショートカットファイルを作成すれば簡単にゲームが起動できます。

dosbox-x.exeの起動コマンドラインでは-set "設定オプション"-conf "confファイルのパス"が使えます。

  • -set "設定オプション" 
    実行する間だけ設定オプションを変更して起動できます。
    例えば-set "machine=pc98"とすればdosbox-x.exeを強制的にPC98モードで起動できます。
  • -conf "confファイルのパス"
    指定したconfファイルを読み込んでdosbox-x.exeを起動できます。

例えばGOG.com版のUltima4を起動する方法を例に挙げます。ゲームフォルダはC:\Program FIles(x86)\GOG Galaxy\GAMES\Ultima 4です。このゲームフォルダの中にUltima4用のconfファイルを作成します。ここではu4.confというファイル名にして[autoexec]へ次のように記述します。

[autoexec]
mount c "C:\Program Files(x86)\GOG Galaxy\GAMES\Ultima 4"
c:\
TITLE.EXE #起動ファイル1
AVATER.EXE #起動ファイル2

次にdosbox-x.exeのショートカットファイルを作成して、プロパティを開いてリンク先へ次のように記述してみます。

"c:\~~~\dosbox-x.exe" -conf "C:\Program FIles(x86)\GOG Galaxy\GAMES\Ultima 4\u4.conf"

このDOSBox-Xのショートカットファイルを開けば無事にゲームが起動します。

同じconfファイルを共有したままグラフィックだけ変えたい場合、例えばmachine=CGA_Compositeにしたいなら

"c:\~~~\dosbox-x.exe" -conf "C:\Program FIles(x86)\GOG Galaxy\GAMES\Ultima 4\u4.conf" -set "machine=cga_composite"

とします。

フロッピーディスクイメージの場合

PC98モードでフロッピーディスクイメージを読み込む場合はmountではなく、imgmountというコマンドが必要になります。

以下はconfファイルの[autoexec]へ記述する例です。(fdiファイルがC:\GAMEにあるとします)

[autoexec]
imgmount 0 "C:\GAME\game1.fdi"
imgmount 1 "C:\GAME\game2.fdi"
boot -L a

0がドライブ1、1がドライブ2となります。

ゲーム中にディスクの切り替えが生じる場合、パスを続けて記述します。例えばドライブ1でgame1.fdigame2.fdiを切り替える必要がある場合は

[autoexec]
imgmount 0 "C:\GAME\game1.fdi" "C:\GAME\game2.fdi"
imgmount 1 "C:\GAME\game3.fdi"
boot -L a

とします。DOSBox-XウィンドウのDOS欄にSwap floppy drive(フロッピーを入替)があります。ディスクの入れ替えが必要になったらそれでフロッピーを入れ替えます。初期ではF11+Oにショートカットが割り当てられています。ショートカットの変更は後述しますが、私はAlt+Dに割当を変更しています。

キー設定の変更

キー設定はconfファイルにあるmapperfile=以降に書かれたファイルに従います。キー設定を変更したらそのファイルにキー設定が保存されます。

デフォルトではmapperfile = mapper-dosbox-x.mapとなっています。

mapper-dosbox-x.mapはマウントしているフォルダの中へ作成されます。もし全てのconfファイルで共通のキー設定を行いたい場合は、読み込みたいmapファイルの絶対パスを記述してください。空白にした場合はキー設定が保存されません。

 

DOSBox-Xを開いてMain欄のMapper editorを選択します。またはデフォルトでF11+Mのショートカットで開きます。

画面は英語版と日本語版です。バージョンによってレイアウトが変わりますが基本的に同じです。

キー設定画面では、del(削除)で現在の割り当てを削除、Add(追加)を押してキーを入力すると入力したキーが割り当てられます。Bindのキーがパソコンのキーボードで入力するキーのことで、Eventが出力するキーです。1つの出力キーに2つ以上入力キーを割り当てる場合はNext(次)を押して追加します。割当が上手く完了したらSave(保存)を押します。失敗したら保存せずExit(終了)を押してください。

ショートカットキーにAltなど母体キーを割り当てたい場合はMod1Mod2などのボタンを直接クリック選択します。デフォルトでは

  • Mod1=Ctrl
  • Mod2=Alt
  • Mod3=Shift
  • Host=F11

となっています。

日本語入力(PC98)

98モードでの設定画面です。

殆どの場合はKANAキーを使用すれば日本語入力が可能になると思います。いらない適当なキー(Tabが筆頭)を割り当てましょう。その際、新たに割り当てたキーはdelにて削除しておくことをおすすめします。

グラフィックの違い(DOS)

グラフィックの特徴を大雑把に説明しておきます。

Hercules

モノクロで表示されます。横の解像度が高く文字が高精細ですがほとんどのゲームは非対応で使いません。

CGA

4色カラーの一番ベーシックなカードです。最低限これに対応しています。殆どのゲームはEGAまたはCGA Compositeモードに対応するのでそちらを使ったほうが良いです。起動中にショートカットキーでCGA Compositeへ切り替えられます。

CGA Composite

CGAをベースとして最大16色のカラーに対応します。CGAよりも解像度が落ちるので精細さにはかけますが、多くの初期のゲームはこのモードを前提として作られていました。

DOSBox-Xでは使用できますが、DOSBoxでは利用できません。machine=cga_compositeまたはcga_composite2です。2つはカラーパレットが微妙に異なります、またショートカットキーで切り替えることができます。また実行中にCGAへショートカットキーで切り替えられます。

別記事で詳しく書いてます。

DOSのゲームをCGA Compositeモードで遊ぶ ウルティマ4 - ピーえぬのブログ

Tandy

Tandyマシン向けなので対応しているゲームは少ないですが、高精細な16色が使用できます。最大の特徴は音源で内蔵スピーカーの数段美しい音楽を楽しめます。King's QusetやSpace QuestなどSIEERA ON-LINEのゲームが数多く対応します。

EGA

初期ゲーム以外はほとんどのゲームがこれに対応します。16色で解像度も高く、文字がはっきりと見えキレイなグラフィックです。

最後に

都度、更新していきます。