PCemでDOS J4.0/Vを動かす
DOS 5以降であればDOSBoxなりVMwareなり、たいていのPCエミュレーターで動作するんだけど、IBM版DOS 4.0の場合、メモリーマネージャー (XMAEM.SYSとXMA2EMS.SYS) が大半のPCエミュレーターでサポートされていない古い286プロテクトモードとPS/2のBIOSに依存するため、これが問題になる。同時期のOS/2 1.xも286プロテクトモードに依存するため同様の問題が発生する。日本語版もまた同様。
あらかじめディスク上のCONFIG.SYSを編集してXMAEM.SYSを外しておけば、これらのエミュレーター上でもDOS 4.0を動作させることはできる。しかし、英語環境ではメモリーマネージャーはWindowsを使う時以外必須ではないが、日本語環境ではIBM連文節変換プログラム (IBMMKK) などの日本語入力ソフトがEMSメモリーを必要とする。代わりに単漢字変換プログラム ($IBMSKK.SYS) を使えばEMSメモリーは不要だが、日本語入力には非常に苦労することだろう。そもそも便利かどうかというより、当時を再現するなら完全に動作する環境を作り上げたいというのがコンピューターオタクにとってのロマンだ。
今回はPCemを使う。PCemは86Boxからの派生で、基本部分はほぼ同じだが、レトロコンピューティング界隈ではWin9xの動作がより快適なPCemを選ぶ人が多いように見える。
DOS J4.0/Vのバージョンたち
ネット上にはPCの歴史としてDOS J4.0/Vを取り上げた記述はたくさんあるが、そのディスクイメージはおろか具体的な情報もほとんどない。実機やエミュレーターでの使用例がいくつかあるだけだ。
DOS J4.0/VにはJ4.05/V, J4.06/V, J4.07/Vの3つのマイナーバージョンがある。IBM DOSの日本語版としては、DOS J4.0の中にJ4.01からJ4.08まで(私が知る限り)のバージョンがあるが、これらはディスプレイ・アダプターというPS/55固有のビデオカードを必要とする。このビデオカードはVGAとは全く別物で、PCemでもサポートされていない。DOS J4.0はDOS J4.0/V(もといDOS/V)とは別物と考えた方が良い。DOS J4.0/VはDOS J4.0の途中から派生したため、バージョン番号がJ4.05/Vから始まった。
DOS J4.05/Vは3.5インチHDフロッピーディスクが2枚、J4.06/V以降は3枚または4枚になる。この最大の違いはIBMMKKが付属するか否かだ。旧来の日本語DOSではIBMMKKが別売だった。DOS J4.0/V発売当時に対応するサードパーティーの日本語入力ソフトは皆無だったので、DOS J4.0/V本体(プログラム番号:5605-PNA)が4万円とIBMMKK(同:5605-JFK)が3万円で、合計7万円かかったそうだ。1980年代ならこれが通用した。しかし1990年当時、日本の他のパソコンではOSに連文節変換レベルの日本語入力機能が付くのは当たり前になっていた。PC/AT互換機用にDOS/Vの購入を検討していた家庭ユーザー達が「これは高すぎる」とBBSに書き込み、これを読んだIBMの開発陣が次のマイナーバージョンにIBMMKKを同梱して28,000円(同:5605-PQA)で発売した。また、ユーザーズマニュアルを省いた簡易マニュアル版を23,000円で発売した。しかし、DOS J4.0/Vを互換機で使うにはメモリーマネージャーやキーボードなど、まだいくつかの壁があったのだが…
ディスク4枚のバージョンではIBMMKKが2枚組になる。J5.00/VのIBMMKKと比べてみたが、辞書のサイズは同一で、セットアッププログラムのサイズが増えているだけのようだ。
ファイルを準備する
PCemをダウンロードする。エミュレーター本体にBIOSのエミュレーションは含まれていないため、BIOSのROMイメージを別に入手する必要がある。DOS J4.0/Vを使うにはCPUが286以上のマシンとVGAカードのBIOS ROMが必要になる。
Releases · 86Box/romsからROMファイル一式をダウンロードする。ROMファイルがPCemに含まれていない理由は、BIOSの著作権はそれぞれの開発者に属するためであることは言うまでもない。開発者から文書で使用許諾を得られるならそれが安全な方法ではあるが、この方法は現実的ではない。古いマシン用プログラムを私的利用目的で使う分には著作権者の利益を害することはないだろう(日本の著作権法を当てはめるなら、非親告罪に該当せず、著作権者から告訴される可能性も低いとみなす)、という暗黙の了解の下で配布され使われるわけだ。
ROMファイルの配置場所はreadmeに書かれている。どのBIOSを使うかは、エミュレートするCPUや速度、メモリーやハードディスクの容量、その他色々を考慮して選ぶ。IBMマシンのBIOSはシステム構成を変更する毎にリファレンスディスケットで再構成するという手間が掛かるので、今回のように何か特別な理由がなければ使わない方がいい。386以前の古いマシンはハードディスクのサイズを決めるときにCHSパラメーターに注意する必要がある。
今回はIBM PS/2 Model 70 (type 3)を使用する。ROMファイルを以下のように配置する。
PCemV17Win\roms\90x8969.bin
PCemV17Win\roms\90x8970.bin
PCemV17Win\roms\ibm_vga.bin
PCemV17Win\roms\ibmps2_m70_type3\70-a_even.bin
PCemV17Win\roms\ibmps2_m70_type3\70-a_odd.bin
また、IBM PS/2 Reference, Diagnostic & Option DisksからPS/2 Model 70 (386) (Type 8570)のリファレンスディスケットをダウンロードする。PS/2ではこのディスクがBIOSセットアップメニューの役割を担う。
エミュレーターの設定
リストにマシンを追加する。Machineは「386DX IBM PS/2 Model 70 (type 3)」を選択する。CPUは好みの速さに。Memoryは2MB以上にセットする。
HDDは「ESDI IBM ESDI Fixed Disk Controller」を選択する。作成するHDイメージのサイズは大きすぎると認識できないようだ。当時のPS/2オプションでは30MB, 60MB, 120MBまでラインナップされていたので、使えるサイズはそんなところだろう。
Mouseは「2-button mouse (PS/2)」を選択する。シリアルマウスを選択しているとブート中にエラーコードが出る。このエラーは無視できるが、マウスが使えない。
仮想マシンを起動する。メモリーテストの後、次のような画面が表示される。もしあなたがPS/55を使ったことがあれば見覚えがあるはずだ。
Ctrl + Endキーを押してマウスのキャプチャーを解除する。上のメニューからDisc → change drive A:を選び、Model 70用リファレンスディスケットのイメージを開く。続いて、エミュレーター上でF1キーを押すと処理が続行される。
Enterキーを押すと以下のような画面が出る。CMOSが未設定なため、Battery Errorとなっている。
F8キーとEnterキーで画面を進めると、自動でCMOSに構成情報が設定される。
リファレンスディスケットはセットしたままreboot(再起動)する。日時が未設定のため再びエラーが出る。ディスケットから起動したら、3. Set Features→1. Set date and timeを選んで日時をセットする。
ディスクをeject(取り出す)してrebootする。正常なら下のような画面が表示される。これもPS/55ユーザーにとっては見覚えがあるかもしれない。
DOS J4.0/Vの導入ディスケットをセットして、F1キーを押す。導入プログラムが起動するので、画面に沿ってハードディスク(イメージ)へインストールする。
ここまで問題なければ、再起動後にDOSシェルが起動する。
EDLINなどを使ってAUTOEXEC.BATからDOSSHELLコマンドの記述を除けば、起動時に下のような画面になる。XMAEM.SYS (80386 XMA Emulator)の動作に問題がなければ成功だ!
米国英語配列のキーボードを使う場合、DOS上でkeyb us
コマンドを実行すればキー表記通りの文字を入力することができる。しかし、キーボードに日本語配列固有のキーがないため、これだけでは漢字モードへの切り替えなど日本語入力ができない。それならばSIMKEYを使うんだ!DOS/VのフリーソフトとしてHi-TextやFONTXはポピュラーだが、SIMKEYはDOS J4.0/Vならではの定番ソフトと言える(DOS J5.0/VではIAS側で米国英語配列に対応したため不要になった)。
OS/2 1.x英語版はこれと同じような手順でインストールできるはず。日本語版はDOS J4.0と同様にPS/55のディスプレイ・アダプターと5576型番のキーボードを必要とするため、PCemでは動かせない(現状、動かせるエミュレーターは存在しないはず)