マルチコンフィグ(MS-DOS編)
- 公開日: 2009/03/01
概要
マルチコンフィグとは、DOS起動時に選択メニューを表示し、この選択メニューの選択項目をユーザが選択することによって、所望の設定内容でDOSを起動させるものです。マルチコンフィグを活用することによって、例えば、EMSやCD-ROMやネットワーク機能の使用の可否、日本語モードと英語モードの選択などをメニュー操作で行えるようになります。 MS-DOSのマルチコンフィグは以下のルールに基づいて記述されます。
メニュー項目の設定
メニュー項目は、config.sysの先頭、[MENU]で始まるブロック中に記載されます。各メニュー項目は、Menuitem=項目名, 項目の説明という文法で記述されます。一つの項目につき、一行ずつMunuitem行を作成します。
また、Menudefault=項目名という行で、デフォルトで選択される項目(Menuitem行で定義済みのもの)を設定します。
例えば、「日本語(CD-ROM対応)」「英語(CD-ROMなし、EMSあり)」「英語(CD-ROMあり、EMSあり)」「英語(CD-ROM, EMSなし、EMS有り」「英語(CD-ROMなし、EMS無し)」の5項目をメニューに表示させるためには、[MENU]ブロックを以下のように記述します。
[MENU] Menuitem=Japanese_Mode, Japanese(CD EMS) . Menuitem=English_Mode1, English(EMS). Menuitem=English_Mode2, English(EMS CD). Menuitem=English_Mode3, English(CD). Menuitem=English_Mode4, English(no option). MenuDefault=Japanese_Mode
各項目の設定(config.sys)
各項目の設定内容は、[項目名]で始まるブロック中に記述されます。
各項目の設定(autoexec.bat)
さて、上記config.sys中の「項目名」は環境変数configに保存されます。従って、autoexec.bat中では、If "%CONFIG%"=="項目名" Goto 〜構文を使って、項目毎の設定を行います。
例
以上をまとめると、config.sys, autoexec.batは以下の通りとなります。
《config.sys》
[MENU] Menuitem=Japanese_Mode, Japanese(CD EMS) . Menuitem=English_Mode1, English(EMS). Menuitem=English_Mode2, English(EMS CD). Menuitem=English_Mode3, English(CD). Menuitem=English_Mode4, English(no option). MenuDefault=Japanese_Mode [Japanese_Mode] DEVICE=C:¥DOS¥HIMEM.SYS DEVICE=C:¥DOS¥EMM386.EXE RAM BUFFERS=15,0 FILES=8 DOS=UMB LASTDRIVE=Z FCBS=4,0 DOS=HIGH DEVICE=C:¥DOS¥BILING.SYS DEVICE=C:¥DOS¥JFONT.SYS /P=C:¥DOS¥ DEVICE=C:¥DOS¥JDISP.SYS DEVICEHIGH /L:1,17744 =C:¥DOS¥JKEYB.SYS /106 C:¥DOS¥JKEYBRD.SYS REM DEVICE=C:¥DOS¥KKCFUNC.SYS DEVICEHIGH /L:1,9680 =C:¥DOS¥ANSI.SYS rem DEVICE=C:¥DOS¥MSIMEK.SYS /A1 rem DEVICE=C:¥DOS¥MSIME.SYS /D*C:¥DOS¥MSIMER.DIC /DC:¥DOS¥MSIME.DIC /R /C1 /N /A1 DEVICEHIGH /L:1,15072 =C:¥DOS¥SETVER.EXE DEVICEHIGH /L:1,22896 =C:¥DOS¥XCDROM.SYS /D:CDROM1 [English_Mode1] DEVICE=C:¥DOS¥HIMEM.SYS DEVICE=C:¥DOS¥EMM386.EXE RAM BUFFERS=15,0 FILES=8 DOS=UMB LASTDRIVE=E FCBS=4,0 DOS=HIGH DEVICEHIGH /L:1,17744 =C:¥DOS¥JKEYB.SYS /106 C:¥DOS¥JKEYBRD.SYS DEVICEHIGH /L:1,15072 =C:¥DOS¥SETVER.EXE DEVICEHIGH /L:1,9680 =C:¥DOS¥ANSI.SYS [English_Mode2] DEVICE=C:¥DOS¥HIMEM.SYS DEVICE=C:¥DOS¥EMM386.EXE RAM BUFFERS=15,0 FILES=8 DOS=UMB LASTDRIVE=E FCBS=4,0 DOS=HIGH DEVICEHIGH /L:1,17744 =C:¥DOS¥JKEYB.SYS /106 C:¥DOS¥JKEYBRD.SYS DEVICE=C:¥DOS¥ANSI.SYS DEVICEHIGH /L:1,15072 =C:¥DOS¥SETVER.EXE DEVICEHIGH /L:1,22896 =C:¥DOS¥XCDROM.SYS /D:CDROM1 [English_Mode3] DEVICE=C:¥DOS¥HIMEM.SYS DOS=HIGH, UMB DEVICE=C:¥DOS¥SETVER.EXE DEVICE=C:¥DOS¥JKEYB.SYS /106 C:¥DOS¥JKEYBRD.SYS DEVICE=C:¥DOS¥ANSI.SYS DEVICE=C:¥DOS¥XCDROM.SYS /D:CDROM1 [English_Mode4] DEVICE=C:¥DOS¥HIMEM.SYS DOS=HIGH, UMB FILES=40 DEVICE=C:¥DOS¥SETVER.EXE DEVICE=C:¥DOS¥JKEYB.SYS /106 C:¥DOS¥JKEYBRD.SYS DEVICE=C:¥DOS¥ANSI.SYS
《autoexec.bat》
If "%CONFIG%"=="Japanese_Mode" Goto JM If "%CONFIG%"=="English_Mode1" Goto EM1 If "%CONFIG%"=="English_Mode2" Goto EM2 If "%CONFIG%"=="English_Mode3" Goto EM3 If "%CONFIG%"=="English_Mode4" Goto EM4 :JM LH /L:0;1,49552 /S C:¥DOS¥SMARTDRV.EXE /X PROMPT $p$g PATH C:¥DOS;C:¥BAT SET TEMP=C:¥DOS LH /L:1,8080 C:¥DOS¥NLSFUNC.EXE C:¥DOS¥COUNTRY.SYS LH /L:1,27952 C:¥DOS¥MSCDEX /D:CDROM1 C:¥DOS¥CTMOUSE C:¥DOS¥CHEV.COM JP GOTO END :EM1 PROMPT $p$g PATH C:¥DOS;C:¥BAT SET TEMP=C:¥DOS LH /L:1,33120 C:¥DOS¥CTMOUSE GOTO END :EM2 PROMPT $p$g PATH C:¥DOS;C:¥BAT SET TEMP=C:¥DOS LH /L:1,27952 C:¥DOS¥MSCDEX /D:CDROM1 LH /L:1,33120 C:¥DOS¥CTMOUSE GOTO END :EM3 PROMPT $p$g PATH C:¥DOS;C:¥BAT SET TEMP=C:¥DOS LH C:¥DOS¥MSCDEX /D:CDROM1 LH C:¥DOS¥CTMOUSE GOTO END :EM4 PROMPT $p$g PATH C:¥DOS;C:¥BAT SET TEMP=C:¥DOS LH C:¥DOS¥CTMOUSE GOTO END :END
このように設定を行って、PCを再起動すると、以下のようなメッセージが表示されます。
Japanese(CD EMS)
English(EMS)
English(EMS CD)
English(CD)
English(no option)
このように5つの選択肢がメニューに現れ、それらを選択するとそれぞれ
[Japanese_mode]
[English_mode1]
[English_mode2]
[English_mode3]
[English_mode4]
以下に記された設定を行います。なお、デフォルト(起動直後に選択されている項目)は「Japanese(CD EMS)」です。
ちなみに、ウルティマ6は「English(EMS)」の設定で、ウルティマ7-8は「English(no option)」の設定です。