
--------------------------------------------------------------------------------------------------------------
Copyright (c) 1992, Rick Meigs, 3041 SE Tenth Street, Portland, OR, 97202.  PRODIGY BVGW18A.

This file may be freely distributed on a not-for-profit basis, but the copyright notice may not be removed and 
the file may not be modified.  If you have questions, comments, additions or suggestions, please contact Rick 
Meigs.  They will be evaluated for possible inclusion in a later addition.
--------------------------------------------------------------------------------------------------------------

                       OS/2 2.0 CONFIG.SYS DESCRIPTION


For me and many others the OS/2 2.0 CONFIG.SYS file is somewhat of a mystery.  So, in the hope of learning 
something of use, I began researching what many of the commands were for.  This file is the result of that re
search.  It briefly describes many of the common commands found in an OS/2 CONFIG.SYS file.  Naturally, not all 
possible commands are listed (especially the many hardware device drivers), but most of the more common ones 
are.  I've use my own CONFIG.SYS as the foundation for this file.


BEGINNING OF FILE LISTING
---------------------------------------------------------------------

IFS=C:\OS2\HPFS.IFS  /CACHE:384 /CRECL:4 /AUTOCHECK:C

     This OS/2 command installs the HPFS, if you are using it, instead of FAT.  The syntax is 
     IFS=DRIVE:PATH\FILENAME,SWITCHES.  There are three switches:  /CACHE:nnn sets up a disk cache 
     and sets it size; /CRECL sets the maximum record size for caching, from 2k to 64k in multiples 
     of 2k; and /AUTOCHECK:nn tells the system to run CHKDSK and sets the drives to be checked at 
     startup.

PROTSHELL=C:\OS2\PMSHELL.EXE

     This OS/2 command loads OS/2's user interface program which is PMSHELL which allows you to 
     make full-screen and window sessions work.  The current interface program is the Workplace 
     Shell (WpS), but in theory you could purchase or develop your own user interface and use it 
     instead of the WpS.

SET USER_INI=C:\OS2\OS2.INI

     Tells OS/2 the name and locations of the file that contains your desktop setup information and 
     the options saved from OS/2 applications which need to do so.  OS2.INI is the default file 
     name.

SET SYSTEM_INI=C:\OS2\OS2SYS.INI

     Tells OS/2 the name and location of its INI file.  This file tells OS/2 what kind of equipment 
     you system uses.  NOTE:  OS2.INI and OS2SYS.INI are critical files and should not be deleted 
     or modified.  They are no ASCII and cannot be used with an ASCII editor if they become dam
     aged, therefore, you should consider backing up these files with a program such as WPSBKUP, a 
     shareware program you can obtain on many OS/2 BBSs.

SET OS2_SHELL=C:\OS2\CMD.EXE

     OS2_SHELL directs OS/2 to load the command-line shell identified at boot time.  The COMSPEC 
     line below helps OS/2 find the command-line shell later.

SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS

     This command is used to start parts of the OS/2 WpS.  If you remove any of these statements, 
     then you will be restricted from accessing portions of the shell.

SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE

     This line tells the system what interface program is to be used.  In this case it is the Work
     place Shell.

SET RESTARTOBJECTS=YES

     This command tells OS/2 what objects/applications to restart after you suspend operations with 
     or without doing a Shut_down (as in doing a Ctrl-Alt-Del because some faulty program has 
     locked up your system).  If this statement is not in your config.sys, then the default is YES, 
     start all objects that were running at the time of Shut_down or reboot.  NO=do not start any 
     applications that were running at time of shutdown or reboot.  STARTUPFOLDERSONLY= start ob
     jects only in the Startup folder.  REBOOTONLY= Start objects only if the OS/2 WpS is starting 
     from a reboot or at power on. 

SET COMSPEC=C:\OS2\CMD.EXE

     This line identifies what command-line shell is to be used and where its at.  In DOS, 
     COMMAND.COM is equivalent to CMD.EXE. 

LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL;

     This is an OS/2 command.  It tells OS/2 where to locate Dynamic Link Libraries or DLLs.  LIB
     PATH is similar to DPATH and PATH, but the statement can only be used in the config.sys file 
     and OS/2 does not search the current directory for DLLs unless you include it in the LIBPATH 
     statement.  To have OS/2 search the current directory, include a period "." right after the 
     equal "=" symbol as noted above.  You don't need to use the SET command with LIBPATH.

SET PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\;C:\OS2\MDOS;C:\OS2\APPS;

     Just like in DOS, it tells both DOS and OS/2 where to find programs.  

SET DPATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\;C:\OS2\BITMAP;C:\OS2\MDOS;C:\OS2\APPS;

     This is an OS/2 command.  It tells OS/2 programs where to look for data files.  It is similar 
     to the DOS APPEND command, but unlike APPEND, DPATH only works with programs designed to use 
     it.

SET PROMPT=[$p]

     Standard DOS command for setting how your OS/2 command prompt will appear.  As noted here, the 
     command prompt will appear showing the current directory of the default drive enclosed in [], 
     e.g. [C:\].  Having the [] bracket the drive and directory information lets you quickly know 
     when you are at an OS/2 command line verse a DOS command line.

     This is for OS/2 only.  Set the DOS PROMPT default in your AUTOEXEC.BAT file.

SET HELP=C:\OS2\HELP;C:\OS2\HELP\TUTORIAL;

     Tells OS/2 where the help files are located.  OS/2 will only look for a program's help files 
     in the path shown.

SET GLOSSARY=C:\OS2\HELP\GLOSS;

     Tells OS/2 where the Glossary file and Master Help file is located.

SET DIRCMD=/O /P

     This is the OS/2 equivalent of the DIR command.  In DOS 5.x you can tell DIR how to present 
     the information.  To do this in OS/2, use the undocumented DIRCMD.  For example:  SET 
     DIRCMD=/O /P tells OS/2 to display the DIR information in alpha order and place a pause at the 
     end of each page.

     This is for OS/2 only.  Set the DOS default in your AUTOEXEC.BAT file.

PRIORITY_DISK_IO=YES

     This command determines whether applications running in the foreground have priority access to 
     disks.  The default is YES.  If you want all applications to have equal access to your disks, 
     then change this statement to NO.

FILES=20

     This is a standard DOS command which sets the maximum number of files that DOS can access at 
     the same time.  OS/2 sets the default at 20, but some DOS programs may require that you in
     crease this number.

DEVICE=C:\OS2\TESTCFG.SYS

     TESTCFG.SYS is used during the install process to test your systems configuration.  It is also 
     used by the Selective Install process and during device driver installations.

DEVICE=C:\OS2\PMDD.SYS

     PMDD.SYS makes the Presentation Manager work and OS/2 will not start unless you have this line 
     in your config.sys.

BUFFERS=30

     Tells OS/2 how many disk buffers to use.  Range is from 1 to 100.  Each buffer takes up to 512 
     bytes of RAM.  30 is the default and usually works well.

     The disk buffers are blocks of memory set aside by OS/2 for use in reading and writing blocks 
     of data.  Generally, you can speed up your system by increasing the number of BUFFERS.  But, 
     keep in mind that as you increase the number, you reduce available memory.  30 is the default, 
     but you may wish to experiment with a higher number.

IOPL=YES

     An OS/2 command that, when set to YES, lets programs that need to bypass OS/2 and work direct
     ly with hardware devices, do so.  YES means that all programs can access the hardware direct
     ly.  NO means that no program can access the hardware directly.  You can also specify a list 
     of programs that are allowed to work directly with the hardware.  For example, IOPL=WS.EXE, 
     Q.EXE,FLIST.EXE would allow only these three programs to access hardware directly.  

DISKCACHE=256,LW

     If you are using FAT file system, this command sets up a RAM disk cache.  The DISKCACHE line 
     note here sets up a 256k cache with lazy writing enabled.  If you don't want lazy write ena
     bled, then remove ",LW".  The default cache size is 64k, which I feel is to small.  If you 
     have the RAM, increase the size to improve system performance.  If you want CHKDSK to automat
     ically check your startup partition (usually C), then add this switch to end of the DISKCASCHE 
     command:  AC:n where n is your startup partition, e.g. AC:C.

     If you are only using HPFS, then you can REM this statement.

