Advanced - FreeDOS specific - CONFIG.SYS processing a new command ECHO ECHO does ECHO its argument (surprised ?-) and is executed at the time the DEVICE= lines are executed. use it similarly to ECHO loading driver 1 device=Driver1.sys ECHO driver1 successfully loaded an undocumented command SCREEN=xx SCREEN= switches into videomode xxx (INT10/11xx/000) useful SCREEN=0x11 -- 28 lines SCREEN=0x12 -- 43/50 lines (on EGA/VGA) the following advanced config.sys processing options are available: normal FILES=20 DEVICE=MyNetWorkDriver.sys '?' - ALWAYS ask if a single line shall be executed FILES=20 ?DEVICE=MyNetWorkDriver.sys '!' - NEVER ask if a single line shall be executed, even if single stepping !FILES=20 !DOS=HIGH,UMB !BUFFERS=30 DEVICE=MyNetWorkDriver.sys configuration management - you may compose several configurations, using following special commands: MENU MENU select your configuration MENU MENU use (0) for basic configuration MENU use (1) for CDROM operation MENU use (2) for NETWORK configuration MENU MENUDEFAULT=0,1 ( configuration 0, wait 1 second) 1? rem CDROM 1? device=CDROM.SYS 2? rem NETWORK 2? device=MyNetworkDriver.SYS Although this is definitively worse then MSDOS menuing possibilities, IMHO it's better then nothing. Unfortunately your MENU text gets completely uppercase.. It's also possible to combine menu options, to avoid writing thing every time again. constructions like 0?devicehigh?=cdrom.sys are also possible ("if menu option 0 chosen, ask if you want to load this driver") the selected configuration can be determined in AUTOEXEC.BAT in the environment variable CONFIG like if %CONFIG% == 0 echo configuration 0 selected however, if you have no menu's in config.sys, then %config% has no value, thus resulting in "IF == 0 echo configuration 0 selected." (which causes syntax errors as there's nothing on the left side of == ) That's why you better use something like: if [%config%]==[0] echo configuration 0 selected. -or- if "%config%"=="0" echo configuration 0 selected. then if there is no menu you have: "IF []==[0] echo configuration 0 selected." (which will of course output nothing) thus my config.sys now looks like !files=20 !dos=high,umb !break=off !buffers=30 !screen=0x12 !lastdrive=z !shellhigh=a:\command.com /p /e:512 /MSG MENU MENU 0 - SoftIce+HIMEM+Network (default) MENU 1 - SoftIce+HIMEM MENU 2 - HIMEM+EMM386 MENU MENUDEFAULT=0,0 01? DEVICE=C:\NUMEGA\S-ICE.EXE /TRA 3000 /SYM 400 012?DEVICE=himem.exe 01? DEVICE=UMBPCI.SYS 2? DEVICE=EMM386.EXE NOEMS 0?device=c:\ntclient\ifshlp.sys DEVICE=CDROM.SYS /D:MSCD000 2002-11-28 - Tom Ehlert