DOSパソコン・コンプレックスⅡ

VMware14が最新のWindows10ではうまく動かなくなってしまった。

前回のエントリにあるIBMのPC DOS J6.3/VでDOS文書プログラムを動かしたいのに、VirtualBoxも32ビット仮想マシンを作るとなぜか起動しない。あきらめてVMware Workstation Proを嫌々15.5にアップグレードした。そしたら4KモニタのHiDPIに対応しててすごく良い感じ。ということで今回はVMwareでいまだにコンプレックスなDOS 6仮想マシンをセットアップする。たぶんVMware Player 15.5でも同じだろう。

まず仕上がりの画面。

1番目 PC DOS J6.3/V起動。メモリドライバ、日本語表示・FEPは必要。
2番目 MEMでメモリの状態表示。基本メモリはまあまあ空いている。
3番目 DOS文書プログラムⅢの画面。24ドットフォントのしつこい感じが美しい。
4番目 DOSシェル。マウス操作やタスク切替も安定して動作する。

設定ファイル。

・CONFIG.SYS

BUFFERS=20
FILES=30
DOS=HIGH,UMB
COUNTRY=081,932,C:\DOS\COUNTRY.SYS
SHELL=C:\DOS\COMMAND.COM /P /E:512
DEVICE=C:\DOS\$FONT.SYS
DEVICE=C:\DOS\HIMEM.SYS
DEVICE=C:\DOS\EMM386.EXE RAM I=B000-B7FF I=C800-DBFF I=E000-E9FF FRAME=C800
DEVICEHIGH=C:\DOS\SETVER.EXE
DEVICEHIGH=C:\DOS\$DISP.SYS /HS=OFF
DEVICEHIGH=C:\DOS\$IAS.SYS
DEVICEHIGH=C:\DOS\ANSI.SYS /X
INSTALLHIGH=C:\DOS\IBMMKKV.EXE /M=S /Z=4 /C /L /J=90 /S=C:\DOS\MULTDICT.PRO /U=C:\$USRDICT.DCT
DEVICEHIGH=C:\DOS\POWER.EXE

・AUTOEXEC.BAT

@ECHO OFF
PROMPT $P$G
PATH C:\DOS
SET COMSPEC=C:\DOS\COMMAND.COM
SET TEMP=C:\TEMP
SET TMP=C:\TEMP
LH C:\DOS\KEYB.COM JP,932,C:\DOS\KEYBOARD.SYS
LH C:\DOS\SMARTDRV.EXE C+ 4096
LH C:\DOS\DOSKEY.COM /INSERT
LH C:\DOS\MOUSE.COM /S30 /P4 /R3


構築メモ。

・$FONT.SYS
HIMEM.SYSより前に読み込ませる。PCDOS7やMSDOSのJFONT.SYSとは異なり、$FONT.SYSがHIMEM.SYSのXMSメモリ管理と競合する方法でフォントを拡張メモリに格納するため。DOS6.1以降の$FONT.SYSはUMBを使えるからHIMEM.SYSとEMM386.EXEの後でDEVICEHIGH=で読み込んでも良いが、UMBの調整が済む前はHIMEM.SYSの前で読むほうが無難。

・EMM386.EXE
起動時にF8を押してEMM386.EXEを読み込まずに起動してからQCONFIGコマンドの最後にあるオプションROMの使用範囲を確認すると、ROM1:C0000H-C7FFFH、ROM2:DC000-DFFFFと出てくる。これ以外に 「IBM-PCの常識」としてB800H-BFFFHはCGA(DOS/Vのビデオバッファでも使用)、F000H-FFFFHはBIOSで使用しているので使用不可。B000H-B0FFHのMDAは使わないものとして空きとする。これよりUMBのウィンドウとして使える範囲を/Iオプションで指定する。I=B000-B7FF I=C800-DBFF I=E000-E9FF。この範囲からEMSページフレームは一番大きな連続空きを確保できるFRAME=C800で明示する。ほかにも細かい空き領域もありそうだが、多少余裕があるほうが面倒がないし、よくわからない動作も防げる。

・$DISP.SYS
ハードウェアスクロールはオフ。/HS=OFF。これを指定しないとスクロール時に画面の半分以上が消えたりして不便。/HS=LC(ラインコンペア)でもダメだった。

・MOUSE.COM
仮想マシンで動かしたときの加速度や遅延が気になるので適当に調整した。/S30 /P4 /R3。

PCDOS2000の時もEMM386.EXEのウソ情報にはあきれたけど、今回はその他にも「VMwareとMS-DOS 6.2/Vの古いバージョンのEMM386.EXEは動かないからWin95のEMM386.EXEで上書きしておk!」みたいな微妙な解決法が出てきた。手っ取り早い解決法ではあるけど技術的にはちょっとね。Windows10のクライアントHyper-VではどうしてもEMM386.EXEが動かせなかったが、VMWare15.5ではPC DOS 6.3オリジナルでも、6.30CのPTFを入れたバージョンのEMM386.EXE (4.50)でも問題なく使えた。今回はBIOS接続なデバイスのみにとどめたからとっても安定。深追いしてUSBネイティブドライバやWindows3.1の世界に分け入ると魑魅魍魎が跳梁跋扈してて泥沼に嵌ること間違いなし。

DOS時代のパソコンはおもしろい。リアルで体験できなかったのが悔やまれる。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google フォト

Google アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

%s と連携中