VirtualBox

2014年12月17日 (水)

Oracle VM VirtualBox で MS-DOS6.20v を実行しゲームを

12月17日 晴れ

VMware Player が音の問題で DOS のゲームには向かないと言うことが判明し、
VirtualBox についてもこれを確認することにした。
DOS のゲームには VirtualPC2007 は割と良好であることは確認済み。
Dosbox も良好であるが、使い方が、ちょっと・・・まあ D-Fend を使えばまあまあだが。

VirtualBox では今まで、windows 系や、ubunta を入れてテスト用に使ってきたが、DOS 系は使ってなかった。
先日、PC DOS4.00 を試しに入れて、消した事だけだ。

まず、VirtualBoxを起動し、新規から、OSタイプは Other
バージョンは DOS で。
メモリは起動するゲームしだいだが、16MB もあれば十分。
HDD は可変なので適当に。256MB もあればよいか。
Create を押して作成する。

設定から、ストレージ->フロッピーコントローラを追加、MS-DOS6.20v のインストールディスク1を割り当てる。
Vboxmsdos62v007

オーディオは SoundBlaster 16 であることを確認する。

ゲスト起動。HDDを確保して、フォーマットが行われる。
そのままの設定で、組み込み開始。
順次FDDを交換する。
FDDのマウントを解除して、再起動。

画面は黒く何もでない・・・
リセットすると、EMM386 のエラーメッセージが出るが、それが消えて、真っ黒に。
これは JDISP の不具合なので、起動FDDから始めて、config.sys を修正する。

EMM386.EXE の行に NOEMS を追加
JDISP.SYS の行に /HS=LC を追加
MSIME はとりあえず、コメント化。
Vboxmsdos62v037

autoexec.bat の SMARTDRV の行もコメント化。

リセットすると、エラー無く DOS/V モードで HDD から起動した。

今回ゲーム起動について検討するので、US モードの起動ファイルを使うことにする。

ホストの CPU 使用率が高いので、これを下げるために
MS-DOS 付属の POWER.EXE を組み込む。
(DOS/V モードだと EMM386 のエラーが出て止まるが、
US モードで、EMM386 を使わなければ大丈夫)

filer をコピーして、CD とマウスのドライバを入れる。
できるだけ HMA に組み込む。
Vboxmsdos62v043_2
Vboxmsdos62v045_3
Vboxmsdos62v047_2
US モードなので、EMM386 を使わなくてもフリーエリアが 561360bite あるのでまあまあ広い。
CPU 使用率もアイドル時はほぼ0%。


次にゲームに関して確認した。

*****************   Apache longbow   ******************

インストールCDをマウントして、US モードでインストール。
"CD":
install

インストーラが起動する。
インストール後、Apache longbow を起動。
設定画面になる。
Vboxmsdos62v061

サウンドカードを soundblaster 16 に
Address 220
Interrupt 5
DMA 1
Sound は Speech Music ともに選択
Effects は Full で
Controls は キーボードで

この設定だけで(Autoexec.bat で blaster の設定をしなくても)音楽、効果音、音声は鳴って、キーボードでゲームはできる。
Vboxmsdos62v063

Controls の Cyclic を Joystick にしても、ジョイスティックは反応しない。
DOS からは USB 機器自体を認識しないようなので、USBジョイスティックはだめのようだ。
キーボードを使うゲームならOKのようだが、フライトものは厳しいことがわかった。

結局、昔のフライトものゲームをするなら、DosBox か VirtualPC と言うことのようだ。


***************** Need for Speed *****************

ジョイスティックを使わないゲームとして、昔遊んだ、Need for Speed というレースゲームを試した。
インストールバッチを起動しても動かないので、フォルダを作って全ファイルをコピーする。
Autoexec.bat に
SET BLASTER=A220 I5 D1
を追加し、(無いと音が出ない)
nfssb.bat の方で起動すると、音楽、効果音ともに鳴ってゲーム可能。
Vboxmsdos62v069

ただコントロールをキーボードにすると Fキーで右回り ;キーで左回りになるので、
カーブでしょっちゅう逆に曲がってフェンスに当たる。
マウスに設定もできるが、反応がシビアでこれも操作が難しい。
昔、IBM aptiva の付録CD内にあったし、有名なゲームだが、この操作性の悪さのせいか、やりこんだ記憶は無い。
一応動くことは確認した。


****************** EpicPinball  ******************

以前 VirtualPC2007 でも試した、EpicPinball というピンボールを試してみた。

これも、フォルダを作って全ファイルをコピーする。
まず、setup.exe を実行。サウンドの設定にはいる。
SOUND BLASTER 16 は一覧に無いので、
SOUND BLASTER PRO を選択。
IRQ は 5
DMA は 1
PORT は 220H に設定。
EXIT,SAVE で終了。
(Autoexec.bat で blaster の設定をしなくてもOK)
PINBALL.EXE を起動する。
Vboxmsdos62v072

