misc. > How to Set up DOS > マルチコンフィグ(DRDOS編)

マルチコンフィグ(DRDOS編)

DRDOSのconfig.sysは、バッチファイルと同様、ラベル、GOTO文、SET文が使用可能です。また、キー入力から条件分岐を行うSWITCH文が使用可能です。SWITCH文の構文は、 SWITCH ラベル1 ラベル2 ラベル3 ... となっており、キーボードから1、2、3を入力すると、それぞれラベル1、ラベル2、ラベル3に分岐します。以下、config.sysの例を示します。

TIMEOUT=15
ECHO
ECHO 1:Japanese/Netware
ECHO 2:English/Netware
ECHO 3:English/EMS
ECHO 4:English/NoEMS
SWITCH JP ENCD ENEMS ENNOEMS

:JP
DEVICE=C:\CTCM\CTCM.EXE
DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=NONE
DEVICE=C:\DRDOS\DPMS.EXE
DEVICE=C:\DRDOS\SETVER.EXE
SHELL=C:\COMMAND.COM C:\ /E:512 /P
BREAK=OFF
BUFFERS=20
FILES=40
FCBS=4,4
LASTDRIVE=D
rem HISTORY=ON,512,ON
COUNTRY=081,932,C:\DRDOS\COUNTRY.SYS
DOS=HIGH,UMB
devicehigh=c:\dosv\fontnx.exe
devicehigh=c:\dosv\vesapat.exe /JP
devicehigh=c:\dosv\dispvb.exe /hs
devicehigh=c:\drdos\ansi.sys
devicehigh=c:\dosv\xcdrom.sys /D:CDROM1
set LOAD=0
GOTO END

:ENCD
DEVICE=C:\CTCM\CTCM.EXE
DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=NONE
DEVICE=C:\DRDOS\DPMS.EXE
DEVICE=C:\DRDOS\SETVER.EXE
SHELL=C:\COMMAND.COM C:\ /E:512 /P
BREAK=OFF
BUFFERS=20
FILES=40
FCBS=4,4
LASTDRIVE=D
rem HISTORY=ON,512,ON
COUNTRY=1,,C:\DRDOS\COUNTRY.SYS
DOS=HIGH,UMB
devicehigh=c:\drdos\ansi.sys
devicehigh=c:\dosv\xcdrom.sys /D:CDROM1
set LOAD=1
GOTO END

:ENEMS
DEVICE=C:\CTCM\CTCM.EXE
DEVICE=C:\DRDOS\EMM386.EXE DPMI=OFF FRAME=NONE
DEVICE=C:\DRDOS\DPMS.EXE
DEVICE=C:\DRDOS\SETVER.EXE
SHELL=C:\COMMAND.COM C:\ /E:512 /P
BREAK=OFF
BUFFERS=20
FILES=40
FCBS=4,4
LASTDRIVE=C
rem HISTORY=ON,512,ON
COUNTRY=1,,C:\DRDOS\COUNTRY.SYS
DOS=HIGH,UMB
devicehigh=c:\drdos\ansi.sys
set LOAD=2
GOTO END

:ENNOEMS
DEVICE=C:\CTCM\CTCM.EXE
DEVICE=C:\DRDOS\DPMS.EXE
DEVICE=C:\DRDOS\SETVER.EXE
SHELL=C:\COMMAND.COM C:\ /E:512 /P
BREAK=OFF
BUFFERS=20
FILES=40
FCBS=4,4
LASTDRIVE=C
rem HISTORY=ON,512,ON
COUNTRY=1,,C:\DRDOS\COUNTRY.SYS
DOS=HIGH,UMB
devicehigh=c:\drdos\ansi.sys
set LOAD=3
GOTO END

:END

上記のconfig.sysでは、以下の処理をやっています。まず、変数TIMEOUTを設定し、メニューのタイムアウト時間を設定します。そして、ECHO文でメニューを表示し、SWITCH文でキー入力を受けつけ、ラベル:JP、:ENCD、:ENEMS、:ENNOEMSのいずれかに分岐させます。分岐した先の各ラベル以降の行で設定を行い、autoexec.batに渡すパラメータを環境変数LOADに設定し、最後に:ENDラベルに分岐します。

autoexec.batの書き方はMS-DOSやFreeDOSと同様です。以下に例を示します。

@ECHO Off
IF %LOAD%==0 GOTO CD
IF %LOAD%==1 GOTO CD
IF %LOAD%==2 GOTO NONET
IF %LOAD%==3 GOTO NOEMS

:CD
SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET MIDI=SYNTH:1 MAP:E MODE:0
SET CTCM=C:\CTCM
C:\SB16\DIAGNOSE /S
C:\SB16\AWEUTIL /S
C:\SB16\MIXERSET /P /Q
C:\CTCM\CTCU /S
PATH C:\DRDOS;C:\
EMM386 PIC=ON
DPMI OFF
VERIFY OFF
PROMPT [DR-DOS] $P$G
SET DRDOSCFG=C:\DRDOS
rem NWCACHE 7670 1024 /LEND=ON /DELAY=OFF
lh c:\drdos\nwcdex /D:CDROM1
lh c:\dosv\ctmouse
GOTO END

:EMS
SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET MIDI=SYNTH:1 MAP:E MODE:0
SET CTCM=C:\CTCM
C:\SB16\DIAGNOSE /S
C:\SB16\AWEUTIL /S
C:\SB16\MIXERSET /P /Q
C:\CTCM\CTCU /S
PATH C:\DRDOS;C:\
EMM386 PIC=ON
DPMI OFF
VERIFY OFF
PROMPT [DR-DOS] $P$G
SET DRDOSCFG=C:\DRDOS
rem NWCACHE 7670 1024 /LEND=ON /DELAY=OFF
lh c:\drdos\nwcdex /D:CDROM1
lh c:\dosv\ctmouse
GOTO END

:NOEMS
SET SOUND=C:\SB16
SET BLASTER=A220 I5 D1 H5 P330 E620 T6
SET MIDI=SYNTH:1 MAP:E MODE:0
SET CTCM=C:\CTCM
C:\SB16\DIAGNOSE /S
C:\SB16\AWEUTIL /S
C:\SB16\MIXERSET /P /Q
C:\CTCM\CTCU /S
PATH C:\DRDOS;C:\
DPMI OFF
VERIFY OFF
PROMPT [DR-DOS] $P$G
SET DRDOSCFG=C:\DRDOS
rem NWCACHE 7670 1024 /LEND=ON /DELAY=OFF
lh c:\drdos\nwcdex /D:CDROM1
lh c:\dosv\ctmouse
GOTO END

:END

コメント(0)


Note

本サイトのハイパーリンクの一部は、オリジナルのサイトが閉鎖してしまったため"Internet archive Wayback Machine"へのリンクとなっています。そのようなリンクにはアイコン[archive]を付与しています。

本サイトはCookieを使用しています。本サイトにおけるCookieは以下の三種類のみであり、Cookieの内容に基づいてサイトの表示を変更する以外の用途には用いておりません。