本稿は、技術評論社のSoftware Design誌98年6月号に寄稿した記事を元にしています。 基本的にDR-DOS 7.02について記述していますが、 7.03のリリースやその後の状況の変化を踏まえて一部加筆訂正した部分があります。
最終更新: 2000.2.2
Lineo DR-DOSという「フリーで使用できるDOS」があるのをご存じでしょうか? 本稿では、このDR-DOSと各種フリーソフトを使って、 なるべくフリーな日本語DOS/V環境を実現する試みを紹介します。
DR-DOSとは、Lineo, Inc.が提供しているMS-DOS互換OSで、 評価または非営利目的であれば無料で入手・使用できる点が大きな特徴です。 そのルーツは、かの老舗Digital Researchが数年前に開発・販売していたDR-DOS 5.0/6.0です。 日本語版(DR-DOS 6.0/V)も販売されていましたので、ご存じの方も多いと思います。 その後同社がNovellに買収されたのに伴い、Novell DOS 7と名を改めました。 さらに、NovellからスピンアウトしたCalderaがこれを引き継ぎ、 OpenDOS 7.01という名前で「フリーでダウンロードして使用できるDOS」として再デビューしました。 7.02からはDR-DOSという昔の名前に戻っています。 さらに、Calderaの子会社Caldera Thin Clients, Inc.に移管され、 同社はLineo, Inc.と名称変更して現在に至ります。
商品としてのDR-DOSはOEM向けの製品ですが、 我々一般ユーザーはLineoのWWW/FTPサイトでDR-DOSを入手することができます。 単にフリーであるというだけでなく、 旧DR-DOS以来のマルチタスクサポートや、 NetWareクライアントとPersonal NetWareのバンドルなど、 機能の面でも意欲的な製品です。
さて、このように魅力的なDR-DOSですが、残念ながら日本語化されてはいません。 しかし,英語版のDOSにソフトウェアを追加して日本語環境を実現する、 すなわち「DOS/V化」するのは原理的には難しいことではありません。 DR-DOSも、各種フリーソフトを利用することで日本語DOS/V化することができます。
本題に入るまえに、なぜ今どきDOSをとりあげるのかを考えてみましょう。 ご存じの通り、すでにDOSはPCの主流OSの座をWindowsに譲っています。 しかしながら、まだまだDOSの出番はなくなりません。
たとえば、BIOSのアップデートやISAカードの設定を行うユーティリティは、 そのほとんどがDOS上で動作するようにできています。 ハードやソフトの障害が発生してOSが起動しなくなったときも、 DOSは非常用としてたいへん重宝します。 また、PCベースの携帯端末などでは、DOSを採用しているものが今でも数多くあります。 このように、DOSはPCの主役OSではなくなったものの、基盤OSとして依然健在です。
さらに、PC UNIX上のDOSエミュレータとしてdosemuやpcemuといったものがありますが、 これらを利用するにもDOSそのものが必要です。
ところで、従来のDOS(PC DOS、MS-DOS)は売り物であり、基本的に別途購入する必要がありました。 たとえば、PC UNIXをメインにフリーなシステムを構築しようとしても、 DOSだけは買わなくてはいけませんでした。 しかし、DR-DOSの登場により、ついにDOSまでもフリーで使える時代になったのです。 PCの基盤OSであるDOSが万人に開放されたといっても過言ではないでしょう。
英語DOSをベースにしてDOS/V環境を構築するには、 フォント・フォントドライバ・ディスプレイドライバなどのソフトウェアを追加することになります。 これらは、もちろんPC DOS/VやMS-DOS/Vのものを流用しても可能ですが、 せっかくフリーなDR-DOSを使うのですから、 追加ソフトもできる限りフリーで揃えることに挑戦したいものです。
具体的には以下のようなソフトウェアが必要となります。
前述の通り、DR-DOSを使うことにします。 日本語ファイル名の扱いやコマンドラインでの2バイト文字の編集が気になるところですが、 旧DR-DOS時代に日本語版を出していただけあって、 カーネルは設定によってちゃんと日本語に対応できるので心配ありません。
フリーなフォントドライバのデファクトスタンダードともいえる、 FONTX Ver.2を使用します。
ディスプレイドライバはDISPVが有名ですが、他にもいくつかあります。 ここではDISPVを使用しますが、 アプリケーションとディスプレイドライバの組み合わせによっては 障害が起きることも考えられるので、適宜選択してください。
余談ですが、V-Text全盛期にはS3やET4000など 特定のビデオカードのアクセラレーション機能を使った高速なディスプレイドライバがありましたが、 最近のビデオカードに対応したものはまったくといっていいほどないようです。 したがって、高解像度を使おうと思っても SVGA汎用あるいはVESA BIOS汎用ドライバしかありません。 やむをえないこととはいえ残念です。
最低限、半角(8×16ドットと8×19ドット)のJIS X 0201(英数カタカナ)、 全角(16×16ドット)のJIS X 0208(漢字など)のフォントが必要です。 これらは、すでにFONTX用のフォントファイルとしていくつか提供されています。
なお、DOS/V用アプリケーションでは1バイト罫線記号などを使っているものも多いため、 JIS X 0201に加えてこれらのフォントをもつ必要がありますが、 意外とこの部分はフリーのものがないようです。 もっとも、わずか24字ですから、筆者は自分でデザインしてしまいました。
DR-DOSのキーボードドライバKEYB.COMは、 ヨーロッパなどSBCS圏のキーボードは多くサポートしていますが、 日本などDBCS圏のキーボードはまったくサポートしていませんので、 106/109キーボードやAXキーボードを使っている場合は別途ドライバが必要です。 ここでは、106/109キーボードをサポートするJIS_A01というフリーソフトを利用します。
ESC/Pなどのプリンタに印刷するためのドライバです。 当然、日本語が印刷できる(コード変換をやってくれる)ものがほしいところです。 さらに、非日本語プリンタに対してもフォントを展開して日本語が印刷できればいうことはありません。 ただし、筆者はプリンタを所有しないので、本稿ではプリンタドライバについては割愛します。
最大の難関です。 フリーなFEPというとエー・アイ・ソフトの WXPが有名ですが、 これはPC-9800およびJ-3100用しかありません。 ただし、WXPDOSVを使うことで、 J-3100版がDOS/Vでもある程度動作します。
なお、FEPによっては、PC DOS/VやMS-DOS/Vに付属のKKCFUNC.SYSというドライバを必要とするものがあります。 そういう場合は、フリーな互換ドライバがあるのでこれを利用するとよいでしょう。
PC DOSやMS-DOSと違って、DR-DOS 7.02にはなぜかマウスドライバが付属していません。 もっとも、多くの場合は、マウスに付属しているか、 ベンダーのWWW/FTPサイトから入手できるでしょうが、 DOS/V環境での使用という観点からは、 日本語モードでもマウスカーソル(とくにテキストカーソル)がちゃんと描画されるか、 という点は一応確認しておく必要があるでしょう。 ちなみに、Logitech FirstMouse+(英語版バルク)に付属のマウスドライバはOKでした。
補足: その後、アップデートの一部として新たにマウスドライバが提供されるようになりました。
DOSアプリケーションのうち、BIOSを使わずにテキストVRAMに直接アクセスしたり、 コードページに依存する文字(罫線など)を使ったりしているものは、 日本語モードでは正常に動作しません。 DR-DOSのユーティリティにも、そのようなものがいくつかあります。
これはDOS/Vの原理上避けられない問題で、 回避するには一時的に英語モードにしなくてはいけません。 モードを切り替えるCHEVコマンドの代用として、 CHEJを使います。
また、モード切り替えをある程度自動化するために、 RCHEVを使います。 RCHEVは、あらかじめ登録しておいた特定のプログラムが起動されたときに、 自動的にモードを切り替えます。
ここで紹介したソフトウェアの多くは、WWWやFTPで入手可能です。 稿末にリンク集を設けてあります。
Lineoの WWWサイト/ FTPサイト から、以下のパッケージを入手できます。
単に全ファイルをアーカイブしたものと、 フロッピーディスク(FD)イメージになっているものと、 2通りの形態で提供されています。 HDD・MO・CD-Rなどに展開してインストールする場合は前者、 全部FDでインストールする場合は後者を入手します。 また、7.02のLiteは、フルセットからネットワーク機能 (NetWareクライアント・PersonalNetWare)を除いたものです。 すべてPKZIPの自己展開ファイルの形で配布されているので、 DOSやWindowsでは直接実行すれば展開できます。
なお、入手の際は使用許諾書(英文)を必ず読み、その内容に同意してください。 フリー(ライセンス料未払い)で使用する場合は主に以下のようになります(Part I、III)。
「合理的な期間」というのが気になりますが、 ある方が以前メールで問い合わせたところでは、 事実上無期限とみなしてよいとのことです。
また、ライセンスを購入したい場合は、 Calderaの代理店である秋葉原のAmuletCOMでCD-ROMを販売しています。 このCD-ROMはブート可能CDになっています。
無事入手できたらいよいよインストールです。 インストール自体は特に難しいところはありません。 しかし、他のOSと共存させたい場合は注意が必要です。 後述の「他のOSとの共存」の項を見てください。
アーカイブ版を入手した場合は、HDD・MOなど適当なメディアに展開して、 DOSまたはWin95のMS-DOSモードを起動し、インストーラー(INSTALL.EXE)を起動します。 日本語モードでインストーラーを起動すると画面が正しく表示されないので、 あらかじめ英語モードにしておきましょう。 また、マウスドライバを組み込んでからインストーラーを起動すると、 マウスで操作することができて便利です。
FDイメージ版を入手した場合は、まず適当なメディアに展開します。 そして, DOSやWin95などが使える場合は、 付属のMAKEDISK.EXEまたはDISKCOPY.COMでインストールFDを作成します。 UNIXの場合は、ddコマンドでイメージファイルを直接FDに書き込みます。 あらかじめ空きFD(フルセットは5枚、Liteは3枚)を用意しておいてください。 その後、1枚目のFDを使ってPCを起動し、インストーラーの指示に従います。 マウスで操作するには、Alt+Xでいったんインストーラーを終了して、 マウスドライバを組み込んでから再度インストーラーを実行します。
インストールでは、いろいろなモジュールを選択したり、設定を調整したりできますが、 最初はデフォルトのままとりあえず入れてみるだけで十分でしょう。 インストールが終わったら再起動して、ちゃんと動作することを確認しましょう。 また、インストール後も、SETUPコマンドを使って、 モジュールを追加したり、設定を変更したりできます。
AT互換機のアーキテクチャでは、複数のOSをインストールすることはあまり考慮されていないので、 うかつにOSをインストールすると今までのOSが起動しなくなるおそれがあります。 他のOSと共存させたい場合は、事前によく検討しなくてはいけません。
すでに他のDOSがインストールされている場合、 普通にDR-DOSをインストールすると前のDOSは起動できなくなります (UNINSTALコマンドで DR-DOSをアンインストールすれば元に戻ります)。 ここでは、DR-DOSとPC DOS(MS-DOS)でドライブ名の割り当て規則が違うことを利用して、 DR-DOS とPC DOS を共存させるインストール手順を紹介します。
DR-DOSとPC DOSを逆にすると動作しません。 また、DR-DOSとPC DOSとでドライブ名が違うことに注意が必要です。
Win95がインストールされているマシンにDR-DOSをインストールすると、 自動的にDR-DOSのOSローダー(LOADER.COM)がインストールされ、 起動時にDR-DOSとWin95を選択ブートできるようになります。 このOSローダーは、マスターブートレコード(MBR)を占有するタイプなので、 同種の他のブートセレクター(lilo、booteasyなど)とは共存できません。
このとき、DR-DOSのCONFIG.SYSとAUTOEXEC.BATは、 Win95の同名ファイルとの衝突を避けるため、 DCONFIG.SYSとAUTODOS7.BATというファイル名になります。 もしWin95のCONFIG.SYSとAUTOEXEC.BATが消えてしまった場合は、 アンインストール用の@CONFIG.UIと@AUTOEXE.UI(共に隠しファイル)からコピーすれば復元できます。
なお、Win95だけでなくDOSもインストールされている場合、 DR-DOSをインストールすると、前のDOSは起動しなくなります。
NTがFATの基本パーティションにインストールされている場合、 そこにDR-DOSをインストールすると、 Win95の場合と同様にDR-DOSのOSローダーがインストールされます (インストール中にいったんエラーで止まりますが、続行してかまいません)。
NTがNTFSの基本パーティションにインストールされている場合は、 別途基本パーティションを確保してDR-DOSをインストールします。
NTが拡張パーティションにインストールされている場合は、 基本パーティションにDOSやWin95がインストールされていると思いますので、 DOSやWin95の項を参照してください。
これらのOSはDOSと干渉しないので、ほとんど問題ありません。 DR-DOSのための基本パーティションを確保してインストールし、 liloやbooteasyで切り替えればよいでしょう。
HDDへのインストールがためらわれる場合は、 DR-DOS起動用FDを作ってそこから起動するのも手です。 これなら、HDD上のOSには影響しません。 ただし、DOS関係のファイルをすべてFDに置いて運用するのは、 速度や容量の点で不満が残るので、必要最低限のファイルだけをFDに置き、 残りはHDDに置いて呼び出すように工夫するとよいでしょう。
DR-DOSのインストールが終了し、英語DOSとして正しく動くことを確認したら、 いよいよDOS/V化、すなわち各種ドライバ等のインストールにとりかかります。 詳しくは各ソフトのドキュメントに譲りますが、ここで簡単に手順を紹介します。
なお、フォントとフォントドライバはC:\FONTXに、 ディスプレイドライバはC:\DISPVに、 それ以外の実行ファイルはC:\BINに置くものとします。
106/109キーボードを使っている場合は、 インストール直後はキーボードがUS配列になっていて不便ですので、 まず最初にキーボードドライバをインストールしましょう。 JIS_A01.LZHを展開します。
FONTX204.LZHとフォントを展開し、 エディタ(EDIT.COM)で$FONTX.INIを作成します。
フォントとしては、筆者が一部を編集した16/19ドット半角フォントと、 X11のjiskan16.bdfから変換した16ドット全角フォントを使います。
なお、$FONTX.SYSはフォントをXMSメモリに置くものです。 XMSが利用できない場合は、EMS版の$FONTE.SYSや、 メインメモリ版の$FONTM.SYSを使います。
$FONTX.INIの設定例
[CODE] F040 F9FC [FONT] SNYHN16X.FNT SNYHN19X.FNT JPNZN16X.X11
DISPV160.LZHを展開します。 DISPVは、V-Textモード時の解像度やフォントサイズによって実行ファイルが何種類もありますので、 ドキュメントを読んで好みのものを選んでください。
CHEJ606.LZHとRCHEV10.LZHを展開し、 英語モードでないと動作しないコマンド類をRCHEV.CFGに追加します。
RCHEV.CFGの設定例
edit 2 dosbook 2 filelink 2 netwars 2 nwdraw 2 preview 2 sdefrag 2 diskopt 2 setup 2 install 2 lock 2 taskmgr 2 pnwtutor 2
CONFIG.SYSとAUTOEXEC.BATを編集します。
前記のドライバ等を組み込み、CONFIG.SYSのCOUNTRY行を日本の国別情報に書き換えます。 COUNTRY行はDISPVの組み込みより前にもってきます。 また、NLSFUNC.EXEをロードします。 設定例を参考にしてください。
CONFIG.SYSの設定例
BREAK=OFF BUFFERS=30 FILES=30 LASTDRIVE=Z FCBS=4,4 HISTORY=ON,512,ON DOS=HIGH,UMB COUNTRY=81,932,C:\DRDOS\COUNTRY.SYS DEVICE=C:\DRDOS\EMM386.EXE DPMI MULTI VERBOSE DEVICE=C:\DRDOS\DPMS.EXE DEVICEHIGH=C:\DRDOS\SETVER.EXE DEVICEHIGH=C:\FONTX\$FONTX.SYS /P=C:\FONTX\ DEVICEHIGH=C:\DISPV\DISPV.EXE DEVICEHIGH=C:\DRV\HIT-IDE.SYS /D:IDECD0 DEVICEHIGH=C:\DRDOS\ANSI.SYS INSTALLHIGH=C:\DRDOS\NLSFUNC.EXE SHELL=C:\COMMAND.COM C:\ /E:512 /P
AUTOEXEC.BATの設定例
@ECHO OFF PROMPT $P$G PATH C:\BIN;C:\DRDOS SET DRDOSCFG=C:\DRDOS LH NWCDEX /D:IDECD0 /L:Q LH JIS_A01 LH RCHEV /V
完了したら再起動します。 うまくいけば、ディスプレイドライバの組み込み時に画面が切り替わり、 日本語が表示可能になるはずです。 DOS/Vアプリケーションを動かしたり、 CHEJやRCHEVでのモード切り替えを試したりしてみてください。
ビデオカードによっては、スクロールが正常に行われないことがあります。 その場合は、DISPVに/HS=OFFをつけます。
その他、EMM386の設定や、CD-ROMデバイスドライバの組み込み、 ディスクキャッシュNWCACHEの組み込みなど、必要に応じて書き換えます。
DR-DOS/Vを使っていて気がついたことをまとめてみました。
DR-DOSは、MS-DOS 3.3あたりを元に設計され、その後独自に進化してきたものなので、 最近のMS-DOSとは仕様が異なる部分があります。 その代表はDIRコマンドです。 DIR /Wの出力がCP/M風なのはご愛嬌としても、 /S、/O、/Aなどのスイッチが使えないのは時として非常に困ります。 外部コマンドのXDIRで類似の機能を実現していますが、 それでもスイッチ指定が完全には互換でないという問題があります。
OpenDOS/DR-DOS 7.0xは、DOSのバージョン番号としては6.0を返します。 アプリケーションによっては、バージョンチェックにより動作しないものもあります。 そのような場合は、SETVERコマンドに登録してバージョン番号をごまかす必要があります。
DR-DOSには、MSCDEXの代わりとしてNWCDEXが付属しています。 NWCDEXはメモリ常駐量が少ないのですが、完成度はMSCDEXには及ばないようです。 DR-DOS 7.02付属のNWCDEX 2.81では、 事実上LAN Managerクライアントと併用できないとか、 CD-ROMドライブに対するCHDIRコマンドが初回のみ失敗することがあるといった問題を確認しています。
Vz Editorを常駐させているとき、Vzが正しい挙動をしないケースがいくつかあります。 特に、EMSがない(EMM386 FRAME=NONE)状態では、まったくファイルを読み込んでくれません。
本稿が、フリーなシステム構築をめざす方や、 携帯端末でDR-DOS/Vを使おうと考えている方の参考になれば幸いです。
最後になりますが、本稿で紹介した各ソフトウェアの作者の方々と、 DR-DOSのDOS/V化に関して筆者に感想や情報をお寄せくださった方々に、 この場を借りてお礼申し上げます。
Calderaの正規代理店としてDR-DOSやOpenLinuxを販売しているAmuletCOMのページ。DR-DOSのCD-ROMは¥4,800とのことです。
FreeDOSのページ。
ロシアのソフトハウスが開発・販売している互換DOS。
組み込み用の互換DOS。
トランザクションサーバー用のマルチタスク・マルチユーザーDOS?
DOS用WWWブラウザ。
FONTX/DISPVなどの作者、lepton氏のページです。
本稿と同様、OpenDOSとフリーソフトを使ったDOS/V環境構築について、 日記風に書かれています。 ディスプレイドライバの比較や、go32の動作報告もあります。
DOS環境を充実させるためのtipsや、OpenDOS/FreeDOSの紹介などがあります。 DR-DOSメーリングリストの案内もあります。
DR-DOSのマルチタスク機能(タスクマネージャ)と日本語環境を共存させる方法が解説されています。
86-DOSからOpenDOS/FreeDOSに至るまでのDOSの足跡を記したページ。 たいへん参考になります。
V-Textドライバの代名詞とでもいうべきFONTXとDISPVです。
この企画のために用意したフォントデータです。 英数字とカタカナは既存のものを利用し、 不足する特殊記号については筆者がデザインしました。
10ドット日本語フォント「ナガ10」をFONTX2形式に変換したものです。
106キーボード専用のコンパクトなドライバです。 NIFTY SERVEのFPCUPRO LIB6 #534にあります。
フリーで実用的な日本語FEPとして有名なWXPです。
LogitechのDOS/Win3.1用マウスドライバです。
Simtelのマウスドライバ/ツール群です。 ベンダー提供のマウスドライバが多いですが、 フリーなシリアルマウスドライバCute Mouseもあります。
DOS/V用のいろいろなツールがあります。KKCFUNC.SYS互換ドライバもあります。
V-Text関係のプログラムやフォントは、 すでにHISTORY PACKに移っているものが結構ありますので、 PACK for WIN GOLDのCD-ROMを持っているからといって油断しないようにしましょう:-)
Copyright (C) 1998 ITO Takayuki, All rights reserved.