DR DOS の著作権は DRDOS,Inc にあります。このソフトウェアはその使用承諾書の元でのみ使用できます。また、Enhanced DR-DOS は OpenDOS を Udo Kuhnt が拡張したもので Caldera OpenDOS 時代の使用承諾書のもとで利用できます。このマニュアルの運用によって生じたいかなる損害も当方で一切の責任を負いません。なお、このマニュアルについての質問や間違いの指摘などは日本 DR DOS ユーザー会の掲示版もしくは DR DOS メーリングリストにお願いします。
DR DOS, CP/M, MP/M, Concurrent CP/M, Concurrent DOS, OpenDOS, DR-DOS は DRDOS,Inc の登録商標です。MS,MS-DOS は米国 Microsoft,Corp の登録商標です。IBM,IBM-PC,PC/AT,PC DOS は米国 International Business Machine,Inc の登録商標です。NetWare は Novell,Inc の登録商標です。Intel, Pentium は米国 Intel,Corp の登録商標です。FONTX, DISPV の権利は Lepton さんが保有します。JIS_A01 の権利は BinnHood さんが保有します。keyc4 の権利は森川 治さんが保有します。DspVV, DspDD の権利は Torry さんが保有します。その他、このマニュアルに掲載されている会社名、製品名は、それぞれ各社または個人が諸権利を保有します。
DR DOS はオープンなディスクオペレーティングシステムで、非商用である限りはユーザーが必要な期間だけ使うことができ、そしてプリエンティブマルチタスク、 ロングファイルネーム、ネットワーク機能(Personal NetWare / NetWare クライアント機能)をサポートする MS-DOS 完全互換の OS です。
以前、AX 版の DR DOS 5.0 や、ATOK などをつけて日本語化した DR DOS 6.0/V が販売されたことがありますが、現在は残念なことにインストールしてそのままでは日本語の入出力ができません。最近、古いバージョンの DR DOS 6.0/V を購入することも可能になったようなので、その日本語関連の機能を持ってくることも不可能ではありません。しかしこのインストールマニュアルの範囲外のため、それについて記述しません。また、最近 DR DOS を拡張した Enhanced DR-DOS が Udo Kuhnt さんなどにより作成されています。これについても解説します。
このマニュアルは、DR DOS のインストールとその日本語化について解説したものです。
これからの説明で、実際に英語版 DR DOS 7.0x を使用するには、次のものが必要です。
また、ここでは触れませんが、次のものを追加しておくと便利です。
その他ハードディスクやフロッピーディスクドライブを追加することができます。
DR DOS 7.0x/V を使用するためには、英語版 DR DOS をインターネットによるダウンロード、またはパッケージを購入し、それよりハードディスクにインストールする必要があります。
DR DOS 7.0x/V をインストールするためには、次の条件を満たしている必要があります。
インストールプログラムを実行して、DR DOS(英語版)のインストールについて説明します。なお、DR DOS のパッケージにはハードディスク版や CD-ROM 版がありますが、本マニュアルでは確実にインストールできるフロッピー版についてのみ対象とします。
まず「dr703.exe」を FTP サーチなどで検索して入手するか、ディスクイメージファイル(拡張子が144のファイル)及び DISKCOPY.COM を入手してください。参考に転載されている ftp サイトのアドレスを載せたいと思います。なお、ここに載せたアドレスが見つからなかったりした場合は他のサイトを検索してください。
作成したインストールディスクを A ドライブにセットし、コンピュータを再起動すると、インストールプログラムが実行されます。
画面で "Continue with installation" を選ぶと、ライセンスに同意を求められます。これに同意する場合は Enter を入力して次へ進んでください。
Name、Organization、Serial Number の入力を求められます。このとき、Name のみ必要で、のこりの Organization、Serial Number は入力しなくて結構です。
インストールするモジュールを選択してください。ネットワーク関係(Personal NetWare/NetWareクライアント)、MS-Windows ユーティリティのモジュールが選択できます。このときネットワーク関係をインストールしない場合はインストールディスクの4、5枚目は不要です。
インストールするディレクトリを選択します。
DR DOS の設定です。この画面ではゲーム向けの設定を選択できます。
ノートパソコンなどで画面みづらい場合は "DOS System & Memory Management" を選択し、"Global Collor Set" で色を選んでください。色の種類は次の通りです。

