DOS/Vの日本語/英語モードとSWITCHコマンド [DOS]
もともとDOS(PC DOSおよびMS-DOS)は英語(SBCS)しか扱えないIBM PCのために作られたOSです。SBCSとは文字を1バイトで表現する文字コードセットのことです。日本語の場合はひらがな・カタカナ・漢字などと扱う文字が多いため、多くの場合はDBCS、すなわち1文字を2バイトで表現します。日本語版DOSでは文字コードセットとしてMS漢字コード(コードページ932)、いわゆるシフトJISが採用されています。
本来ならIBM PCでは英文テキストしか表示できませんが、文字をグラフィックとして描画することでIBM PCハードウェアで日本語表示を可能にしたのがDOS/Vです。DOS/Vでは英語版DOSをベースにDOSの標準的なシステム拡張手段である デバイスドライバ によってにソフトウェア面から拡張を施しています。(マニュアルでは「自然拡張」と呼んでいます。)
(引用元:『PC DOS J6.1/V カンタンDOS』、日本アイ・ビー・エム、1993年)
しかし日本語環境では一部の海外のDOS用適用業務プログラムが文字化けしたり動作しなかったりします。
これは、DOS/Vの日本語環境が英語版DOSとある程度の互換性を保持していながらも、グラフィックや文字コードの一部で非互換の部分が存在するためです。
(引用元:『PC DOS 2000 日本語版 ユーザーズ・ガイド』、日本アイ・ビー・エム、1995年)
そんな時のために「CHEV US」(英語環境に切り替える)や「SWITCH」(英語モードに切り替える)というコマンドが用意されています。
CHEV USは日本語処理関連のデバイスドライバを組み込んだまま動作モードを英語環境に切り替えます。CONFIG.SYS(組み込むデバイスドライバを指定する設定ファイル。実体はテキストファイル。)には変更を加えません。
SWITCHコマンドは、CONFIG.SYSを日本語処理関連のデバイスドライバを取り除いたCONFIG.SYSに置き換えて、ほぼ完全な英語版DOSとして再起動します。デバイスドライバが常駐していないため空きメモリが増える他、日本語環境に対応していないデバイスドライバが使えるようになります。唯一の英語版DOSとの違いは、日本語配列に対応したキーボードドライバが常駐するため、英語モードでも日本語キーボードで正常に入力できます。
※DOS/Vにおける日本語環境と英語環境の関係
英語モードはもともとのDOS。日本語モードはそれに日本語処理のためのデバイスドライバを組み込んだ状態のDOS、いわゆるDOS/Vです。MS-DOS/Vでは「US」(CHEV USと同じ)や「JP」(CHEV JPと同じ)コマンドも利用できます。
SWITCHコマンドの実際の動作は、現在のCONFIG.SYSとAUTOEXEC.BATを切り替え先モードのCONFIG.SYSとAUTOEXEC.BATに置き換えるだけなので、それぞれに変更を加えたり削除しても元には戻りません。
誤って削除してしまった場合や編集して正常に動作しなくなった時のために、標準的なCONFIG.SYSとAUTOEXEC.BATをここに置いておきます。
○MS-DOS 5.0/V 日本語モード(JPモード)のCONFIG.SYS(CONFIG.JP)
MS-DOSバージョン5.0の日本語版はMicrosoftからの直接販売は行われていません。OEM先のPCメーカーによるカスタマイズによってはDOS標準でないメモリ管理プログラムや日本語入力支援ソフト(FEP)を使用している場合があり、それに応じてCONFIG.SYSやAUTOEXEC.BATを設定する必要があります。
日本語モードのCONFIG.SYSは英語モード時にはCONFIG.JPとしてルートディレクトリに保管されます。
ちなみに、外部コマンドの多くは1つのファイルで日本語/英語両対応のバイリンガルになっていますが、バイリンガルにできなかった(?)ファイルは2つのファイルに分かれています。IBM DOSの場合はC:\DOS\PS2ディレクトリの中に英語言語のファイルが配置されていて、英語モード時に環境変数でここを指定することで英語の実行ファイルが実行されます。MS-DOS/Vの場合はC:\DOSディレクトリに日本語と英語のファイルが混在していて、さらに日本語・英語環境を判別する*.COMという実行ファイルで日本語と英語のファイルを使い分けています。英語の実行ファイルは*2.EXEというファイル名になっているため、*.EXEとしてコマンドを実行すると英語モードでも日本語のファイルが実行されてしまう問題があります。
BUFFERS=20 FILES=30 DOS=HIGH,UMB LASTDRIVE=Z DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE 1024 RAM DEVICE=C:\DOS\SETVER.EXE DEVICEHIGH=C:\DOS\BILING.SYS DEVICEHIGH=C:\DOS\JFONT.SYS /P=C:\DOS\ DEVICEHIGH=C:\DOS\JDISP.SYS DEVICEHIGH=C:\DOS\JKEYB.SYS /106 C:\DOS\JKEYBOARD.SYS DEVICE=C:\DOS\KKCFUNC.SYS DEVICEHIGH=C:\DOS\ANSI.SYS DEVICE=C:\DOS\MSIMEK.SYS /A1 DEVICEHIGH=C:\DOS\MSIME.SYS /D*C:\DOS\MSIMER.DIC /DC:\DOS\MSIME.DIC /C1 /N /A1
○IBM DOS J5.0/V 日本語モード(PS/55モード)のCONFIG.SYS(CONFIG.PS5)
BUFFERS=20 FILES=20 DOS=HIGH,UMB COUNTRY=081,932,C:\DOS\COUNTRY.SYS SHELL=C:\DOS\COMMAND.COM /P /E:512 DEVICE=C:\DOS\$FONT.SYS DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\EMM386.EXE 1024 RAM DEVICEHIGH=C:\DOS\SETVER.EXE DEVICEHIGH=C:\DOS\$DISP.SYS DEVICEHIGH=C:\DOS\$IAS.SYS /R=1 DEVICEHIGH=C:\DOS\$IAESKK.SYS rem DEVICE=C:\DOS\SMARTDRV.SYS 2048 rem DEVICE=C:\DOS\RAMDRIVE.SYS 14078 /E INSTALL=C:\DOS\IBMMKK.EXE /M=S /S=C:\DOS\$MULTDCT.PRO
○MS-DOS 5.0/V、IBM DOS J5.0/V 英語モード(US、PS/2モード)のCONFIG.SYS(CONFIG.US、CONFIG.PS2)
BUFFERS=20 FILES=20 DOS=HIGH COUNTRY=001,437,C:\DOS\COUNTRY.SYS SHELL=C:\DOS\COMMAND.COM /P /E:512 DEVICE=C:\DOS\SETVER.EXE DEVICE=C:\DOS\HIMEM.SYS DEVICE=C:\DOS\ANSI.SYS
○MS-DOS 5.0/V 日本語モード(JPモード)のAUTOEXEC.BAT(AUTOEXEC.JP)
@ECHO OFF PROMPT $P$G PATH C:\DOS SET TEMP=C:\DOS C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS LH KEYB.COM JP,932,C:\DOS\KEYBOARD.SYS C:\DOS\CHEV.COM JP
○IBM DOS J5.0/V 日本語モード(PS/55モード)のAUTOEXEC.BAT(AUTOEXEC.PS5)
@ECHO OFF SET SYS=C: SET COMSPEC=C:\DOS\COMMAND.COM PROMPT $P$G PATH C:\DOS SET TEMP=C:\DOS LH KEYB.COM JP,932,C:\DOS\KEYBOARD.SYS VER
○MS-DOS 5.0/V 英語モード(USモード)のAUTOEXEC.BAT(AUTOEXEC.US)
@ECHO OFF PROMPT $P$G PATH C:\DOS SET TEMP=C:\DOS C:\DOS\NLSFUNC.EXE C:\DOS\COUNTRY.SYS KEYB.COM JP,437,C:\DOS\KEYBOARD.SYS C:\DOS\CHEV.COM US
○IBM DOS J5.0/V 英語モード(PS/2モード)のAUTOEXEC.BAT(AUTOEXEC.PS2)
@ECHO OFF SET SYS=C: SET COMSPEC=C:\DOS\COMMAND.COM PROMPT $P$G PATH C:\DOS;C:\DOS\PS2 SET TEMP=C:\DOS KEYB.COM JP,437,C:\DOS\KEYBOARD.SYS VER
○関連
- DOS/V上のIBMMKKとWin3.1上における日本語入力について
https://diarywind.com/blog/e/g13_257_dosvibmmkkwin31.html - XPモードで16ビットアプリケーションを利用する [WinXP]
https://diarywind.com/blog/e/g13_133_xp16_win7.html - 日本語DOS/Vで英語キーボードを使う
https://diarywind.com/blog/e/g13_185_dosv.html - 英語モードでMS-DOSアプリケーションを利用する
https://diarywind.com/blog/e/g13_144_ms-dos_winxp.html
[EOF]