MAXWAIT=3

     This OS/2 command sets the longest period a program will have to wait to execute before OS/2 
     ups its priority.  This makes sure that no program is put on hold forever will some other pro
     gram hogs the system.  You can set MAXWAIT from 1 to 255 seconds.  The default is 3 seconds as 
     shown here. 

MEMMAN=SWAP,MOVE,PROTECT

     OS/2 can run more programs and use more data than can actually be stored in memory at any 
     given time.  This is done by swapping large amounts of memory to your hard disk when they are 
     not being used, and then reading them back into memory when needed.  This is called virtual 
     memory.  If you only have 4 meg of memory (or less) and you see lots of disk activity while 
     you are working with your system, this is the process that is more than likely occurring.  It 
     will slow down your system and cause your hard disk to fragment quicker than normal.

     This OS/2 command controls this process.  The syntax is MEMMAN=s,m,PROTECT where s=SWAP or 
     NOSWAP; m=MOVE or NOMOVE; and PROTECT allows memory compaction with protected dynamic link 
     libraries.  The default is to have virtual memory on.  To turn off virtual memory, which is 
     NOT recommended, the config.sys line should read:  MEMMAN=NOSWAP,NOMOVE.

SWAPPATH=C:\OS2\SYSTEM 512 2000

     As noted above, OS/2 can allocate more memory than it actually has available.  It does this by 
     swapping data to a disk file called SWAPPER.DAT.

     The syntax is SWAPPATH=DRIVE,PATH,mmm,nnn where DRIVE AND PATH is the location where you want 
     the SWAPPER.DAT file to be placed; mmm is a number from 512 to 32767 and specifies how large 
     the SWAPPER.DAT file can growth before it stops consuming hard disk space.  The size is noted 
     in the negative, in other words, if you have the nnn set to 512 and you have a 105 meg hard 
     disk, the SWAPPER.DAT file will not grow larger than 105meg minus 512k; and nnn is the start
     ing size of the SWAPPER.DAT file.  In the config.sys line above, the starting size is 2000k or 
     2 meg.

BREAK=OFF

     For DOS programs only.  Many DOS programs can be stopped by holding down the Ctrl key and then 
     pressing the Break key.  BREAK controls how quickly DOS programs stop when you interrupt them 
     with the Ctrl-Break sequence.  If BREAK=OFF, DOS will stop the program only when the programs 
     next reads a character from the keyboard or writes to the screen or printer.  With BREAK=ON, 
     they DOS will check for the Ctrl-Break on a more frequent basis.  Remember that this extra 
     checking can make your DOS programs run slower.

THREADS=256

     OS/2 programs can have several different processes running at the same time.  These are called 
     threads.  This OS/2 command sets the maximum number of threads, from 32 to 4095, that OS/2 can 
     run at the same time.

PRINTMONBUFSIZE=134,134,134

     This OS/2 command sets the size of the print buffers for your parallel ports.  The syntax if 
     PRINTMONBUFSIZE=lpt1,lpt2,lpt3 where lpt1 is the buffer size for the parallel port LPT1, lpt2 
     is the buffer size for LPT2 and lpt3 is the buffer size for LPT3.  The default and minimum is 
     134 bytes and the maximum is 2048 bytes.

     If you are not using LPT2 or LPT3, then do not set up a buffer for them and use these bytes to 
     increase the buffer for LPT1 (PRINTMONBUFSIZE=402,0,0) which should increase the speed of 
     printing.  Note that you still need to define a buffer for LPT2 and LPT3, but you indicate of 
     0 byte size.  You will get an error message at startup if you don't.

COUNTRY=001,C:\OS2\SYSTEM\COUNTRY.SYS

     Customizes your system for the country you wish to use.  It establishes which defaults to use 
     when it comes to decimal separators, date and time formats, currency symbols, etc.  The format 
     is COUNTRY=xxx,PATH,FILE NAME.  xxx is a three-digit code number that tells what country to 
     use.  The number is usually (but not always) the same as the telephone international dialing 
     prefix for the country desired.  Several example:  United States=001, United Kingdom=044, 
     France=033, Germany=049, Korea=082. 