次に進むとインストール先のディレクトリなどの設定が表示されます。この設定でよければインストールを開始します。
インストールを始めると左のような画面で進行状況が表示されます。
ディスクの交換を促す画面です。次のフロッピーディスクに交換してください。
インストールが終わったので Enter してくださいという表示です。Enter を押してください。
ここでは「お読みください」というドキュメント(README)や CONFIG.SYS/AUTOEXEC.BAT の内容の表示、インストールで変更されたファイルをもとに戻すことなどができます。インストールを終了するにはフロッピーディスクを抜いた後で "Reboot" を選び再起動してください。なお、これらの設定は再起動後 SETUP を実行することで変更することができます。この章では、インストール時に発生するとおもわれるトラブルについて、その対処法を説明します。
ここではインストールディスクをいれて再起動して、DR DOS が起動しない場合について述べます。
DR DOS が正常に起動しない場合、次のようなことが考えられます。
ファイルシステムが NTFS や HPFS のみで FAT16 のパーティションがない場合、インストールできません。また FAT32 のパーティションにインストールする場合は Enhanced DR-DOS をインストールしてください。DR DOS 7.03 の場合は必ず FAT16 にインストールし、FAT32/NTFS ドライバ(http://www.drdos.net/)などで起動後認識するようにしてください。
この場合、次のようなことが考えられます。
この章では、上を試してもできなかった場合について、そのフロッピーディスクへのインストールと、ハードディスクへの手動インストールについて解説します。
フロッピーへのインストールの方法は次の通りです。
手動インストールの方法は次の通りです。
Enhanced DR-DOS(通称 Udo's Patch)はソースが公開されていた OpenDOS 7.01 のソースコードを元に Udo Kuhnt@DR-DOS Enhancement Project(http://drdospeojects.de/) さんが独自の機能を付加した DR DOS の派生バージョンの一つです。特徴としては、
といったものが挙げられます。一方、問題としては
といったものが挙げられます。このあまりにも凝った CONFIG.SYS/AUTOEXEC.BAT が動作しない(少なくとも本インストールマニュアルのうしろに掲載している選択起動する CONFIG.SYS はフリーズしました)というのは大きな問題ですので、インストールの際にはこれらの設定をなるべく単純にする必要があります。
もっとも単純な方法は DR DOS をインストールしたドライブに DR-DOS Enhancement Project(http://drdosprojects.de/) で公開されている起動ディスクからシステムを転送するだけです。以下に方法を書きます。
この章では、DR DOS 7.03/V の作成方法について説明します。吉崎 栄泰さん作の圧縮アーカイバ LHA が必要なので用意しておいてください。(別にコンピュータを用意してそこで解凍するのも手です)
なお、LHA の使い方は、
LHA X [解凍するファイル] [解凍先パス]\とすれば解凍できます。
日本語処理機能がない IBM PC/AT 互換機で日本語を表示するためには、フォントをメモリに置き、それをディスプレイに表示する必要があります。その役目をするのがフォントドライバとディスプレイドライバです。
また、DR DOS は欧米などの SBCS(Single Byte Charactor Set : 1 バイト文字) 圏のキーボードをサポートしていますが、アジアなどの DBCS(Double Byte Charactor Set : 2 バイト文字) 圏のキーボードのサポートは今のバージョンではなされていません。これについても自ら対処する必要があります。
ここは英語キーボードのユーザーには関係ありません。読み飛ばしてください。
日本で使われているキーボードは多種多彩で、とても全てに対応できるものではありません。ここではそのうち一般的な(と思われる)キーボードについて解説します。
まず日本語フォントをメモリ上に置くドライバをインストールします。ここでは、フォントドライバに Lepton さん作の FONTX を、あるいは TOSHIBA J-3100 や IBM PS/55 などのフォント内蔵マシンを使う場合たかぴゅうさん作の FONTJ や FONTPS を使うものとします。
この説明は最近のマシンでは日本語フォントを内蔵していないため関係ありません。読み飛ばしてください。
ここであげているフォントドライバを説明します。これらのドライバのフォントファイルの形式はどれも FONTX2 形式です。また、設定ファイルの書式にもある程度の互換性があります。
フォントの入手方法を下にかいておきます。
ここでは、FONTX のインストール方法について解説します。
[CODE] F040 F0FC [FONT] 2KGZN16X.FNT;JIS2000 対応フォント DCCHN16X.FNT;DR Open Font Courier ANK 16/19 DCCHN19X.FNT;
| メモリ/機種 | ドライバ名 |
|---|---|
| XMS | $FONTX.SYS(そのまま) |
| EMS | $FONTE.SYS |
| メインメモリ | $FONTM.SYS |
| J-3100(FONTJ) XMS | FONTJX.EXE |
| J-3100(FONTJ) EMS | FONTE.EXE |
| PS/55(FONTP) XMS | FONTPSX.EXE |
| PS/55(FONTP) EMS | FONTPSE.EXE |
ディスプレイドライバのインストールについて説明します。ディスプレイドライバとはメモリ上におかれたフォントを参照し、それを表示するものです。ここで紹介するディスプレイドライバをインストールすると、DOS/V の特徴のひとつであるハイレゾリューションテキストの V-Text を実現できます。
ここでは、いくつかあるディスプレイドライバのうち、DISPV(Lepton さん作) と DspVV(Torry さん作) について解説します。
| ファイル名 | ディスプレイアダプタ | 解像度 | 表示文字数 | 半角フォントサイズ |
|---|---|---|---|---|
| DISPV.EXE | SVGA | 800x600 | 100x31 | 8x19 |
| DISPVA.EXE | SVGA | 800x600 | 100x37 | 8x16 |
| DISPVB.EXE | VGA | 640x480 | 80x30 | 8x16 |
| DISPVC.EXE | VGA | 640x480 | 106x40 | 6x12 |
| DISPVD.EXE | SVGA | 800x600 | 132x50 | 6x12 |
| DISPVE.EXE | VGA | 640x480 | 90x34 | 7x14 |
| DISPVF.EXE | SVGA | 800x600 | 114x42 | 7x14 |
| DISPVG.EXE | VGA | 640x480 | 80x34 | 8x14 |
| DISPVH.EXE | SVGA | 800x600 | 100x42 | 8x14 |
V-Text とは、画面操作を全てソフトウェアで行なうという DOS/V の原理から、フォントサイズやディスプレイドライバの解像度などを変更することによって、いろいろなサイズのテキスト画面の表示を実現することです(ただし必ずしも高解像度を意図しません。例えば CGA 用のドライバすらあります)。
ユーザーサイドから提唱され、IBM がそれに従ったという経緯があり、日本のフリーソフトウェアの歴史で記念となることでしょう。
V-Text ドライバは共通の API を持ち、いろいろなソフトがそれに対応しています。
当初は Hi-Text と呼ばれましたが、(株)オサムが "Hi-Text" を商標登録をしたために、現在はその言い方は避けられています。
なお、ここで紹介するソフトの組み合わせで V-Text モードに入る場合は CHEJ(CHES) VT と実行してください。
ここでは、日本語の諸設定について説明します。
フォントドライバ、ディスプレイドライバをさきほどまでインストールしましたが、その状態のままでは日本語を表示できません。理由は、コードページの設定がまだのためです。そのため、CONFIG.SYS を次のように書き換えてコードページを設定してください。
COUNTRY=0,0,C:\DRDOS\COUNTRY.SYS という行を COUNTRY=081,932,C:\DRDOS\COUNTRY.SYSこのように書き換えて再起動すると見事に日本語が表示されます。もしも表示されなければスペルミスか、設定ミスの可能性があります。
DOS/V のグラフィックによって日本語テキスト画面を実現する性格上、そして、DOS/V の仮想テキスト VRAM のアドレスが本来のアドレスと異なるため(つまり、直接アクセスするソフトが多いため)、日本語と英語のモードを切り替える必要があります(QEMM386 があれば、あるいはアプリケーションが DesqView に対応していれば TR286 で解決することは可能ですが、ここでは紹介しません)。
ここでは日本語・英語モード切り替えに Natrium さん作の CHEJ (もしくは簡易版の CHES)を使います。
最後に入力の日本語化について説明します。
DR DOS 付属の EDIT では、表示を日本語化すると文字化けして実用的なものではなくなります。日本語に対応しているエディタをインストールすべきです。
ここではorikさん作の JED というエディタをインストールします。(JED というエディタは 2 つありますが、今回インストールするのはorikさん作の Vz ライクなマクロを持つ方です)
方法はアーカイブファイルを Vector から入手し、それを適当なディレクトリに解凍してそこにパスを通せば終わりです。
なお、その実行コマンドは
[DR DOS] C:\JED> JED "編集するテキストファイル名"です。
フリーな FEP としてはエー・アイ・ソフトの WXP が有名ですが、PC-98 用と J-3100 用しかありません。しかし WXPDOSV を使えば J-3100 版を非常に不安定ながら(ハングアップする原因がこれである)使うことができます。
また、べんぜんさんが作成した「鳳」というフリーな FEP があります。これはもともとは「風」という多段シフト入力 FEP の互換ソフトです。事実上 OMRON の携帯マシン Massif 用に作られたものですが、Massif は DR DOS 5.0 を ROM で内蔵した IBM 互換機のため、そのまま動作します。ここではそれについても解説します。
DEVICE=C:\FEP\WXP.SYS /R /Z /H10 /CS /D1C:\FEP\JISHO01.DIC /D3C:\JISHO02.DIC DEVICE=C:\FEP\WXDP.SYS
ここでは鳳を使う場合について説明します。
この変換システムは、一応短文入力機能はありますが、基本的に読みを入力→「スペース(変更可)」→漢字鍵盤表示(目的の字が出るまで「スペース」を繰り返す)→対応キーを押す→漢字入力という経過をたどって入力する単漢字変換の多段シフト入力システムです。
たとえば、「今」と入力する場合、「いま」→「スペース」とすると鍵盤が表示されます。(これは Akeru 辞書の場合)
○ ○ ○ ○ ○1/○ ○ ○ ○ ○ ○ ○ ○ ○ ○/1○ ○ ○ ○ ○ ○ ○ 今 ○ ○ ○ ○ ○ ○ ○ ○ ○ ○ 未 ○ ○ ○ ○ ○ ○
ここで d を押すと「今」と入力されます。
鳳はカーソルキーや DEL キー、ファンクションキー等の挙動があやしくなりますが、その点はパッチ(石本 重信さん作)をあてることで解決します。(COPY CON xx でファイルをつくる場合落ちますが、それは仕様とのこと。普通はエディタで入力するので関係ないでしょう)
なお、以前は辞書の入手が困難でしたが、水城 珠洲さん(http://minashiro.sakura.ne.jp/)が、同じく「風」互換の FEP の Canadian さん作の「嵐」という FEP 用に作られた辞書(Akeru さん作)を転載されたので、それを変換して利用します。(なお、現在シェアウェアの MS-Windows 版「風」の辞書を変換する方法もありますが、ライセンス上問題があるためにここでは述べません。)
| オプション | 機能 | キーコード(101) | キー(101) | キーコード(106) | キー(106) |
|---|---|---|---|---|---|
| /K0xxxx | 漢字鍵盤表示 | 0020 | Space | 0020 | Space |
| /K1xxxx | ひらがな変換 | 000D | Enter | 000D | Enter |
| /K2xxxx | カタカナ変換 | F80D | Shift + Enter | B6FF | カナ |
| /K3xxxx | 全角英数変換 | 0009 | Tab | B3FF | 英数 |
| /K4xxxx | 半角カナ変換 | F90D | Ctrl + Enter | AFFF | 半角/全角 |
| /K5xxxx | 半角英数変換 | FFFF | 未設定 | B0F8 | Shift + 半角/全角 |
| /K6xxxx | 半角一括シフト | FFFF | 未設定 | F920 | Ctrl + Space |
| /K7xxxx | 1文字後ろへ | 000B | BS | 000B | BS |
| /K8xxxx | 変換取り消し | OO1B | ESC | OO1B | ESC |
| /K9xxxx | 漢字鍵盤前頁 | F820 | Shift + Space | F820 | Shift + Space |
| /KAxxxx | 半角スペース | F820 | Shift + Space | F820 | Shift + Space |
| /KBxxxx | 全角スペース | 0020 | Space | 0020 | Space |
| /KCxxxx | ShiftJIS 入力 | FFFF | 未設定 | A8F8 | Shift + 変換 |
| /KDxxxx | JIS Code 入力 | FFFF | 未設定 | A9F9 | Shift + 変換 |
| /KExxxx | 「鳳」の起動 | F920 | Ctrl + Space | B2FA | Alt + 半角/全角 |
| /KFxxxx | 全角一括シフト | FFFF | 未設定 | FFFF | 未設定 |
| /J0xxxx | リピート入力 | FA20 | Alt + Space | FA20 | Alt + Space |
| /J1xxxx | OASYS 風無変換 キー | FFFF | 未設定 | ABFF | 無変換 |
| /J2xxxx | 漢数字へ変換 | FFFF | 未設定 | B2FA | Alt + 半角/全角 |
| /J3xxxx | FEP 切り換え | FFFF | 未設定 | FFFF | 未設定 |
| /J4xxxx | 漢字鍵盤変形 | 98F9 | Ctrl + F7 | 98F9 | Ctrl + F7 |
| /J5xxxx | 入力位置切換 | 97F9 | Ctrl + F6 | 97F9 | Ctrl + F6 |
| /J7xxxx | 短文辞書入力 | F820 | Shift + Space | A7FF | 変換 |
| /F8xxxx | 区点 Code 入力 | FFFF | 未設定 | AAFA | Alt + 変換 |
BREAK=ON BUFFERS=80 FILES=30 FCBS=4,4 DOS=HIGH,UMB HISTORY=ON,512,ON TIMEOUT=5 LASTDRIVE=Z COUNTRY=081,932,C:\DRDOS\COUNTRY.SYS SHELL=C:\COMMAND.COM C:\ /E:512 /P DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=AUTO DEVICE=C:\DRDOS\DPMS.EXE DEVICE=C:\DRDOS\SETVER.EXE REM ANSI Esc Driver DEVICEHIGH=C:\JP\PANSI.SYS REM Font Driver DEVICE=C:\JP\$FONTX.SYS /P=\JP\ REM DEVICEHIGH=C:\JP\FONTNX.EXE /P=\JP\ REM DEVICEHIGH=C:\JP\FONTJX.EXE /P=\JP\ REM DEVICEHIGH=C:\JP\FONTPX.EXE /P=\JP\ REM Display Driver DEVICEHIGH=C:\JP\DISPVB.EXE /HS=ON REM DEVICEHIGH=C:\JP\DSPVV.COM /HS=ON REM FEP ECHO Which Use FEP? ECHO 1.鳳(Otri) ECHO 2.WXP + WXPDOSV ECHO 3.Not Use SWITCH OTRI WXP END :OTRI REM FEP:鳳(Otri) DEVICE=C:\FEP\OTRI.SYS /DC:\FEP /2/3/4/ス /K00020 /K1000D /K2F80D /K30009 /K4F90D /K5FFFF /K6FFFF /K70008 /K8001B /K9F820 /KAF820 /KB0020 /KCFFFF /KDFFFF /KEF920 /KFFFFF /J0FA20 /J1FFFF /J2FFFF /J3FFFF /J498F9 /J597F9 /J7F820 /J8FFFF GOTO END :WXP DEVICE=C:\FEP\WXP.SYS /R /Z /H10 /CS /D1C:\FEP\JISHO01.DIC /D3C:\FEP\JISHO02.DIC DEVICE=C:\FEP\WXDP.SYS :END
@ECHO Off PATH C:\DRDOS;C:\NWCLIENT;C:\TOOLS;C:\JP;C:\FILER;C:\ EMM386 PIC=ON DPMI OFF VERIFY OFF PROMPT [DR DOS] $P$G SET DRDOSCFG=C:\DRDOS NWCACHE 640 320 /LEND=ON /DELAY=OFF SET TEMP=C:\TMP IF NOT DIREXIST %TEMP% MD %TEMP% VER
[CODE] ; Define code area.
;start end comment
F040 F0FC ; user font area
[FONT] ; Install font file.
;X Window System
; J2KZN16X.FNT;jiskan16-2000
; X11ZN16X.FNT;jiskan16(<-JPNZN16X.X11)
; SNYHN19X.FNT;Sony 19
; SNYHN16X.FNT;Sony 19
;DR Open Font Project
DRGZN16X.FNT;出水ゴシック体M 16ドット
; DRKZN16X.FNT;出水教科書体16
; DCCHN19X.FNT;Izumi Courier 19
; DCCHN16X.FNT;Izumi Courier 16
DFLHN19X.FNT;Izumi Futura Light 19
DFLHN16X.FNT;Izumi Futura Light 16
;device[high]=[PATH]$fontx.sys [options]/p=c:\path\
注:FONTX では、最初に組み込まれたフォントが標準となります。他のフォントを使うためには、SELFONT.EXE(FONTX に付属) を使って切り替える必要があります。
ここまで述べて来たことは DR DOS をシングルタスクで日本語化する方法でした。386 以上の CPU では仮想 86 機能を使うことでプリエンティブマルチタスクでプログラムを実行できます。つまり 286 以下の CPU ではマルチタスクでは使えませんが、286 の場合はタスクスイッチという方法でマルチタスク的にプログラムを実行できますので(疑似マルチタスクという)、その方法についても解説します。なお、タスクマネージャにはいくつかバグあり、 Udo Kuhnt さんによる修正版が公開されています。これについても解説します。
DR-DOS Enhancement Project(http://drdosprojects.de/) のダウンロードのページで公開されている TaskManager Binaries of DR DOS 7.03 をダウンロードし、PKUNZIP で解凍します。これを DR DOS をインストールしたディレクトリにある TASKMGR.EXE と置き換えます。このときもとの TASKMGR.EXE は別のディレクトリにバックアップした方がよいでしょう。
ここではセットアッププログラムを使って英語モードでマルチタスク化する方法について解説します。
まず英語の CONFIG.SYS/AUTOEXEC.BAT で英語モードで起動し、コンソールから setup を実行してください。するとインストール時のような画面になります。この画面からいろいろな設定を実行できます。ここではこの中の "Task Management" を選んでください。
すると右のような画面になるので、この中の "Load MultiTasking Software" を選んでください。なお、タスクスイッチの場合は "Load TaskSwitching Software" を選びます。
マルチタスクの設定画面です。メニュー表示のキー、フォアグランド・バックグラウンドの比率、タスクあたりのメモリ量などを設定できます。たいていの場合はそのままの設定でよいでしょう。
こちらはタスクスイッチの設定画面です。基本的にマルチタスクのものと同じですが、EMS/XMS の設定が異なります。
これらが終わったら "Exit This Screen" 選んで前の画面に戻り、"Save Changes and Exit" で終了してください。CONFIG.SYS/AUTOEXEC.BAT が書き換えられます。このようにして再起動すると、CONFIG.SYS/AUTOEXEC.BAT を実行した最後に "Enable Task Manager (Y/N) ?" と表示され、"Y" を押すとタスクマネージャ(TASKMGR)が起動してマルチタスクになります。ちなみに "N" を押した場合でも TASKMGR を単体で実行することでマルチタスクになります。
ここで [CTRL] と [ESC] を同時に押してみてください。メニューが表示されると思います(dosemu で実行した場合の問題については「おまけ」をご覧ください)。ここで [INSERT] を押すと新しいタスクが立ち上がります。ここで再びメニューを表示するとタスクリストに "COMMAND" が二つあり、その下のほうに ">" がついていると思います。この中でカーソルを動かして Enter を押すとそのタスクに移り、Del を押すとそのタスクを削除します(それぞれのタスクで [CTRL]+[ALT]+[DEL] を押ししても同じ)。なおメニューからもとのタスクに戻る際は [ESC] を押してください。
また、タスクマネージャの終了は、すべてのタスクを終了させた後に [CTRL]+[ALT]+[DEL] を押すと "Are you sure (Y/N)?" と聞かれるのでそこで "Y" を押してください。
日本語化した場合、[CTRL]+[ESC] を押したときに表示されるメニューが VRAM に直書きされるために、表示がおかしくなります(Geoworks Emsemble を使えばグラフィカルシェルからタスクを指定できますが、市販ソフトです。ただし、http://www.newdual.com/で 45 日試用版を入手できます)。これを解決するにはタスクマネージャの設定ファイルをいじり、タスクごとに日本語化します。
タスクごとに日本語化する方法は、ドライバ類をタスクごとにロードすることで解决します。このとき DR DOS に付属する DEVLOAD.COM でも構いませんが、常駐解徐ができないなどの不都合があるため、FEP 切り替えなどでよく使われる ADDDRV/DELDRV の互換ソフトで rusu さん作の ADDDEV/DELDEV(http://www.vector.co.jp/soft/dos/writing/se002001.html)を使用します。
下に具体的な方法を書きます。
COUNTRY=1,,C:\DRDOS\COUNTRY.SYS DEVICE=C:\DRDOS\EMM386.SYS MULTI DPMI=OFF FRAME=AUTO
BREAK=ON FILES=30 BUFFERS=30 FCBS=4,4 LASTDRIVE=C HISTORY=ON,512,ON DOS=HIGH,UMB TIMEOUT=5 ECHO BOOT MENU ECHO 1:Japanese Multi Task ECHO 2:Japanese Single Task ECHO 3:English Multi Task ECHO 4:English Single Task SWITCH JM JS EM ES :JM REM 日本語対応マルチタスクモード COUNTRY=0,,C:\DRDOS\COUNTRY.SYS DEVICE=C:\DRDOS\EMM386.EXE MULTI DPMI=OFF FRAME=AUTO DEVICE=C:\DRDOS\DPMS.EXE DEVICEHIGH=C:\JP\$FONTX.SYS /P=C:\FONT\ SET LOAD=0 GOTO COMMON :JS REM 日本語シングルタスクモード COUNTRY=081,932,C:\DRDOS\COUNTRY.SYS DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=AUTO DEVICE=C:\DRDOS\DPMS.EXE SET LOAD=1 DEVICEHIGH=C:\JP\$FONTX.SYS /P=C:\FONT\ DEVICEHIGH=C:\JP\DISPVE.EXE DEVICE=C:\JP\PANSI.SYS ECHO FEP Menu ECHO 1:鳳(OTRI) ECHO 2:WXP + WXPDOSV ECHO 3:使わない ECHO どのFEPを使いますか? SWITCH OTRI WXP COMMON :OTRI DEVICE=C:\FEP\OTRI.SYS /DC:\FEP /2/3/4/ス /K00020 /K1000D /K2F80D /K30009 /K4F90D /K5FFFF /K6FFFF /K70008 /K8001B /K9F820 /KAF820 /KB0020 /KCFFFF /KDFFFF /KEF920 /KFFFFF /J0FA20 /J1FFFF /J2FFFF /J3FFFF /J498F9 /J597F9 /J7F820 /J8FFFF GOTO COMMON :WXP DEVICE=C:\FEP\WXP.SYS /R /Z /H10 /CS /D1C:\FEP\JISHO01.DIC /D3C:\FEP\JISHO02.DIC DEVICE=C:\FEP\WXDP.SYS GOTO COMMON :EM REM 英語マルチタスクモード COUNTRY=0,,C:\DRDOS\COUNTRY.SYS DEVICE=C:\DRDOS\EMM386.EXE MULTI DPMI=OFF FRAME=AUTO DEVICE=C:\DRDOS\DPMS.EXE SET LOAD=2 GOTO COMMON :ES REM 英語シングルタスクモード COUNTRY=0,,C:\DRDOS\COUNTRY.SYS DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=AUTO DEVICE=C:\DRDOS\DPMS.EXE SET LOAD=3 :COMMON DEVICEHIGH=C:\DRDOS\SETVER.EXE SHELL=C:\COMMAND.COM C:\ /E:512 /P
@ECHO Off VERIFY OFF PROMPT [DR DOS] $P$G MODE CON LATE=32 DERAY=1 SET DRDOSCFG=C:\DRDOS SET TEMP=C:\TMP SHARE /L:20 NWCACHE 5632 1024 /LEND=ON /DELAY=OFF IF %LOAD%==3 GOTO ES IF %LOAD%==2 GOTO EM IF %LOAD%==1 GOTO JS IF %LOAD%==0 GOTO JM EXIT :JM REM 日本語対応マルチタスクモード PATH C:\DRDOS;C:\TOOLS;C:\JP;C:\FILER\FILMTN;C:\PROGRAM\LSIC\BIN;C:\EDIT\JED TASKMGR CALL JP.BAT GOTO COMMON :JS REM 日本語モード PATH C:\DRDOS;C:\TOOLS;C:\JP;C:\FILER\FILMTN;C:\PROGRAM\LSIC\BIN;C:\EDIT\JED C:\JP\JIS_A01.COM GOTO COMMON :EM REM 英語マルチタスクモード PATH C:\DRDOS;C:\TOOLS;C:\JP;C:\ TASKMGR C:\JP\JIS_A01.COM GOTO COMMON :ES REM 英語シングルタスクモード PATH C:\DRDOS;C:\TOOLS;C:\JP;C:\ C:\JP\JIS_A01.COM :COMMON MODE CON: RATE=32 DELAY=1 EXIT
#
# Sample TaskMgr parameter profile
#
[Drivers]
# Load IPX support. Used by Multitasker.
VXD=C:\DRDOS\VIPX.386
GlobalPages=2 # VIPX.386 requires 2 global pages.
# "GlobalPages" entries are cumulative
GlobalPages=1 # Some applications may require
# additional pages
#vxd=c:\lwfd\bin\vtcpip.386 # uncomment this line (remove leading "#")
# and the following GlobalPages line to
# enable TCPIP support. Be sure the "vxd="
# points to the LWFD subdirectory
#GlobalPages=2 # VTCPIP.386 requires 2 global pages.
# "GlobalPages" entries are cumulative
# Multiple TCPIP sessions may require
# additional pages.
LocalHandles=TRUE # If FALSE no extra local handles are allocated
# for each new task
[Slice]
# Ratio of foreground-to-background process time for Multitasker
Foreground=5
# Granularity of system tick
TickRate=1
[COM1]
TimeOut=AUTO # com port ownership time out
# legal time out values are 1 to 65534
# value of 0 means the port is not virtualized
# value of 65535 means infinite timeout
# AUTO allows OS defaults, including mouse
# detection
[COM2]
TimeOut=AUTO
[LPT1]
Timeout=AUTO # lpt port ownership time out
# legal time out values are 1 to 65534
# value of 0 means the port is not virtualized
# value of 65535 means infinite timeout
# AUTO allows OS defaults
Int17Trap=FALSE # traps lpt output at the Int 17 level and
# arbitrates access there, rather than
# at the hardware level
[LPT2]
Timeout=AUTO
Int17Trap=FALSE
[LPT3]
Timeout=AUTO
Int17Trap=FALSE
[Mouse]
MousePort=AUTO # mouse com port (0,1), normally auto-detected
MouseIRQ=AUTO # mouse IRQ, normally auto-detected
# The colors specified in the [Colors] section are decimal
# values of IBM PC video attributes. These attribute bytes
# have the following structure:
#
# 7 654 3210 Colours (0-F):
# - --- ---- ---------------------------
# B BBB FFFF 0=black 8=dark gray
# | | | 1=blue 9=light blue
# | | | 2=green A=light green
# | | foreground (0-F) 3=cyan B=light cyan
# | |background (0-7) 4=red C=light red
# blinking (1=blinking, 5=magenta D=light magenta
# 0=normal) 6=brown E=yellow
# 7=white F=intense white
# On an EGA or VGA in colour mode, all colours (0-F) can be
# used for the background. With other video cards, only 0-7
# can be used.
[Colors]
MaxColors=8
CurrentColor=2
ColorSet0="Monochrome",0x07,0x07,0x70,0x07 # monochrome set (black, white)
ColorSet1="Color", 0x13,0x1F,0x3F,0x13 # colour (blue)
ColorSet2="LCD/Plasma",0x70,0x70,0x07,0x70
ColorSet3="Bright", 0x1C,0x1B,0x0E,0x1D
ColorSet4="Pastel", 0x39,0x3B,0x1B,0x39
ColorSet5="Pasture", 0x2A,0x2E,0x6E,0x2A
ColorSet6="Trad", 0x56,0x5E,0x4E,0x56
ColorSet7="Sunset", 0x6E,0x6E,0x4E,0x6E
# | | | |_________ "shadow" attribute
# | | |______________ hilite bar attribute
# | |___________________ menu attribute
# |________________________ box attribute
# The values specified here are the codes of the characters
# used to draw the menu boxes and the "shadow" of these
# boxes.
[Boxes]
Top= 0xDA, 0xC4, 0xBF # top line +============+
Middle= 0xB3, 0x20, 0xB3 # middle line + +
Section= 0xB3, 0xC4, 0xB3 # section line +------------+
Bottom= 0xC0, 0xC4, 0xD9 # bottom line +============+
Shadow= 0xDB # shadow character
# The shift states used in the [Keys] section are decimal
# values corresponding to the keys SHIFT, CTRL and ALT.
# Their numeric equivalents are: 1=right SHIFT, 2=left
# SHIFT, 4=CTRL, 8=ALT. The key value is a PC scancode. The
# default of 1 is the ESC key.
[Keys]
MenuShift=4
MenuStandard=1 # standard=0 means use the enhanced keyboard
# key that generates the character
MenuKey=1
NextShift=4
NextStandard=1
NextKey=78 # 78=+
PrevShift=4
PrevStandard=1
PrevKey=74 # 74=-
NumShift=4
# The values specified here set the default for the amount
# of extended and expanded memory usable by the switcher,
# the total amount of swap space (including disk) and the
# amount of EMS memory allowed per task.
[Memory]
Extended=1024
eXpanded=0
LIMSize=512
Maximum=16384 # maximum swap space size
# The value specified here sets the limit for extended plus
# expanded memory per dos session. Used by Multitasker.
Limit=3072
# The following string specifies the directory in which the
# swap file is created. If extended or expanded memory is
# insufficient to swap all applications to then they will
# be swapped to this disk file. You should specify your
# fastest hard disk or RAM drive here. Used by Task Switcher.
[Disk]
SwapDir=C:\DRDOS\TMP
[Network]
NWShareHandles=TRUE
# DOS sessions. Supported by VLM but not NETX.
# Supported values are TRUE or FALSE.
[Shell]
Idle=TRUE # if FALSE the default is no idle detection
Exec=FALSE # if TRUE a new Shell is exec'ed when a task is created
# this setting may be required by 3rd party shells
[Winfunc]
WinPresent=FALSE # if TRUE Taskmgr returns version 3.1 to Windows
# presence check (int 2f func 1600h)
[Popup]
ClearScreen=TRUE # if TRUE Taskmgr always resets the video and clears
# the screen before displaying its popup menu. Can
# be used for apps which reprogram fonts.
[Debug]
Level=0
# end of TaskMgr profile
CHEJ IF ERRORLEVEL=1 EXIT DISPV ;DspVV CHEJ JP ECHO FEP MENU ECHO 1:鳳(OTRI) ECHO 2:WXP + WXPDOSV ECHO 3:使わない DRSWITCH OTRI, WXP, COMMON :OTRI ADDDEV OTRI.DEV GOTO COMMON :WXP ADDDEV WXP.DEV :COMMON JIS_A01 PANSI
CHEJ IF ERRORLEVEL=1 EXIT CHEJ US DELDEV DISPV /R REM DspVV /R
DEVICE=C:\FEP\OTRI.SYS /DC:\FEP /2/3/4/ス /K00020 /K1000D /K2F80D /K30009 /K4F90D /K5FFFF /K6FFFF /K70008 /K8001B /K9F820 /KAF820 /KB0020 /KCFFFF /KDFFFF /KEF920 /KFFFFF /J0FA20 /J1FFFF /J2FFFF /J3FFFF /J498F9 /J597F9 /J7F820 /J8FFFF
DEVICE=C:\FEP\WXP.SYS /R /Z /H10 /CS /D1C:\FEP\JISHO01.DIC /D3C:\FEP\JISHO02.DIC DEVICE=C:\FEP\WXDP.SYS
DR DOS は PC-UNIX のエミュレータの dosemu で使うこともでき、実際に OpenLinux の dosemu には DR DOS がサブセットの形ながら付属していたり、Linux用のディスクイメージも配布されていました。しかし TASKMGR は付属しておらず、実際に使用するとタスク切り替えができないという報告がありました。また、FEP などの動作もしない問題があり、実用に耐える状態ではありませんでした。
この問題はこれらのプログラムが直接キーボードを読みに行っている事が原因と考えられます。したがってこれらのキーを直接読みにいくようにすれば良いわけです。具体的には dosemu.conf の次の行を以下のように修正します。
$_rawkeyboard = (1) # bypass normal keyboard input, maybe dangerousこの $_rawkeyboad のデフォルトは 0(無効)ですが、1(有効)に設定するとキーボード入力を直接 DOS に送ります。ただし、この設定をして起動すると仮想コンソール機能が働かなくなるため DOS がハングアップした場合、コンソールから dosemu を終了することができなくなり、他のコンピュータから制御できない場合はリセットするしかなくなります。
なお、dosemu が仮想 86 機能を利用している関係で(DR DOS のマルチタスク機能は仮想 86 機能で実現)、タスクマネージャの挙動はタスクスイッチャとして機能します。
その他有用なソフトウェアやデータを開発された方々に感謝の意を表します。
HTML>