OS2/MVDM/特定DOS
MVDM の特殊なモード(という説明でいいんか?)。
仮想86 モードで VM を立ち上げ、ディスクイメージもしくは実際のディスク(FD/HDパーティション)から OS(バージョン 3.3 以上の DOS)を実際にブートする。 Linux でいうところの DOSEmu に近い位置付けだと思う。
なお、日本語版 OS/2 ではサポート対象外機能となっている。
支援ドライバ
\OS2\MDOS あたりに特定DOS 用のデバイスドライバやツールがいくつか入っている。 あらかじめ特定DOS の起動ディスク上にコピーしておく。
- himem.sys
- emm.sys
- fsfilter.sys
- exit_vdm.com
英語アプリで日本語表示&入力
なんかさー、特定DOS 使うとさー、(すくなくともウィンドウ表示のときは)DOS 側に日本語ディスプレイドライバとか入れてないのに日本語出ちゃうんだよねー。
逆にいうと英語モードの罫線とか記号とか出なくて画面がやや悲惨とか $DISP.SYS(あるいは JDISP.SYS)いれちゃうとけっこう危険があぶないとかいろいろあるわけで。
この際それを逆手にとって、英語アプリで擬似 DOS/V 対応気分でも味わおうかと。
手順:
まず必要なドライバやらツールやらを特定DOS 側にコピーしておく。
- 上記のドライバ、ツール
- $IAS.SYS, $IAS.SUB, IAESTUB.SYS (\OS2\MDOS か \OS2\MDOS\DOSV あたりに入っている)
- ダミー日本語ディスプレイドライバ:dspstub.sys(dspstub_20060913.zip)
次に特定DOS の CONFIG.SYS を設定する。
とりあえず手持ちの MS-DOS 6.2/V を使った例
LASTDRIVE=Z BUFFERS=4 DOS=HIGH,UMB device=himem.sys device=emm386.sys /umb devicehigh=fsfilter.sys devicehigh=jfont.sys /u=0 /24=off devicehigh=dspstub.sys devicehigh=$IAS.sys devicehigh=IAESTUB.sys devicehigh=jkeyb.sys /106 jkeybrd.sys
あとは特定DOS セッション用のプログラムアイコンを作って、プロパティを設定する(プロパティ→セッション(S)→DOS設定(S)→すべてのDOS設定)。
項目 | 値 |
---|---|
*DOS_MODE | DOS/V |
*FEP_MODE | OS2_FS_FEP |
DOS_HIGH | HMA を使うならオン |
DOS_STARTUP_DRIVE | 起動したい DOS がインストールされているドライブのドライブ文字、もしくは FD イメージのパス名 |
DOS_UMB | UMB を使うならオン |
IDLE_SENSITIVITY | 1 (設定しなくてもいいが、CPU 負荷がかなり悲惨なことに) |
とりあえず Turbo Pascal 5.5(無料で落とせる英語版)の IDE を起動してみた。 Pascal だとシフトJIS 2バイト目の \ であまり悩ますにすむのでそこそこいけそうな気がしてきた。
…そういやダミードライバを 43/50 行モードに対応させてなかった。