音楽、効果音ともに鳴ってゲームは起動するが、表示が速すぎて、ゲームできない。
また、ゲーム終了してDOS に戻る時にエラーが出て止まる。
VirtualPC2007 の MD-DOS に入れたときも同様に、速過ぎてできなかった事を思い出す。

*****************************************************

他にもいくつかピンボールやブロック崩しを試したが、できるゲームもあり、動かないゲームありであった。

一応設定すれば音は出るので、USBジョイスティックや、パッドを使わない一部のゲームなら可能という結論になった。

検証途中から、ジョイスティックの調子が悪くなっているのに気付く。
以前もわずかにあったが、三軸の捻りが、片側によってしまう傾向が悪化していた。
やはり、安めのものは耐久性に難があるようだ。

2014年11月22日 (土)

Oracle VM VirtualBox で PC DOS4.00 を実行

11月22日 晴れ

ネットで IBM PC DOS4.00 を見つけたので、Virtual Machine で実行できるか、試してみた。
command.com の日付を見ると1988年なのでもう30年近く前のOSと言うことになる。
 

********** VirtualPC2007 ***********

まず、VirtualPC2007 に入れてみた。新規に作成し、インストールFDイメージから起動、HDDを作成、フォーマットして
ファイルはHDDにコピーされ、インストール成功・・・と思ったが、再起動してもHDDからだとどうしても起動できず止まる。
HDDの config.sys autoexec.bat をすべて無効にしてもだめ。
起動できるインストールFDの config.sys autoexec.bat を少し直して、HDDに入れても同じであった。
調べると VirtualPC の IDE コントローラあたりと合わないらしい。(英語のサイトより)
 

********** VMwarePlayer ***********

次に最近よく使う VMwarePlayer でも試してみた。新規マシンの作成をして、FDDを追加し、
インストールFDイメージから起動・・・が既にできない。いきなり再起動を繰り返すだけになってしまって、ダメ。
 

********** VirtualBox ***********

IBM PC DOS4.00 は Virtual Machine では無理なのか?
と思いつつ、Oracle VM VirtualBox でも試してみた。
Oracle VM VirtualBox は Windows や ubunta をいれて試したりしていたが、DOS系は使ったことが無かった。
結局これが成功したのだが、以下覚書として記す。

新規 仮想マシンの作成
メモリは16MBで十分(4MBでもOK)
HDDも32MBもあればよい、作成ボタンをクリックする。

設定でフロッピーに IBM PC DOS4.00 の install.img を割り当て
IDEコントローラーは PIIX4 のままで OK (PIIX3  ICH6 いずれでもOK)

Vboxpcdos4005

起動する
Vboxpcdos4007

英語でいろいろ説明があるが ENTER で

ドライバ読み込みと空きメモリ関係は、とりあえず1で
Vboxpcdos4010
(2 3 の設定でも動くことは後で確認)

国指定は
Vboxpcdos4011
Vboxpcdos4012

C: のHDDにインストールを指定してインストール
再起動指示が出るので、Ctrl+Alt+Del
Vboxpcdos4018
OPERATING diskette にマウントしなおして ENTER
Vboxpcdos4019
インストール成功がでる。FDを除去して Ctrl+Alt+Del

VirtualPCでもここまではできたので、緊張の一瞬。

Vboxpcdos4020

無事、DOSSHELL が立ち上がったようだ。

ENTER すれば command prompt が出た。
Vboxpcdos4021

1.Minimum DOS function; maximum program workspace の時の config.sys と autoexec.bat と空きメモリは
Vboxpcdos4022_2
Vboxpcdos4023_2
Vboxpcdos4024_2

3.Maximum DOS function; minimum program workspace の時の config.sys と autoexec.bat と空きメモリは
Vboxpcdos4029_2
Vboxpcdos4030_2
Vboxpcdos4027

DOS コマンド内には EMM386 も HIMEM も無いので、HMA や UMB は使えない、シンプルなもの。
CDもマウスもそのままでは使えない。(当時一般にはDOSマシンにはCDROMドライブやマウスはなかったはず。)
CPU 使用率を落とすための、POWER.EXE や IDLE.COM は動かない。
しかし VirtualBox には設定->システム->プロセッサー タブで使用率を制限できる。
これを1-数%位に設定すると、タスクマネジャー上での使用率をかなり下げられる。
Vboxpcdos4031

Virtual Machine は Windows を入れてるときは互換性の差は感じないが、古いDOSではソフトによる差があるようだ。
CDROMやマウスも無く、いまさら使う必要も無い。
インストールの可否は確認したし、十分暇もつぶれたので、PC DOS4.00 は消去とした。