Windows11でDOSBox-xを使った環境を作る
ROG Allyでどうしても昔のDOSゲームを動かしたいのだけれど、当然Windows11では昔のDOSゲームは全く動きません。ということで利用するのがエミュレータなのですが、その為にVMware Workstation Playerを入れたり、WSL2 + Virt-ManagerでQemuで環境構築も冗長。。そこで利用するのがDOSBox-x。
オリジナルのDOSBoxから派生したマルチプラットフォームでDOSを動かせるもので、海外のゲーム販売などではDOSBoxを利用して再パッケージしたDOSゲームが販売されてるほどです。
今回利用するアプリケーション等
今回DOSのゲームを動かすという目的ともう一つ目的があります。昔のDOSゲームでCD-ROMを要求するものがあり、そのCDがMixed CDとなっているため、データ+CD-DA構成が故にISO化ができず、Bin + Cue形式のイメージファイルになっています。
そのため、このCDイメージをマウントする為にDaemon Toolsが必要なため導入しています(コマンドラインで標準でマウントも可能ですが)。ImgDriveなどではこれはマウントができないので、ゲームをプレイできても音が出ないことになります。
今回検証でプレイするのはThe Settlers II 日本語版というゲームになります。これ自体もう入手困難な一品ですが・・・
また、DOS, Win3.1, WIn95は動作しますが、OS/2は動作しません。こちらはDOSBox/2というOS/2を動かせるように移植したバージョンで動作するようです。
図:インストール自体は簡単ですが・・・
DOSBox-xの概要
DOSBoxとはDOS環境に特化したハードウェアエミュレータで、現在ではこのエミュレータをベースにして再パッケージしたゲームがリバイバル販売(主にGOG.comなどが多い)されていたり、またdosgames.comのようにウェブ上で動作するようにしてブラウザ上でDOSゲームを再現したりと幅広く活躍してるアプリです。
現在のWindowsではかつてのDOS環境を実行すること自体が不可能であるため、このようなエミュレータを介して環境を構築する必要があります。
また、更にこのDOSBoxから派生して色々改造を施したバージョンDOSBox-xであり、
- PC-98用のDOSエミュレーションにも対応。こちらのPDFでPC98エミュレーションについて詳しくまとめられています。
- さらにさらに腕があればWindows3.1やWindows95なども動かせるのでVMwareのような重量級の仮想マシンを導入することなく運用できるのもメリットの1つです。
- VooDoo 3dfxアクセラレータのエミュレーションにも対応
- その他多数オーディオカードのエミュレーションにも対応
※Intel-VTなどを利用してるわけじゃないので、macOSのParallels上のWindows11でも動かせます。
※派生品にDOSVAX/J3であったり、RetroArchでも採用されてるDOSBox Pureがあります。
※PC98モードを装備していますが、やはりPC98動かすのであれば現在も開発続いてるNeko Project 21/Wがオススメです。
インストールと環境整備
DOSBox-xのインストール
エミュレータ本体のインストール自体はそこまで難しくありません。
- インストーラを起動する
- macOS上のParallels + Windows11で動かしてたのでBuildの選択画面が出たので、ここではARM 64bitを選択していますが、通常のWindows環境ならばデフォルトのままで問題なし
- Copy all DOSBox-x Builds to sub-directoriesにチェックを入れて次に進む
- 今回はDOSのバージョン選択では7.0を選択しました。
- これで最後までインストールを進める
最終的に起動すると日本語メニューで日本語表示でDOSのが起動した状態になると思います。起動すると、ルートのドライブはZドライブになります。仮想のシステムでデconfig.sysやautoexex.batが見えますが、これは実体はdosbox-x.confとなります。この中身はメニューのメイン=>設定ツールの中にあるCONFIG.SYSやAUTOEXEX.BATなどを開くと編集できるようになっています。
最新版はすでに日本語化および日本語表示、日本語キーボード対応になっています。FEPだけは手動でインストールが必要ですが、普通にWindows11のIMEで日本語入力しても入力できちゃうので不要かも。昔と違って随分と手軽になっています。
※macOS版と違って20230901のWindows版は日本語でインストールをすると、キーボードやメニュー設定が全て日本語化してくれるのでとても楽です。macOS版の場合はLanguage=ja_JP.lngなどを手動で編集が必要。
図:ビルドバージョンを選択
図:DOSのバージョン選択画面
ディスクイメージの取り扱い
以下のマウントではコマンドラインを使っていますが、メニューからもドライブレターを指定してHDDやCDのディスクイメージをマウントさせることが可能です。ただ、自動化するにはコマンドラインが必要なのでBATファイルにコマンドを記述しておけば、叩くだけで2つのイメージを自動でマウントしてゲームを起動するまでを自動化可能です。
CD-ROMをマウントしておく
ゲームのCDから吸い出したディスクイメージであるbin+cueのイメージをDaemon Tools Liteにてマウントします。cueファイルをダブルクリックするだけでディスクドライブとしてマウントされます。
今回、Fドライブとして見えてるのですが、これだけではDOSBox-xからは見えないので、DOSBox-xのコマンド画面から以下の入力をして実行します。
1 2 3 4 5 |
//物理ドライブもしくは仮想ドライブをマウントする mount f f:¥ -t cdrom //bin+cue / isoのイメージファイルを直接マウントする imgmount D C:\Images\MyImage.cue -t iso |
すると、DOSBox-x上でFドライブとして、実ドライブのF:¥以下がcdromとしてマウントされ見えるようになりました。ただし、インストール時に使ったドライブレターに対してゲームが読みに行くので、どのドライブレターにマウントしてインストールしたのかは覚えておく必要があります。
※Windows11 ARM版の場合は、Daemon Tools LiteもARM版を利用する必要があります。
図:無事にマウントできました
図:コマンドラインで直接マウント
HDDイメージの作成とマウント
ゲームをインストールする為に、仮想HDDイメージの作成とマウントをしておく必要があります。
- メニューよりDOS=>空ディスクイメージの作成をクリック
- いくつか選べますが今回は2GBのディスクを作成することにしたのでチェックを入れる
- OKをクリックする
- イメージファイル保存場所を指定すると作成される
さて、作成したイメージファイルをDOSBox-xにマウントするには
- メニューより、ドライブを開きマウントするドライブレターを選ぶ(今回はGドライブを選んでみた)
- ディスク/CDイメージをマウントをクリックする
- 先程作ったディスクイメージを選択する
- Gドライブとしてアクセスができるようになる
コマンドラインからならば以下のようなコマンドを入力してもマウントが可能です。imgmount単体で実行するとイメージマウントしてるドライブ一覧が出てきます。
1 |
IMGMOUNT G C:\xxxxxx\diskimage.img |
diskimage.imgをGドライブとしてマウントするというコマンドになります。Autoexec.batなどに記述する場合に使います
図:ディスク作成画面
図:HDDをマウントしてみた
HDDイメージを読み書き
今回作成したHDDイメージファイルはDiskExplorerを使うと直接読むことが可能になります。起動して仮想HDDファイルを読み込ませ、「vmware plain disk」を指定すると内部が見えるようになります。FAT16は読み書きが可能ですが、FAT32は読み込み専用となります。
図:HDDファイルの中身を確認出来る
DOSBox-xの環境変数
特定のディレクトリに入れたコマンドをいちいちdirで辿って実行ではなく、通常のコマンドのように叩けるようにするには、環境変数に追加が必要です。c:¥dosv¥以下にコマンドがある場合は、このフルパスをconfig.sysのpathに登録することで、直接コマンドが実行できます。
図:pathを追加する場所
ゲームパッドを使ってみた
単純にUSBハブ経由でPS5コントローラを接続し、DOSBox-xで特に設定変更もせずに認識するのか?テストしてみましたが、バッチリ認識。キーアサインやキャリブレーションは必要ですが、アプリ側での作業以外は特に設定フリーで4ボタンゲームパッドとして認識されます。
キーの割当等はゲーム側次第なところがあるので必ず使う前にどのキーが対応してるのか調べてみましょう。そのまま使えないゲームもあったりするのでマッピングをしてあげるようにしましょう。
※ROG Allyだと本体のXBOXコントローラがプライマリとして認識されてしまうので、PS5コントローラを使うには設定変更が必要です。
実際に動かしてみる
DOSBox-xの各種設定
今回は特に変わった設定は必要ないので行っていませんが、かなり細かく色々と設定が出来るようになっています。DOSBox-x特有の設定ということに絞ると、dosbox-x.confに記述する内容として
- macineの値をpc98にするとPC98モードになります。
- また、合わせてコメントアウトされてる「pc-98 force ibm keyboard layout」を解除して、pc-98 force ibm keyboard layout = falseとすると良い。
- voodooカードのオンオフ
になると思います。それ以外にもネットワークカードの設定(NE2000)やVRAMとしては8MBまで指定が可能。これらはその殆んどがメイン=>設定ツールから出来る様になってるのでお手軽です。
他にゲームなどでCPUサイクルが早すぎてフリーズしたりゲームにならない場合でも、スピード調整機能があったり、シリアルポート制御なども対応してるなど他の仮想環境にはない独特のものが多く、ゲーム画面の録画や録音、セーブステートの保存・復元とゲーム向けの機能も充実していますので、ROG AllyのようなポータブルUMPCでDOSゲームを楽しむのに最適なアプリです。
※コマンドラインから直接PC98モードで起動するには以下のコマンドで実行します。仮想HDDはAドライブとしてマウントが必要なので要注意。
1 2 3 4 5 6 |
//98モードで起動 DOSBox-X.exe -machine PC98 svga_s3にすると元のDOS/Vに戻る //HDDをマウント imgmount a c:¥hdd.hdi |
図:様々な機能が充実しています
ゲームをインストールしてみる
実際にインストールする
ゲームのインストールですが、Zドライブにインストールするわけには行かないので、仮想HDDファイルを用意してそこにインストールするようにします。また、事前にCD-ROMイメージもマウントして見えるようにしておきます。
さて、CDも見えてHDDをもマウント済みなので、今回のテーマのゲームをインストールしてみます。
- install.batを実行する
- グラフィカルインストーラが表示される。マウスも使えるようになっています。
- G:が表示されてるのでそのまま進める
- サウンド設定はそのまま標準のまま進める
- インストールが完了したらG:に移動する
これでG:ドライブにインストールが完了しました。
図:インストーラの画面が起動した
起動してみる
さてゲームを起動します。コマンドラインでGドライブに移動してSettlerJのフォルダに入る
- STARTを入力して実行すると、ゲーム開始。
- 冒頭の長い朗読はESCキーでスキップできます。メニューのメイン=>マウスをキャプチャを忘れずに
Daemon Tools Liteでマウントしてる場合、Mixed CDのCDDA部分が再生できるので、この時点ですでにBGMだけじゃなく、朗読がきちんと始まりバックグラウンドのCDDAサウンドも再生できています。macOS単体だとBin+Cueのディスクイメージがマウントできないので、コマンドラインから叩けばDOSBox-x内でbin+cueのイメージをマウント可能です。
CDDA音源なので非常に綺麗でクオリティが高いのですが、それが故に後世で動かす上で難易度上げてしまってる為、DOSBox-xとDaemon Tools Liteの組み合わせが必要になっています。DOS/Vのゲームはこのタイプが結構ある。
図:バッチリ完全動作しました
言語モードの切替
DOSBox-xは標準では日本語のコードページで動いています。そのため、海外のゲームを動かしたりセットアップをする場合、動かないことがあります。その場合は、以下のコマンドでUSモードに切り替えてインストールする必要があります。また、キーボードがUSになったりもするので注意が必要です。
1 2 3 4 5 |
//USモード切り替え chcp 437 //JPモード切り替え chcp 932 |
今回テストしたNetwork Q Rally Championshipをインストール時にぶつかり上記の設定でインストールおよびサウンドカード設定を行っています。USキーボードになるので、インストール先指定時の¥は「/」、コントローラ設定していなかったのでデフォルトでは、「:」がアクセル、「/」がブレーキとなり、ZとXがそれぞれ方向キーとなっています。
こちらもCDDAの混じったMixed CDなbin+cueのイメージファイルにしているので、CDマウントが必要です。当時はこのクラシックな画面でもラストまでガッツリ楽しむほどラリーが好きでした。GC8なインプレッサがやはり最高で実車からサウンドは録音したそうです。
図:DOSですが十分引き込まれますよ
図:ミュージックがなかなか好きでした
PC-98モード
DOSBox-xはPC98に対応しているからということもありますが、d88形式のディスクイメージやPC98のFDI形式の読み込みにも対応しています。すべてのイメージを読み込めるわけじゃないようですが(N88 Basicのディスクなどは不可)、それでもここまで対応してるのはなかなかだと思います。
PC98モードで起動したら、AドライブにFDI形式のものを読み込ませてみて(すべてのファイルで指定すると表示される)、Cに仮想HDDを用意して、インストーラを実行。試しにBio100% フリーゲームコレクションのディスクイメージを読み込ませてみました。
インストール後はCドライブにプログラムが入ってるのであとはコマンドで叩くだけです。ただしPC98系は色々なディスクイメージ形式やPC88系のもの、Basic系のものと存在し、これらの制限は実機BIOSを要求したりEPSONチェックを突破する必要があったりとハードルがあるものが一部あります。この点についてはこちらのサイトが非常にまとまっているので、手持ちのゲームで困った点があったら探してみると良いかと思います。
自分がテストした中では、FDI形式とHDI形式は普通に使えましたが、使えないものもありました。それらはDOSBox-xではなくNeko Project 21Wを使ってます。
図:PC98モードで起動された様子
図:PC98のゲームが無事に起動した
Windows98をセットアップ
概要
DOSBox-xはDOSエミュレータですが、Windows98 Second Editionまで対応しています。Windows98を入れる利点は、WindowsXP以降は動かなくなってしまったWin9x系のゲーム(16bit物やDirect Drawを使ったような旧タイプのDirectXを使ってるもの)を動かせる点です。VMwareではこれらのOSは動いても、ゲームが動かないというケースがあり(Grand Theft Auto 1やDungeon Keeperなど)、これらを素のまま動かせる上に、DOSゲームも動かせる環境なので、ニッチですが重要なポジションを担っています。
図:Win98セットアップ画面
事前準備
こちらの公式ページにセットアップ手順があります。基本的にはVMwareのようにCDブートしてインストールさせることが可能ですが、事前準備が必要です。
- win98.confというファイルを作成し、こちらのような内容で記述してdosbox-x.exeのあるディレクトリに格納します。
- win98.isoをdosbox-x.exeのあるディレクトリに格納します。
- メニューからDOS=>新しい空のディスクイメージを作成し、8GBでwin98.imgという名前で作成し、dosbox-x.exeのあるディレクトリに格納します。
- 1.のautoexec.exeでwin98.imgとwin98.isoが自動マウント指定され、CDはAドライブとして自動ブートするように指定しています。
- dosbox-x.exeへのショートカットのリンク先を「dosbox-x.exe -conf win98.conf」という形で設定ファイルを読み込む引数に修正してあげます
これで、dosbox-x.exeのショートカットをダブルクリックすると、設定ファイルが読み込まれ、CDイメージ、HDDイメージがマウントされインストールが開始されます。
最大512MBのメモリ、VooDooがデフォルトでオン+S3 Trio64, NE2000のネットワークカード、SB16 Vibreがエミュレーションされているので十分な環境が動作します。
※macOS版の場合、win98.confを読み込ませるには、ターミナルから「open -a dosbox-x --args -conf /Users/ユーザ名/win98/win98.conf」といったような形で実行可能です。
セットアップ手順
- 普通に起動するとCDブートするので、あとは指示に従ってインストールするだけ。
- 途中ネットワークカードのドライバなどの追加インストールなどが行われます。
- 動作が妙に遅い場合は、メニューからCPU=>ターボにするとちょっと早くなります。
- インストールが完了したら一旦シャットダウンします。
- win98.confを開き、以下の部分を書き換えます。
1234567[cpu]cputype=pentium_mmxcore=dynamic_x86[autoexec]IMGMOUNT C win98.imgBOOT C: - なぜか最新版だとこのままだとクラッシュするので、通常のdosbox-xを起動してCに作成したwin98.img, Dにwin98.isoを指定して、dosboxの画面で以下のコマンドを実行して続行しました。
1boot c: - 無事にセットアップが終わって起動したら、コントロールパネル=>マルチメディアのプロパティを開く
- MIDIの項目で単一の機器の値を「SB16 MIDI Out [330]」に変更してOKをクリック。
これで、Windows98の環境が整ったので、古いWindows9x系ゲームを動かせるようになりました。CDROMなどは途中でマウントができないので、Cドライブブート前にマウントしておく必要があります。
Windows98用DirectX8.1はこちらにありますが、confのcputypeはpentium_mmxにしておく必要性があるかもしれません。
※Win9xなのでWinGを導入すれば、Windows3.1のゲームも動作します。試しに大昔に雑誌についてたBad Toys 3Dというゲームを動かしてみたら、こちらもバッチリ動作しました。
図:無事にセットアップできた
図:WinGを使ったゲームも動く
初代Grand Theft Auto をプレイしてみた
他の仮想環境ではどうしても動かせなかった初代Grand Theft Auto。現在はフリーで英語版が配布されているので、これをダウンロードしてセットアップ。その後日本語化キットを使って日本語化を施してみました。前述のDirectX8.1を事前にインストールが必要です。
実際に起動してみましたが見事に起動。CD不要のタイプになってるのでそのままプレイし、懐かしの音楽を楽しみながら難易度の高い操作性でミッションをクリアできました。ゲームパッドならばもうちょっと楽に操作できると思います。
CDDA音源はwav形式で収録されているので、車に乗ればそちらが再生されます。
図:GTA1をセットアップ中
図:日本語化してプレイすることが可能です
関連リンク
- ねこープロジェクトII
- T98-Next
- Anex86
- PC-9800シリーズエミュレータの現況
- DOSBOX + WX2 で日本語入力
- 【Windows10】DOSBox-Xをソースからコンパイルして日本語キーボードを使う
- DOSBOX-x インストールからPC-98モード切り替えまで (ubuntu 20.04)
- 90 年代のクラシックな PC/Windows ゲームをほぼすべてのプラットフォームでプレイする方法
- DOSBoxの使い方
- Windows10/11で、DOS/V時代のアプリを動作させる【DOSBox】
- DOSBox-X上でWindows98をインストール
- DiskExplorer
- PC-98対応 最新版DOSBox-X DOS/Vモード日本語化とJW-CAD DOS/V その4
- 初代『ディアブロ』など95/98のゲームも簡単にプレイ可能に? 3Dfxにも対応した『DOSBox Pure』Version 0.9.5のアナウンス動画が公開。リリースは2022年6月22日
- DOSBOX pureでWindows9xを動かす話
- あれ? DOSBox-X で D88 がマウントできたということは