
しゅーず・しゅーず !!
DR-DOS をマルチタスクで使おう !!
●マルチタスクで日本語アプリケーションを使うには
DR-DOSのマルチタスク機能はコマンドラインで操作できるのでメニュー形式のDOSSHELLよりもスマートです。 しかもプリエンプティブマルチタスクというだけあってバックグラウンドで処理させることも出来ます。
しかし日本語環境でタスクマネージャ(taskmgr)を起動すると、タスク切り替え時に画面が乱れるなどの不具合が生じ、実用的ではありません。
英語環境や英語モードに切り替えての使用なら問題無いようですが、それでは日本語のアプリケーションが使えず、用途が限られてしまいます。
どうすればマルチタスクで日本語のアプリケーションを使えるでしょうか?
日本語環境を構築した後でtaskmgrを起動すると不具合が起こるわけですから、英語環境でtaskmgrを起動して、タスクごとに必要なドライバーを読み込み日本語化すれば日本語のアプリケーションが使えるようになります。
目次
●マルチタスクに必要なマシンスペック
CPU Intel80386(またはその互換品)以上
メモリ XMSメモリが2MB以上
目次
●必要なファイル
各プログラムは使用法をよく読んでからお使いください(なんだか薬みたい)。
以下の動作確認はマルチタスクでの使用を前提にしています。
単に日本語化するだけなら問題ないものもあります。
- 日本語化に必要なもの
| フォントドライバ |
$font.sys, dosv.ini (PC DOS J6/V以降)
jfont.sys (Windows95)
$fontx.sys (freeware, Lepton氏作)
注:IBM DOS J5/Vの$font.sysは INT 15h インターフェースで独自のメモリ管理を行っているためかマルチタスクでは正常に動作しません。
|
| フォント |
各フォントドライバに対応したもの
16ドット半角、19ドット半角、16ドット全角は必要
$jpnhn16.fnt他 (IBM DOS J5/V, PC DOS J6/V以降)
ank16.fnt他 (Windows95)
フォント昆布(freeware, Natrium氏作)
各種フォントを fontx形式に変換します。
wfontx(Windows用freeware, 岡 良樹氏作)
Windowsフォント(TrueTypeなど)を fontx形式に変換します。
注:Windows付属のフォントはWindows以外の環境での使用を認めていないようです。市販品を使うときも使用許諾をよく読んでからにしましょう。
|
ディスプレイ
ドライバ |
$disp.sys (IBM DOS J5/V)
dispv.exe他 (freeware, Lepton氏作)
dspvv.com (freeware, Torry氏作)
注:jdisp.sys(Windows95)はOSに依存しDR-DOSでは動作しません。
また、PC DOS J7/V の $disp.sys はtaskmgr
と相性が悪く、異常動作します。
PC DOS J6/V以降だと異常動作するのかもしれません。
したがって $disp.sys とともに使用する DOS/V
Extension 準拠のV-TEXTドライバ(例えば鯖氏のVESA汎用ディスプレイドライバ
dspxvbe)は動作しない可能性があります。
|
| 日本語キーボードドライバ |
keyb.com, keyboard.sys (IBM DOS J5/V, PC
DOS J6/V以降)
jkeyb.sys, jkeybrd.sys (Windows95)
jis_a01.com (freeware, binnHood氏作)
注:英語キーボードの方は必要ありません。
|
| FEP |
kkcfunc.sys (IBM DOS J5/V, PC DOS J6/V以降,
Windows95)
lpkkc.sys (freeware, 鯖氏作)
msime.sys他 (Windows95)
または市販のFEP
注:IBM DOS/V, PC DOS/Vの日本語変換プログラムはALT+漢字キーを認識しなかったり($ias.sys)、マルチタスクでは組み込めなかったり(ibmmkkv.exe)します。
|
使用できるフォント(形式)はフォントドライバによりますが、それ以外は好きなものを組み合わせて使うことが出来ます。
例えばWindows95のフォントドライバ、フリーのディスプレイドライバ、PC
DOSのキーボードドライバを組み合わせて使うことも出来ます。
- 環境の切り替えに必要なもの
目次
●環境設定
マルチタスクで使うときは安定性を考え、余計なドライバや常駐プログラムを組み込まないようにします。
基本的にすべてのタスクで使いたいものはtaskmgrの前(config.sysやautoexec.bat)に組み込み、そうでないものはtaskmgrの後にadddevを使ったり常駐プログラムとして組み込みます。
例えばCD-ROMやPCMCIA等のドライバはconfig.sysで組み込むと、すべてのタスクで問題無く使えます。(ただし常識的に複数のタスクで完全に同時には使えません)
- フォントドライバ
- adddevでは組み込めないことが多い。
- フォント用メモリ関係でうまくいかないようです。
- config.sysで組み込んでも問題無いのでそうしたほうが良いです。
- ディスプレイドライバ
- config.sysで組み込むと、タスク切り替えで画面が乱れます。
- adddevであとから組み込むか、常駐プログラムとして使えるものを使用した方が良いです。
- キーボードドライバ
- 特に問題ないですが、タスクごとに日英キーボードを切り替えるようなことはまずないのでconfig.sys,autoexec.batで組み込んだ方が楽。
- FEP
- 日本語モード(日本語コードページ?)でないと組み込めないものが多いので、日本語モードに切り替えた後でadddevを使って組み込みます。
- setverに登録しておけばkkcfuncが要らないFEPもあります。
IBM DOS J5/Vのディスプレイドライバを使った例を以下に示します。上記のドライバ類はディレクトリc:\jdriverに、FEPは市販のWX3(エーアイソフト)をc:\wx3にインストールしたとします。
赤い文字は必須、青い文字はお使いの環境に応じて変えてください。
- config.sys
- DEVICE=C:\DRDOS\EMM386.EXE MULTI DPMI=OFF FRAME=AUTO <-マルチタスクに必要
- DEVICE=C:\DRDOS\DPMS.EXE
- DEVICE=C:\DRDOS\SETVER.EXE
- SHELL=C:\COMMAND.COM C:\ /E:512 /P
- BREAK=OFF
- BUFFERS=15
- FILES=20
- FCBS=4,4
- LASTDRIVE=D
- HISTORY=ON,512,ON
- COUNTRY=1,,C:\DRDOS\COUNTRY.SYS <-英語モードが基本
- DOS=HIGH,UMB
- DEVICE=C:\JDRIVER\$FONTX.SYS /P=C:\JDRIVER\ <-フォントドライバの導入
- autoexec.bat
- @ECHO Off
- PATH C:\DRDOS;C:\;C:\JDRIVER <-ドライバを置いたディレクトリにPATHを通す
- VERIFY OFF
- PROMPT [DR-DOS] $P$G <-プロンプト表示はお好みで
- SET TEMP=C:\TEMP <-作業ディレクトリ
- IF NOT DIREXIST %TEMP% MD %TEMP%
- SET DRDOSCFG=C:\DRDOS
- NWCACHE 2048 1024 /LEND=ON /DELAY=OFF <-ディスクキャッシュ
- c:\jdriver\keyb.com jp,932,c:\jdriver\keyboard.sys <-キーボードドライバ
- SHARE /L:20 <-マルチタスクに必要
- ?"Enable Task Manager (Y/N) ?"TASKMGR
- 日本語に切り替えるバッチファイル( jp.bat
)
- @echo off
- chej
- if errorlevel 1 goto ALREADY <-すでに日本語モードなら終了
- :ON
- chej jp <-日本語モードにしてFEPを組み込む
- adddev c:\jdriver\disp_fep.dev <-デバイスドライバを組み込む
- pansi.com
- goto END
- :ALREADY
- echo すでに日本語環境になっています。
- :END
- 英語に戻すバッチファイル( us.bat )
- @echo off
- chej
- if errorlevel 1 goto OFF <-日本語モードなら常駐プログラムを外す
- goto ALREADY
- :OFF
- pansi.com -r
- deldev <-組み込んだデバイスドライバを外す
- chej us
- goto END
- :ALREADY
- echo Already english mode.
- :END
- ディスプレイドライバ・FEPを組み込むためのファイル(
disp_fep.dev )
- device=c:\jdriver\$disp.sys <-ディスプレイドライバ
- device=c:\jdriver\kkcfunc.sys <-以下FEP関係
- device=c:\wx3\wxK.SYS /A3
- device=c:\wx3\wx3.SYS /A3 /INI=c:\wx3\wx3sys.ini
目次
●使ってみよう
上記の設定をして再起動すると、ドライバ・常駐プログラムが読み込まれ、最後に
Enable Task Manager (Y/N) ?
と表示されます。 ここでYキーを押すとtaskmgrが起動しマルチタスクになります。
また、コマンドラインから
taskmgr[RETURN]
でも起動させることが出来ます。
さて、別に代わり映え無くコマンドプロンプトが表示されていると思います。
ここで[ctrl]+[Esc]を押してみましょう。 画面右上にメニューが表示されます。
[ctrl]+[Esc]はこのタスク切替メニューを呼び出すホットキーです。
ホットキーはDR-DOSのsetupで変えることが出来ます。
[Esc]で元に戻れます。
では、メニューを呼び出したら、[Insert]を押してみましょう。
メニューが閉じて、またコマンドプロンプトが表示されたと思います。
ここでもう一度メニューを開いてみましょう。
メニューに「COMMAND」が2つ並んで、2番目の方に「>」が付いてると思います。
つまり[Insert]を押すと新しいタスクが作られ、そのタスクに移動するのです。
メニューではカーソルキーの上下か、数字キーでタスクの選択を行い、リターンキーでそのタスクに移ります。 [Delete]で選択したタスクの削除が出来ます。 いろいろコマンドを実行してからタスクを切り替えて、確かめてみてください。
タスクマネージャ自体の終了はすべてのタスクを削除し、メニュー上で最後のタスクを[Delete]で削除するか、最後のタスクで[ctrl]+[Alt]+[Delete]を押すと
Are you sure (Y/N)?
と聞いてくるのでYキーを押します。
では今度は日本語化をしてみましょう。新しいタスクを一つ作って、コマンドラインから
jp[RETURN]
としてみましょう。うまくいけばフォントが変わり日本語モードになります。
ここでまたホットキーを押してメニューを呼び出してみましょう。
今度はメニューが表示されないと思います。 日本語モードではメニューの表示が行われない*1ので注意してください。 メニュー自体は起動しているので、数字キーとリターンキーを使ってタスクを切り替えてみましょう。
英語のタスクと、日本語のタスクがちゃんと切り替えられているか確かめてください。
いちいちホットキーを押してメニューを呼び出すのが面倒になってきました。
そこで今度は[ctrl]+[テンキーの数字キー]を押してみましょう。 それぞれメニューの上から順のタスクに切り替わります。 また、[ctrl]+[テンキーの+]、[ctrl]+[テンキーの-]で順にタスクを切り替えられます。
テンキーが無くても、DR-DOSのsetupで[ctrl]+[数字キー]で切り替えられるように設定できます。
日本語モードから英語モードに戻すには、コマンドラインから
us[RETURN]
としてみましょう。 導入した日本語ドライバが外されて英語モードに戻るはずです。
taskmgrのより詳しい使い方はhelpを参照してください。
例として
taskmgr /c コマンド
で新しいタスクをバックグラウンドに作りコマンドを実行します。コマンドが終了すると自動的にタスクが消去されます。
- *1 (1999/07/22追加)
DR-DOS がインストールされているディレクトリの
taskmgr.ini 中の次の部分を変更すると、画面がクリアされるようになりますが、日本語モードでもメニューが表示されるようになります。
[Popup]
ClearScreen=FALSE <- これを TRUE に変更する
(情報提供:大滝 博さん)
|
目次
●ちょっと便利な使い方
目次
●注意事項
- タスク切り替えについて
ディスプレイドライバや使用しているアプリケーションによってはタスク切り替え後の画面にカーソルの跡が残ったり画面が乱れたりするものがあるようです。
また、非常駐スクリーンセーバーのように画面を忙しく書き換えるものをひんぱんにタスク切り替えするとごくまれにハングアップすることがあるようです。
- タスクの削除について
日本語化したタスクを英語モードに戻さずに削除しても、各タスクは保護されているので問題無いようです。心配な方はus.batで日本語ドライバ類を外してから削除してください。
- ansi.sysについて
すべてのansi.sys,$ansi.sysはマルチタスク上のFEPと相性が悪く、最悪の場合そのタスクの削除が出来なくなります。
ansi.sysを必要とするアプリケーションを使うときはpansi.comを使うようにしましょう。
- 日本語/英語の切り替えについて
jp.batによって日本語化した後は、chejなどで直接英語モードに切り替えたりしないでus.batを使うようにしてください。
chejを使ってもソフトウェア的に問題は無いのですが、たくさんのタスクを立ち上げているとどれが日本語化したタスクか分からなくなるからです。
- マルチタスクで使えないアプリケーション
ディスクユーティリティ
(defrag, undelete等。HDDがクラッシュする恐れがある)
なぜか使えないもの
(Play At Will の ezplay PCMCIAドライバ自体は問題無く使える)
(WebBoy、XTC-Player、CubicPlayer dos4gw
等の相性?)
また、DOSエクステンダgo32を使用したプログラムで複数起動できないケースがありました。
(fmsx98 もっとも複数起動の意味はないかもしれない)
- 使用許諾について
DOSやアプリケーションによってはプログラム全体または一部を複数の機器で使用すること、プログラムの一部を抜き出して使用することを禁じているものがあります。
それぞれの使用許諾をよく読んで使うようにしてください。
目次
戻る
Written by 楢方 秋豆
Reprinted by Japanese DR DOS User's Group