SET KEYS=ON

     When using the Command-line, KEYS tells CMD.EXE whether to remember previous keystrokes so 
     they can be recalled with the up arrow key.  OS/2 maintains a 64k buffer for storing keystroke 
     history.  KEYS can be ON or OFF.

REM SET DELDIR=C:\DELETE,512;

     To use OS/2's UNDELETE command, you must first establish a directory in which to store an the 
     deleted files.  To do this, create a directory called DELETE in your root and then remove the 
     "REM" from this config.sys command line.  

     This command points OS/2 to the directory you created to place deleted files.  It also indi
     cates the maximum number of files that will be stored in the DELETE directory.  If the number 
     of deleted files exceeds the maximum number that you specified, then files are automatically 
     removed from the directory on a first-in-first-out basis.

BASEDEV=PRINT01.SYS
BASEDEV=IBM1FLPY.ADD
BASEDEV=IBM1S506.ADD
BASEDEV=OS2DASD.DMD

     BASEDEV installs a base device driver used by OS/2 when it is first started.  The statement 
     cannot contain either a drive or path because OS/2 cannot process such information at the 
     stage at which these statements are process.

     PRINT01.SYS supports attached printers on non-Micro Channel PC's.
     IBM1FLPY.ADD supports diskette drives on non-Micro Channel PC's.
     IBM1S506.ADD supports non-SCSI disk drives on non-Micro Channel PC's.
     OS2DASD.DMD is a general purpose driver for disk drives.


SET BOOKSHELF=C:\GAMATECH;C:\OS2\BOOK

     This command points to the on-line documentation provided with OS/2 and to any on-line docu
     mentation provided by other OS/2 programs.  I have the GAMMATECH utilities installed on my 
     system which contains on-line documentation. 

SET EPATH=C:\OS2\APPS

     According to Mel Hallerman of IBM, EPATH is used by the Enhanced Editor (EPM.EXE).  I assume 
     it points to where the Editor is located. 

PROTECTONLY=NO

     An OS/2 command.  Allows you to choose between a shared DOS and OS/2 operating environment or 
     just an OS/2 environment.  If you plan to run only OS/2 programs, then set PROTECTONLY=YES.  
     If you plan to run DOS programs (this includes Windows programs also), then set 
     PROTECTONLY=NO.

SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /P

     This line identifies and loads the DOS command processor COMMAND.COM which you must have to 
     make DOS sessions work.  The /p switch keeps the command processor in memory until shutdown.

     You can also load and run other command processor's such as 4DOS.  To do so, just put 4DOS in 
     the MDOS directory and change the SHELL line to read 4DOS instead of COMMAND.COM.  You will 
     also need to add another line to your config.sys:  SET COMSPEC=C:\OS2\MDOS\4DOS.COM.

FCBS=16,8

     File control blocks (FCBS) give information about a file to DOS.  This config.sys line tells 
     DOS how many FCBS can be open at once, or, when DOS needs to open more FCBS than are avail
     able, how many currently open but not active FCBS may be closed to make room for new ones.

     The syntax is FCBS=a,b where a=the number of FCBS that DOS can have open at one time and b=the 
     number of FCBS DOS cannot close to make room for new FCBS.  "a" can be as high as 255.  "b" 
     can have a value of 0 to 254, but must be less than "a".

RMSIZE=640

     This is a DOS command and sets the amount of memory available for DOSs use.  The maximum is 
     640 kilobytes.  Since many DOS programs require 640k, its best to have RMSIZE set to 640, but 
     if you have only DOS programs which take less than 640k, say 512k, and you could use extra RAM 
     for OS/2, then set the value at 512 or something less.

DEVICE=C:\OS2\MDOS\VEMM.SYS 

     VEMM.SYS lets DOS programs use expanded memory unless you override it by changing a DOS pro
     grams SETTINGS.

DEVICE=C:\OS2\MDOS\VMOUSE.SYS 

     Identifies and loads the mouse driver to let you use a mouse with DOS.  Mouse support for OS/2 
     is loaded below.

DOS=LOW,NOUMB

     This is a standard DOS command that lets you control how DOS uses memory.  The OS/2 default is 
     DOS=LOW,NOUMB.

DEVICE=C:\OS2\MDOS\VXMS.SYS /UMB

     VXMS.SYS is a device driver that provides Extended Memory management to DOS sessions.  XMS 
     allows DOS programs to access more than one meg of memory.

DEVICE=C:\OS2\MDOS\VCDROM.SYS 

     Your config.sys may contain various device drivers for various DOS related devices based upon 
     your systems hardware configuration.  This is a CDROM device driver.

DEVINFO=SCR,VGA,C:\OS2\VIOTBL.DCP

     This command prepares your monitor to display information based upon the CODEPAGE specifica
     tion.  VIOTBL.DCP is the file that contains the video fonts for displaying characters for each 
     of the CODEPAGES supported by OS/2.  See the CODEPAGE command line below.

DEVICE=C:\OS2\MDOS\VVGA.SYS 

     Your config.sys may contain various device drivers for various DOS related devices based upon 
     your systems hardware configuration.  This is a VGA video driver.

DEVICE=C:\OS2\POINTDD.SYS 

     POINTDD.SYS is the file that contains information on what the mouse pointer looks like and 
     draws it on you screen.  It is required to make your mouse work correctly.  I think it would 
     be nice if someone could write a few different POINTDD.SYS files with different looking mouse 
     points.

DEVICE=C:\OS2\MOUSE.SYS SERIAL=COM1 QSIZE=10

     Lets you use a mouse or track ball with OS/2.  This line also identifies the type of mouse you 
     have and which COM port it is on.  QSIZE is a number from 1 to 100 which indicates how many 
     mouse actions are to be saved when you execute mouse actions faster than your system can han
     dle them.

DEVICE=C:\OS2\COM.SYS  

     Lets you use the communications ports one and two (COM1 and COM2).  If you want to use COM3 or 
     COM4 or change the IRQ of a COM point, then add the next line below.  This line MUST appear 
     after any driver that uses the communications ports.  Use COM02.SYS if you have an IBM PS/2 
     model 90 or 95.

DEVICE=C:\OS2\COM.SYS (3,3E8,4) (4,2E8,3)

     This line adds support for COM3 and COM4 in OS/2 at location 3E8 with IRQ 4 and 2E8 with IRQ 3 
     respectively.  Instead of adding this line to provide support, you can just add (3,3E8,4) 
     (4,2e8,3) to the DEVICE=C:\OS2\COM.SYS line above.

DEVICE=C:\OS2\MDOS\VCOM.SYS  

     Lets you use the communications ports for DOS sessions.

CODEPAGE=437,850

     Lets you use the alphabet of various countries and languages.  The Syntax is CODEPAGE=ppp,sss, 
     where ppp is the number of the primary national alphabet to be used and sss is a secondary 
     alphabet number.  437=US English alphabet and 850=multinational alphabet.  The multinational 
     alphabet contains most of the accented letters used in various European languages.  Several 
     other alphabets that can be supported by your version of OS/2 is Turkish (857), Portuguese 
     (860), Iceland (861) and Nordic (865).  Japanese (932 & 942), Korean (934 & 944) and Chinese 
     (938 & 948) require a special version of OS/2 and special hardware.

     If there is not a CODEPAGE statement in your config.sys, your keyboard will use an alphabet 
     based on the COUNTRY statement, but your screen and printer will use their built-in defaults.

DEVINFO=KBD,US,C:\OS2\KEYBOARD.DCP

     Tells the keyboard which international character set to use and where to find the file KEY
     BOARD.DCP which translates keystrokes.  The syntax is DEVINFO=KBD,cc,DRIVE,PATH,FILENAME.  cc 
     equals the character set to be used.  US=United States, UK=United Kingdom, BE=Belgium, 
     FR=France, GR=Germany, etc.


---------------------------------------------------------------------
ENDING OF FILE LISTING