OS/2 CONFIG.SYS Description

From OS2World.Com Wiki
Jump to navigation Jump to search

by Rick Meigs

OS/2 CONFIG.SYS DESCRIPTION - Version 11 - June 4, 1995

Copyright (c) 1992-95 by Rick Meigs. If you find errors or have some helpful information, please do contact me at the address above. I also hang around the FidoNet OS/2 conference, so you can drop me a note there, or at rick.meigs@nwcs.org.

ENCOURAGEMENT: This ASCII file may be freely distributed (and you're encouraged to do so) but you may not charge for the program, except for a nominal distribution fee--generally less than US$5.00. Further, the copyright notice may not be removed nor may the file be modified. This file is Freeware (that means you can use it at no cost and pass it on to your friends), but it is not in the public domain.

VIEWING FILE: Regardless of what editor you use, for best results turn word wrap OFF and use a monospaced (like System Monospaced) font.

PRINTING FILE: In enhanced JB format for easy printing and viewing. Print file using your favorite text editor.

1. CAUTION, WARNING AND DISCLAIMER.

<<=CAUTION=>> Because of the way in which OS/2s Enhanced PM editor (EPM.EXE) handles word wrapping and its restricted line length, using it to edit your config.sys file is unwise. For best results, use OS/2s System Editor (E.EXE).

<<=WARNING=>> If you plan on changing any line in your current config.sys file, please be sure to create a backup --BEFORE-- you start experimenting! This has saved me more than once. Remember, make the backup --BEFORE-- you change your config.sys file. If you are viewing this information using CNFGINFO.EXE, use its backup option before you proceed any further.

A procedure for restoring a damaged config.sys is included at the end of this file. If you are using WARP, refer to your user manual on WARPs archive feature.

<<=DISCLAIMER=>> I CAN'T BE RESPONSIBLE FOR WHAT YOU DO WITH YOUR SYSTEM OR YOUR CONFIG.SYS FILE BASED UPON WHAT YOU MAY LEARN FROM THE INFORMATION PROVIDED IN THIS FILE. EVERY EFFORT HAS BEEN MADE TO MAKE THIS FILE AS ACCURATE AS POSSIBLE, BUT NO WARRANTY OR FITNESS IS IMPLIED. THE INFORMATION IS PROVIDED ON AN "AS IS" BASIS. USE IT AT YOUR OWN RISK.

2. COMMENTS.

This whole process started in 1992 when I began researching what many of the config.sys file commands were for. This ever growing file is the result of that ongoing research. It briefly describes most of the common and some of the more obscure commands. Naturally, not all possible commands are listed (especially the many hardware device drivers), but there is a lot here for you to work with. Version 6 was the first version updated for OS/2 2.1 and version 9 was the first updated for OS/2 Warp 3.

Even with all the hours I've put into this description, I still find the config.sys file to be somewhat of a mystery. Still, mystery or not, to get the most out of OS/2 and your system you just may need to spend a little time editing your config.sys. If you are using this file with CNFGINFO.EXE, the Analyze feature will help you in this process.


IMPORTANT NOTE AND WARNING

Unlike the DOS config.sys file which is read sequentially, OS/2 reads the entire file before it invokes the commands listed. Therefore, except for several exceptions which have been noted, it really doesn't matter where a command is placed. On several of the "nets" and in a file called CNFGSORT.ZIP it has been suggested that if you organize your config.sys file in a certain way, you can significantly shorten the boot time of OS/2. I find this sorting to be of little or no help for the vast majority of OS/2 users. Further, you can cause yourself problems if you do it incorrectly. So be very careful and have a backup config.sys file ready. Sorting your config.sys file DOES make sense for those who wish to organize it for readability and management purposes.

3. THE PROGRAM CNFGINFO.EXE.

I'm really not much of a programmer, but I have written a program called CNFGINFO.EXE which allows you to analysis your own config.sys file. After it reads in your config.sys file, you just point and click on any line and information from this file is displayed. It also will backup, edit and print your config.sys file. You can also print this file. Its Freeware (that means you can use it at no cost and pass it on to your friends), but its not in the public domain. The "¶" symbols are used by CNFGINFO, so please do not remove them from this file. The latest version of CNFGINFO.EXE can be downloaded as CFGINFO4.ZIP from the same BBS where you found this file.

4. BEGINNING OF CONFIG.SYS FILE DESCRIPTION.

IFS=C
\OS2\HPFS.IFS /CACHE:512 /CRECL:16 /AUTOCHECK:CDE /F:2

IFS stands for "Installable File System". This OS/2 command installs the High Performance File System (HPFS). The syntax is IFS=DRIVE:PATH\FILENAME,SWITCHES. There are three switches:

/CACHE:nnn sets up a disk cache and its size. The default on most systems (shown in Table 1.0 below) is low in my opinion.

<<=TIP=>> Change the size of your disk cache based upon the information provided in Table 1.1 below. This great stuff was provided by Proportional Software based upon a great deal of OS/2 system tweaking done by the DCF/2 development team.

<<=Warning=>> Keep this one truth in mind about cache size: an excessive cache takes memory available for programs and therefore could have a negative impact on overall system performance. For example, if you set a 2MB cache on a 6MB system, you will notice a substantial negative performance hit.

OS/2s Command Reference and other IBM sources indicate that the maximum cache size for HPFS is currently 2MB (2048), but IBM does not recommend using a cache larger than 1.5MB (1536). Personally, I have 16MB of RAM and have my HPFS cache set to the max: 2048.

If this switch is omitted, the default is 10% of the available RAM.

Table 1.0

If you have formatted your system with only HPFS partitions, the cache size in this statement, as set by OS/2 during installation, is that noted under ONE FILE SYSTEM in the table below. If you have both FAT and HPFS partitions, then OS/2 sets the cache sizes to those noted under TWO FILE SYSTEM. The file system which uses the greatest amount of your disk space gets the larger default value.

MEMORY SIZE IN MB  TWO FILE SYSTEM   ONE FILE SYSTEM*
4                  128/64            128/48
5                  128/64            128/48
6                  256/64            256/128
7                  256/128           256/512
8                  256/256           384/512
9                  256/256           384
10 - 16            512/512           1024
17 - 32            1024/1024         2048
  • Defaults in Warp are different and are shown as the second number. On systems with more than 8MBs of RAM, the default is 10% of available RAM to a maximum cache of 4MB.
Table 1.1

You can get better performance from your system by using your available RAM in the most efficient and effective way. Select the case that best describes the file system or amount of RAM you use.

CASE 1: You use only HPFS or only FAT, but not both.

                              HPFS only.         FAT only.
System memory of at least:  Set CACHE to:    Set DISKCACHE to:
                    16 MB+           2048                 2048
                    12 MB            1536                 1536
                     8 MB            1024                 1024

CASE 2: You use both HPFS and FAT with HPFS active and FAT passive.

System memory of at least:  Set CACHE to:    Set DISKCACHE to:
                    16 MB+           2048            512 -1024
                    12 MB            1536            256 - 512
                     8 MB            1024            128 - 256

CASE 3: You use both HPFS and FAT with HPFS passive and FAT active.

System memory of at least:  Set CACHE to:    Set DISKCACHE to:
                    
                    16 MB+           1024                 2048
                    12 MB             768                 1536
                     8 MB             512                 1024

<<=NOTE=>> For purposes of the table above, "active" and "passive" are descriptors for the way a partition is used. If it is seldom used, it is "passive." If a lot of disk intensive I/O occurs on the partition, it is "active."


/CRECL sets the maximum record size for caching, from 2k to 64k in multiples of 2k with a default of 4k. This parameter may not exceed 1/4 of the total cache size set with the /cache parameter.

/AUTOCHECK:nn tells the system to check each drive noted to see if it was shut down properly. If not, it will run CHKDSK on only the drives indicated.

<<=NOTE=>> If you place a plus sign (+) in front of any drive letter, the drive will be checked every time the system starts, even if shut down properly.

<<=WARNING=>> If you don't include the AUTOCHECK switch in this command, the system will not boot.

/F:n indicates the level of CHKDSK to be used when automatically checking the drives at startup when AUTOCHECK is activated. If no parameter is specifed, /F:2 is the default.

<<=NOTE=>> A /F:3 parameter will be ingnored unless you formatted your hard drive with the /L switch.

<<=TIP=>> If you are using only FAT partitions, then you should REM this IFS statement and save yourself some RAM. How much? I've seen figures from 130k to 500k, but the HPFS.IFS file is 136k in size.

<<=TIP=>> If you have drive partitions larger than 80MB, then HPFS should give you better performance than FAT. On partitions of less than 80MB, most authorities indicate that there is only a small performance difference between HPFS and FAT. Consider the following when comparing the relative merits of the HPFS versus FAT: On large partitions of identical size, the HPFS will generally give you about 15% more space and improve performance by about 28% (Information provided by Proportional Software).

<<=NOTE=>> Lazy write is on by default. If you want lazy write off, see the RUN=C:\OS2\CACHE.EXE command later in this file.

PAUSEONERROR=YES

This command tells OS/2 to pause after it finds any error in your config.sys and displays an error message. If you don't include this statement in your config.sys file, the default will be YES. This is generally the best choice since the error message will appear and scroll off the screen so quickly with a NO setting that you may not notice it.

PROTSHELL=C
\OS2\PMSHELL.EXE

This OS/2 command tells OS/2 what program you want to use as the protect mode shell (the program that determines what your user interface looks like and how it operates.) This is the first program OS/2 will execute. PMSHELL.EXE is the program which initializes OS/2 Presentation Manager. If you delete this line from your config.sys file, OS/2 will load PMSHELL.EXE by default.

<<=NOTE=>> There are several alternatives to PMSHELL.EXE. One is OS/2s own CMD.EXE. If you replace PMSHELL.EXE with CMD.EXE, you will get a full screen OS/2 session only and will not be able to run PM programs. A second alternative is TSHELL.EXE. TSHELL is a text-based, protected-mode shell for OS/2. Any one remember OS/2 1.x? TSHELL makes OS/2 look something like OS/2 1.0. OS/2 1.0 did not have a graphical user interface.

With TSHELL you can start and switch full-screen sessions only. These can be OS/2, DOS, or WINOS2 sessions depending on your systems configuration. You use Alt+Esc to switch around sessions and Ctrl+Esc to pop up the task list. But please note, like OS/2 1.0, there is no Presentation Manager. Thus, OS/2 PM applications will not work. You can download TSHELL.ZIP from most OS/2 BBSs.

SET COMMAND

The SET command in the config.sys file sets up environment variables for the entire system. These environment variables are stored by OS/2 in memory and are shared by any applications which calls on them.

<<=TIP=>> If you want to see what variables are set in your system, at an OS/2 command prompt type the word SET and press <enter>. You'll get a list like the following:

    WP_OBJHANDLE=87103
    USER_INI=C:\OS2\OS2.INI
    SYSTEM_INI=C:\OS2\OS2SYS.INI
    OS2_SHELL=C:\OS2\CMD.EXE
    AUTOSTART=PROGRAMS,TASKLIST,FOLDERS
    RUNWORKPLACE=C:\OS2\PMSHELL.EXE
    COMSPEC=C:\OS2\CMD.EXE
    PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;
       C:\OS2\INSTALL;C:\;C:\OS2\MDOS;
    DPATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;
       C:\OS2\INSTALL;C:\;C:\OS2\BITMAP;
    PROMPT=$E[1;33m[$P]$G
    HELP=C:\OS2\HELP;C:\OS2\HELP\TUTORIAL;
    GLOSSARY=C:\OS2\HELP\GLOSS;
    DIRCMD=/ON /P
    IPF_KEYS=SBCS
    KEYS=OFF
    SOMIR=C:\OS2\ETC\SOM.IR;C:\OS2\ETC\WPSH.IR;
       C:\OS2\ETC\WPDSERV.IR;SOM.IR
    SOMDDIR=C:\OS2\ETC\DSOM
    BOOKSHELF=C:\OS2\BOOK;C:\MMOS2;D:\VXREXX
    EPMPATH=C:\OS2\APPS;
    VIDEO_DEVICES=VIO_SVGA
    VIO_SVGA=DEVICE(BVHVGA,BVHSVGA)
    ZOCDEVICE=COM4
    MMBASE=C:\MMOS2;
    DSPPATH=C:\MMOS2\DSP;
    NCDEBUG=4000
    VXREXX=D:\VXREXX
    WORKPLACE__PROCESS=NO
SET USER_INI=F
\OS2\OS2.INI

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

<<=NOTE=>> OS2.INI is a critical file for the proper operation of OS/2 and should not be deleted or modified. It is not an ASCII file and, if it should become damaged, cannot be modified with an ASCII editor. You should consider backing up this file by using the CALL lines shown in HOW TO MAKE A BACKUP COPY OF YOUR INI FILES (if you are using CNFGINFO to view this file, select the How To Restore..." option) or with a program such as WPSBKUP. It is one of several shareware programs designed for this purpose. Check your favorite OS/2 BBS. You can also use MAKEINI.EXE, which ships with OS/2, to build a new set of INI files. See your OS/2 documentation on how to do this.

SET SYSTEM_INI=G
\OS2\OS2SYS.INI

Tells OS/2 the name and location of OS2SYS.INI. This file tells OS/2 what kind of equipment your system uses. NOTE: OS2SYS.INI is a critical files and should not be deleted or modified. It is not an ASCII file. You should consider backing up this file by using the CALL line shown in HOW TO MAKE A BACKUP COPY OF YOUR INI FILES (if you are using CNFGINFO to view this file, select the How To Restore..." option) or with a program such as WPSBKUP, a shareware program you can obtain on many OS/2 BBSs. You can also use MAKEINI.EXE, which ships with OS/2, to build a new set of INI files. See your OS/2 documentation on how to do this.

This file remains open the entire time OS/2 is booted and operating. It only closes upon shut down. If it should become "trashed", MAKEINI.EXE, which ships with OS/2 and is in the OS2 directory, can be used to build a new set of INI files. You will have to boot from an OS/2 floppy to do so.

SET OS2_SHELL=D
\OS2\CMD.EXE

OS2_SHELL directs OS/2 to load the command line shell (CMD.EXE) when you ask for an OS/2 command line from the WpS.

<<=WARNING=>> Be careful with this line, OS/2 will not start without it.

<<=TIP=>> If you wish to run some other command line shell, such as 4OS2, change this line and the SET COMSPEC=C:\OS2\CMD.EXE line, substituting the appropriate EXE file for CMD.EXE.

<<=TIP=>> If you have a need to have a .CMD file invoked when you launch any OS/2 full screen or windowed session, just as AUTOEXEC.BAT is invoked for DOS sessions, modify this command line as shown below and it will cause AUTOEXEC.CMD to be invoked each time you start an OS/2 session.

    SET OS2_SHELL=C:\OS2\CMD.EXE /k C:\AUTOEXEC.CMD

You can choose any file name you wish for the CMD file. 
AUTOEXEC.CMD is used just as an example.
SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,CONNECTIONS,LAUNCHPAD
The AUTOSTART command contains a list of WpS components which
will be started (or restarted) when the system is booted up.
There are currently five possible options:

PROGRAMS:  Tells OS/2 to start applications, that were running 
           when the system was shut down, to restart.  This
           options will be ignored if SET RESTARTOBJECTS=NO.

TASKLIST:  This parameter enables the OS/2 task list that appears 
           when you press Ctrl+Esc.  Why this parameter is
           available I don't know, because even when removed, I
           have still been able to press Ctrl+Esc and get the task
           list.  Oh well, another OS/2 mystery.

FOLDERS:   Opens the desktop and any other folder which was open 
           when the system was shut down.

           <<=WARNING=>>  If you remove the FOLDERS statement,
           OS/2 will not open your desktop (which is a folder).
            
CONNECTIONS:  This parameter restarts any network connections 
              that were in use when the system was shut down.

           <<=NOTE=>>  This parameter can be removed if your
           system is not connected to a network.  Leaving it
           in your config.sys file will NOT cause any problems.

LAUNCHPAD:  Restarts the new Lauchpad supplied with Warp.
SETBOOT /T
5
This command lets you set up the Boot Manager in OS/2.  There
are a number of switches available including:

 /T:x  Number of seconds that the Boot Manager menu will
       remain on the screen before the default system starts.  A
       0 (zero) setting causes the menu to be bypassed.  A NO
       (as in /T:NO) causes the menu to remain displayed until
       a selection is made.

 /Q    Queries the currently set startup environment, and
       displays the default logical disk alias, timeout value,
       mode, and drive letter assignments for each system index.
 /X:x  Sets the system startup index to indicate the partition
       that the Boot Manager should start, where x is from 0 to 3.
For complete information and other switches available, refer to
the online OS/2 Command Reference.
SET RUNWORKPLACE=C
\OS2\PMSHELL.EXE
This line tells the system what interface program is to be
used.  In this case it is the Workplace Shell.
<<=TIP=>>  If you want to run OS/2 with only a command line 
interface,  you can do so by changing this line to read 
SET RUNWORKPLACE=C:\OS2\CMD.EXE.  This brings OS/2 up without
the WpS and gives you one screen session.  You can start other 
sessions using the START or DETACH command.  Otherwise,
operated just like you were in DOS.  If you have started more
than one session, switch between them using Alt+Esc.  For those
who want the power of OS/2 and like to work only from a command
line, give this a try.  I'm running in this mode as I write this
as a test and it appears to work fine.
This is also a way to improve performance on 4MB RAM systems,
since the WpS take up LOTS of ram.  When running without the 
WpS, I generally free up from 4 to 5 megs of RAM on my 16MB
system.
<<=WARNING=>>  You can't perform a "shut down" from a command
line.  To do a shut down type PMSHELL and press enter.  This
starts the WpS.  Once the WpS is open, you should be able to
perform a standard shut down.  You can also download one of
several shut down programs available on most OS/2 specific
BBSs.  I use one called SHUT32.ZIP.

<<=TIP=>>  MSHELL.EXE is another alternative.  It is a simple
mini shell for OS/2 that uses the replaceable shell 
architecture of the WpS.  MSHELL is a program launcher which
provides one list of programs to start.  This list can be
modified by creating a plain text file called MSHELL.INI. In
addition to starting programs, MSHELL can save the desktop,
interact with the spooler, and do a system shut down.

MSHELL is IBM Employee Written Software and can be downloaded
from most OS/2 specific BBSs or ftp.cdrom.com. 
SET RESTARTOBJECTS=YES
This command tells OS/2 what applications to start after you
suspend operations with or without doing a shut down. If this
statement is not in your config.sys, then the default is YES,
i.e., start all objects that were running at the time of shut
down or reboot.  Other options are:

 NO = do not start any applications that were running at time 
      of shut down or reboot.
 STARTUPFOLDERSONLY = start objects only in the Startup 
      folder.  This parameter is also handy for another
      purpose.  Lets assume you have one or more programs in
      your Startup folder and do a shut down without closing
      those programs.  If you have Restartobjects set to yes,
      OS/2 will restart the programs left open AND the Startup 
      folder will start another copy of the same programs.
      Thus you will have two copies running.  Using this
      parameter eliminates this.

 REBOOTONLY = Start objects only if the OS/2 WpS is starting 
      from a reboot (Ctrl-Alt-Del) or at power on.  Objects 
      will not restart if the WpS is restarted as a result of 
      its own error correction recycling.
<<=TIP=>>  You can also circumvent the auto-starting of
programs by holding down Left/Ctrl-Left/Shift-F1 all at the
same time during boot.  It must be done right after the clock
appears just before the desktop loads, but before any icons
appear.
SET COMSPEC=C
\OS2\CMD.EXE
This line identifies what OS/2 command line shell is to be used
and its location.  In DOS, COMMAND.COM is equivalent to CMD.EXE.
<<=TIP=>>  If you wish to run some other command line shell,
such as 4OS2, change this and the SET OS2_SHELL=C:\OS2\CMD.EXE
line, substituting the appropriate EXE file for CMD.EXE.
LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL;
Tells OS/2 where to locate Dynamic Link Libraries (DLLs).
LIBPATH 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.  You don't need to use the SET command with LIBPATH. 
It is not an environment variable.

<<=TIP=>>  To reduce the search time, be sure that the various
PATH statements contain the correct path to your program and
other files.  You can also have OS/2 search the current directory
by including a period "." right after the equal "=" symbol. This
causes OS/2 to look in the current logged directory first.

One final item that will reduce search time: Be certain that
the PATH, LIBPATH and DPATH statements in the config.sys are
arranged with the most frequently accessed sub directories
listed first.

<<=WARP TIP=>>  With Warp, IBM has introduced the ability to
dynamically change LIBPATH using two new environment variables:
BEGINLIBPATH and ENDLIBPATH.  These commands are most useful
in CMD or BATCH files, but can be used in your config.sys.
Any directories that appear in the BEGINLIBPATH variable are
searched before directories in LIBPATH, and directories that
appear in the ENDLIBPATH variable are searched after those
in LIBPATH.  The correct syntax is SET BEGINLIBPATH=C:\OS2.

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

Just like in DOS, it tells OS/2 where to find programs.  For DOS
sessions, set the PATH in your Autoexec.bat file.
<<=WARNING=>>  Your path statement should contain at least the
following directories:  \OS2, \OS2\MDOS, \OS2\SYSTEM.

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

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=$E[1;33m[$P]$G

Like the same DOS command, this line sets how your OS/2 command
prompt will appear.  (This is for OS/2 only.  Set the DOS PROMPT 
default in your AUTOEXEC.BAT file.)  In the setting shown here,
the command prompt will appear showing the current directory of
the default drive enclosed in [] followed by the greater than
symbol, i.e. [C:\]>.  Having brackets [] around the drive and
directory information lets you quickly know when you are at an
OS/2 command line verse a DOS command line.  

If you type PROMPT without a parameter, OS/2 will return its 
default prompt.

Options include:

    $B = The | character
    $C = The open parenthesis (
    $D = Current date
    $E = ASCII code 27 (escape) so you can work with ANSI.
       See <<=TIP=>> below.
    $F = The close parenthesis )
    $G = The "greater than" > symbol
    $H = BACKSPACE over the previous character
    $I = Turns help line on
    $L = The "less than" < character
    $N = Default drive
    $P = Current directory of default drive
    $Q = The equal = character
    $S = The space character
    $T = Current time
    $V = OS/2 version number
    $_ = Carriage return or line feed

<<=TIP=>>  You can also add ANSI control sequences to your
prompt.  For example, to help me know visually whether I'm
working with an OS/2 command line, I've add $E[1;33m to my
prompt line, i.e. SET PROMPT=$E[1;33m[$P]$G.  This sets text
to display in bold yellow characters.  

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

Tells OS/2 where the help files are located.  OS/2 will only
look for its help files in the path shown.

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

Tells OS/2 where Glossary and Master Help files are located.

SET MENUSTYLE=SHORT

An undocumented SET command which controls the amount of
information presented to you when you activate a pop-up
menu.  For example, the standard pop-up menu on my OS/2
desktop menu provides 13 menu items.  With this SET
command in my config.sys, I only have 10 items.  The items
not presented are Help, Create Shadow, and Find.

SET DIRCMD=/ON /P

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

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

  Options include:

  /A list files with specific attributes.  E.g. /AH list only 
     hidden files.  Other options are S A & R.  If you place a 
     negative (-) sign in front of your specified attribute, 
     all files will list except those with the attribute 
     specified.  E.g. /A-H-S will display all files except 
     hidden and system files.
  /B list directories and files without heading and summary 
     information.
  /F list files with the full drive and path information.  
     Date, time and size are omitted.
  /L displays information in lowercase.
  /N lists files on a FAT drive in the same format used for a 
     HPFS drive, i.e. date, time, size, name.
  /O list files according to sort option specified.  Sort 
     options are:
        G = Display directories first.
        N = alphabetize by file name
       -N = reverse-alphabetizes by name
        E = alphabetize by extension
       -E = reverse-alphabetizes by extension
        D = by date, oldest first
       -D = by date, newest first
        S = by file size, smallest first
       -S = by file size, largest first
  /P pauses after a full screen of files is listed.
  /R displays long file names if applicable.
  /S searches and displays all directories.
  /W displays file names across the screen.  Date, time and 
     size are omitted.

LASTDRIVE=H

Specifies the maximum number of drives that are accessible.
The value you specify with LASTDRIVE represents the last valid
drive that is recognized. 

SET IPF_KEYS=SBCS

The character set for most languages can be represented as data
using an 8-bit byte since their characters sets are each less
than 256 characters.  These are called single-byte character sets
(SBCS).  Languages such as Japanese (Kanji), Korean and Chinese 
(both Traditional and Simplified) can only be represented using
two 8-bit bytes or 16-bits.  These are double-byte character
sets (DBCS).

This command tells the Information Presentation Facility (INF
and help files) which type of character set is being used, i.e.,
Single or Double Byte Character Set.  This is an environment
variable.  Removing it from my system did not seem to have any
impact.

PRIORITY_DISK_IO=YES

This command determines whether programs running in the fore-
ground have priority access to disks.  The default is YES.  If
you want a program running in the background, like a BBS, to
have equal access to your disks, then change this statement to
NO.  If you change this command to no and then find that your
communications program does not work, change back to yes.

PRIORITY=DYNAMIC

OS/2 automatically assigns processing priorities to each thread
of a program as it begins processing.  A thread running in the
foreground will generally have priority over a thread running
in background.  Thread priorities are adjusted, generally based
upon how active they are, by OS/2 on an ongoing basis to make
sure each thread has adequate processing time.  On the rare
occasion that you need to run a program which must never change
in priority, you should set PRIORITY=ABSOLUTE, otherwise, don't
mess with it.

<<=NOTE=>>  This command does not have to be in your config.sys.
If it isn't, OS/2 defaults to PRIORITY=DYNAMIC.

Here are some interesting and comments posted by David Page.
"I strongly suggest that you read "The Design of OS2" by Deitel
and Kogan; Addison Wesley. It goes into great detail on this
topic.
"To summarize: The highest priority thread always has the
machine.  If there are two equally high threads, they timeslice
having the machine.  Note that there are many Operating System
threads, like the scheduler itself, that are higher priority
than any program. Now, if PRIORITY=ABSOLUTE in the config.sys
file, that's all there is to it.  But usually, PRIORITY=DYNAMIC,
and OS/2 keeps gradually increasing the priority of a starved
thread until it gets to run. Maxwait determines the maximum
time, in seconds, before the scheduler intervenes to raise a
low priority thread up high enough to run."

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
install default is 20, but some DOS programs may require an
increased number.  The maximum parameter is 255.  The FILES
command is for DOS only and has no effect on OS/2 sessions
which can have up to 64,000 files open at the same time.

DEVICE=C:\OS2\TESTCFG.SYS

DEVICE=C:\OS2\BOOT\TESTCFG.SYS <---- In Warp

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.  

<<=NOTE=>>  Because this driver is used by the Selective Install
process, it should not be deleted.

DEVICE=C:\OS2\DOS.SYS

DEVICE=C:\OS2\BOOT\DOS.SYS <---- In Warp

A device driver used to communicate between DOS and OS/2
applications running on the same system.

DEVICE=C:\OS2\PMDD.SYS

DEVICE=C:\OS2\BOOT\PMDD.SYS <---- In Warp

OS/2 loads and uses this driver to provide pointer draw support 
along with POINTDD.SYS.

<<=WARNING=>>  OS/2 will not start without this line in your 
config.sys file.

BUFFERS=30

Tells OS/2 how many disk buffers to set aside.  Range is from 3  
to 100.  Each buffer takes up to 512 bytes of RAM.  The install
default usually works well.  If you are using HPFS only, see
<<=Tip=>> below.

Disk buffers are blocks of memory set aside by OS/2 for use in 
reading and writing blocks of data.  For example, if a program
wants to change 80 bytes of a file, it needs to read the 512
byte sector that contains the original data, change the infor-
mation and then write the corrected 512 byte sector back out.
A "buffer" is the 512 byte temporary staging area for this
partial sector operation.  According to a source at IBM, "OS/2
allows multiple simultaneous I/O operations to be queued up for
both diskette and hard disk.  Each 'concurrent' operation may
need a buffer.  If there are not enough buffers, overlap can be
inhibited.  Because OS/2 has more 'simultaneous' queued I/O
than DOS, it needs more buffers."  

<<=TIP=>>  Generally, if you are running FAT on one or more of
your hard drives, 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.  Be careful about using
a lower number unless you only have 4MB of RAM.  With 4MB of RAM
you may wish to set BUFFERS to 20.  

<<=TIP=>>  If you are using only HPFS (i.e., no FAT partitions),
try setting BUFFERS to 3.  With HPFS you generally don't need
BUFFERS.  Remember that 3 is the minimum parameter.  If you set
BUFFERS to 1 or 2, OS/2 will default to 30 since 1 and 2 are out
of range.  There is one exception to this tip.  If you access
your floppy disks a lot, then a reduced BUFFERS setting could
impact floppy performance.

¶ IOPL=YES

When set to YES, this command lets programs that need to bypass
OS/2 (and its device drivers) and work directly with hardware
devices, to do so.  One example is Lotus 123/G.  YES means
that all programs can access the hardware directly.  NO means
that no program can access the hardware directly.  YES is the
default and is generally best, since its hard for most of us to
know when a program is written is such a way as to need direct
access to hardware.

IOPL stands for Input/Output Privilege Level.

<<=TIP=>>  You can also specify a list of programs that are
allowed to work directly with the hardware.  For example, 
IOPL=WS.EXE,123.EXE would allow only these two programs to
access hardware directly.

RUN=C:\OS2\CACHE.EXE /MAXAGE:7500 /DISKIDLE:60000 /BUFFERIDLE:60000

This line runs CACHE.EXE which allows you to modify the
parameters for the HPFS cache.  CACHE.EXE is only used for
HPFS partitions.  (The DISKCACHE command sets up a cache for
FAT.)  There are four switches for CACHE.EXE:

  /LAZY:  Determines if lazy writes is ON or OFF, that is, 
    whether the contents of the cache will be written to your 
    hard disk immediately (/LAZY:OFF) or when your hard disk 
    is idle (/LAZY:ON).  The default is ON.  I like lazy 
    writes ON because it improves performance, but keep in 
    mind that since the system delays writing data to your 
    hard disk, you can lose data if your system should crash.
    In the config.sys file line above no switch is specified 
    therefore the default remains in effect, which is ON.  

    <<=TIP=>>  Lazy writes can also be turned ON or OFF at an 
    OS/2 command prompt.

    <<=WARNING=>>  If you include the /LAZY switch, then the 
    CACHE statement will IGNORE ALL OTHER SWITCHES in the 
    line.  Therefore, if you want to turn lazy writes off (or
    on) and also change some other parameter, you will need 
    two RUN statements.

    <<=WARNING=>>  There is a bug in OS/2 version 2.1 which
    does not appear to have been fixed in Warp.  You
    can't turn lazy writes off from the config.sys file.  The
    WpS always turns lazy writes ON when it loads regardless
    of what your CACHE.EXE command sets.  So, if you want lazy
    writes off, you will need to run the CACHE command AFTER
    the WpS starts.  Create a CMD file to turn it off and place
    it in your Startup folder.  The WpS has already done it's
    thing when the objects in the Startup folder are opened.
    You can also turn it off from a command prompt.  (Thanks
    to Denis Tonn for this critical information).

  /MAXAGE:  Sets how long data waits in the cache before it is 
    moved to another area of the cache where less used 
    information is stored, or how long data waits in the 
    cache before it is written to the hard disk.  It is 
    expressed in milliseconds.  The default is 5,000 or about 
    5 seconds.  In the config.sys file line above, the wait 
    is set at 7,500 milliseconds or about 7 1/2 seconds.
     
  /DISKIDLE:  Sets how long your hard disk must be idle before
    it will accept data from the cache.  Express in 
    milliseconds and the default is 1,000 or about one 
    second.  The minimum value must be greater than the value
    specified in the BUFFERIDLE parameter.  In the config.sys
    file line above no switch was specified so the default 
    remains in effect.

  /BUFFERIDLE:  Sets how long the cache buffer must be idle 
    before its contents MUST be written to your hard disk.  
    Express in milliseconds and the default is 500 or about 
    1/2 second.  In the config.sys file line above no switch 
    was specified so the default remains in effect.

According to one source at IBM, there are two other
undocumented parameters.  

  /DIRTYMAX:  The threshold number of dirty buffers before 
    immediately flushing of least recently used (LRU) data 
    blocks.

  /WRITECACHE:  The threshold number of bytes that HPFS will 
    cache for a lazy write.

<<=NOTE=>>  The HPFS IFS config.sys file line sets up the
cache and uses the system defaults.  This config.sys file
line is only used to modify the cache parameters.  

<<=TIP=>>  You can check to see what parameters the HPFS cache
is currently set at by going to an OS/2 command prompt and 
keying in the word CACHE and pressing the enter key.

<<=TIP=>>  Table 2.0 contains information on optimum settings
for each of the main parameters.  This great stuff was 
provided by Proportional Software based upon a great deal of
OS/2 system tweaking done by the DCF/2 development team.

========================= Table 2.0 ===========================

  Parameters:             LAZY WRITES               /LAZY:ON
                               MAXAGE                 >7,500 
                             DISKIDLE                 60,000 
                           BUFFERIDLE                 60,000
===============================================================

DISKCACHE=D,LW,32,AC:CD+E

If you are using one or more FAT partitions on a hard drive,
this command sets up a disk cache for those partitions.  The
default cache size used by OS/2 during installation is based on
how much RAM your system contains.  See Table 3.0.  The minimum
cache size is 64k and the Maximum FAT cache size is 14MB.
<<=IMPORTANT NOTE=>>  Under Warp, during installation the 
letter "D" is used instead of the usual numeric value.  On the
"nets", several users have reported that their disk I/O was
significantly reduced when they replaced the "D"  with a value
as was the case in OS/2 2.x.  I suggest you change this setting
based on the optimum cache sizes as shown in Table 1.1 above.
If you leave the "D" setting, then OS/2 will set your FAT
diskcache based upon the amount of RAM you have as follows:

       4MB of RAM, "D" is set to 48k;
       5MB of RAM, "D" is set to 64k;
       6MB of RAM, "D" is set to 128k;
       7 or 8MB of RAM, "D" is set to 512k; and
       more than 8MB, "D" is set to 10% of RAM.

<<=NOTE=>>  This command is for hard drives only.  DISKCACHE
does not cache FAT based floppy drives.

<<=TIP=>>  If you have the RAM, increase the size to improve
system performance, but don't get carried away by using to much
of your RAM; this can hurt performance.  See the information on
optimum cache sizes contained in Table 1.1 which is repeated
below.

<<=TIP=>>  If you are only using HPFS, then you should REM
this statement and save 64k of RAM (don't delete, you may need
or want it later).  If you have a FAT partition on your hard
drive and you REM this statement, OS/2 will automatically set
up a 64k cache by default.

========================= Table 3.0 ===========================

If you have formatted your hard drive(s) with only FAT partitions,
the default cache size in this statement will be that noted under
ONE FILE SYSTEM.  If you have both FAT and HPFS partitions,
then OS/2 defaults to the cache size noted under TWO FILE SYSTEM.
The file system which uses the greatest amount of your disk space
gets the larger default value.  

  MEMORY SIZE IN MB      TWO FILE SYSTEM         ONE FILE SYSTEM*
       4                     128/64                  128/48
       5                     128/64                  128/48
       6                     256/64                  256/128
       7                     256/128                 256/512
       8                     256/256                 384/512
       9                     256/256                 384
       10 - 16               512/512                 1024
       17 - 32               1024/1024               2048

* Defaults in Warp are different and are shown as the second
  number.  On systems with more than 8MBs of RAM, the default
  is 10% of available RAM to a maximum cache of 4MB.

===============================================================

LW:  Enables lazy writes.  If you don't want lazy write enabled,
then remove ",LW".

<<=NOTE=>>  Lazy-writing provides significant performance
improvements to your system.  If you disable this feature, the
performance of your system will suffer.

32:  Sets the threshold size.  It is express in number of sectors
which are 512 bytes each.  Data requests from your disk that are
larger than this number will not be cached.  The default is 4.
Thirty two (32) is said to be an optimum number.  One hundred 
twenty eight (128) is the maximum allowable.  This setting has
no impact on RAM.

AC:CD+E:  If you want CHKDSK to automatically check any partition
after an improper shut down, then add this switch to end of the
DISKCACHE command:  AC:n where n is the partition(s) to check,
e.g. AC:C.  If you add a + (plus) sign before any drive letter,
OS/2 will automatically run CHKDSK on that drive each time
you boot.

=================== Table 1.1 Repeated ========================
You can get better performance from your system by using your 
available RAM in the most efficient and effective way.  Select
the case that best describes the file system or amount of RAM
you use. 
CASE 1:  You use only HPFS or only FAT, but not both.
                              HPFS only.         FAT only.
System memory of at least:  Set CACHE to:    Set DISKCACHE to:
 
                    16 MB+           2048                 2048
                    12 MB            1536                 1536
                     8 MB            1024                 1024
 
CASE 2:  You use both HPFS and FAT with HPFS active and FAT
passive.
 
System memory of at least:  Set CACHE to:    Set DISKCACHE to:
 
                    16 MB+           2048            512 -1024
                    12 MB            1536            256 - 512
                     8 MB            1024            128 - 256
 
CASE 3:  You use both HPFS and FAT with HPFS passive and FAT
active.
 
System memory of at least:  Set CACHE to:    Set DISKCACHE to:
                    
                    16 MB+           1024                 2048
                    12 MB             768                 1536
                     8 MB             512                 1024

<<=NOTE=>>  For purposes of the table above, "active" and
"passive" are descriptors for the way a partition is used. 
If it is seldom used, it is "passive."  If a lot of disk 
intensive I/O occurs on the partition, it is "active."

===============================================================

MAXWAIT=3

This 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 while some other
program hogs the system.  You can set MAXWAIT from 1 to 255
seconds.  The default is 3 seconds.  

<<=TIP=>>  When running heavy background programs, such as a
BBS, change the setting to 1, i.e. MAXWAIT=1.  This will keep
the BBS software or other background programs running at top
speed.  For general use, it appears that setting MAXWAIT=2
makes the system a little livelier.

<<=NOTE=>>  MAXWAIT only has an effect if PRIORITY=DYNAMIC.

<<=NOTE=>>  The smaller the number you use, the more system
overhead there will be.

MEMMAN=SWAP,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 and then reading the
data back into memory when needed.  This is called virtual memory.
For example, if you have 4MB of memory you will see lots of disk
activity while you are working with your system.  A lot of this is
OS/2 swapping memory to and from your hard disk.  Lots of memory
swapping slows down your system and can cause your hard disk to
fragment quicker than normal.

The MEMMAN command controls the swap process.  The syntax is 
MEMMAN=s,m,PROTECT,COMMIT where s=SWAP or NOSWAP; m=MOVE or NOMOVE.
The default is to have virtual memory on.  To turn off virtual 
memory, which is NOT recommended, the config.sys file line should 
read:  MEMMAN=NOSWAP.  See <<=CAUTION=>> below.

PROTECT allows the allocation and use of protected memory for 
certain DLLs.  This is done to protect those DLLs from being 
trashed by an errant program.  Unless you are a programmer who 
needs this set to NOPROTECT, leave the default.

<<=NEW PARAMETER=>>  A new parameter with version 2.1 is COMMIT.
With this parameter included, OS/2 will allocate space in the swap 
file whenever a program commits memory, i.e., a page in the swap file
is allocated for every page of memory committed by a program, even
if the data never actually gets swapped out.  Your system should be
more stable, but it will be slower also, since your swap file will
grown when it doesn't have to.  If you use this parameter, increase
the size of your SWAPPER.DAT file (see SWAPPATH line below) by
the amount of memory you are likely to use when using the COMMIT 
parameter.  Most people "in-the-know" suggest that COMMIT not be
used unless it is required by 16-bit OS/2 applications.

<<=TIP=>>  You can also use the COMMIT parameter another way.
Without COMMIT set, the minimum free noted in you SWAPPATH
specified the point at which OS/2 gives you a message warning that
your disk space is running low.  When you set COMMIT, the minimum
free value noted in your SWAPPATH statement becomes the amount of
hard disk space that will always remain free on the swap file
partition.  Thus, with COMMIT set, you can never run out of disk
space on your swap file partition. 

<<=CAUTION=>>  When messing with the MEMMAN line, I changed it to
MEMMAN=NOSWAP.  As a result, I had to boot from my OS/2 installa-
tion disk and recover my backup config.sys file to get the system
to boot.  According to Blake Stover, "The reason MEMMAN=NOSWAP,
PROTECT chokes is because of the hat tricks OS/2 does while
loading the WpS, Desktop, Bitmaps, Folders, Cache buffers, MMPM/2,
etc..  OS/2 likes to load all of these, then swap or discard the
inactive code.  If there is no where to swap to it dies during
boot, unable to initialize the resources it needs.  NOSWAP,PROTECT
should only be used for boots from floppy to do maintenance, in
most cases.  (People who use TSHELL on a machine with a good
amount of RAM may also use it to speed operations).  IBM does
not recommend that you set MEMMAN to NOSWAP unless you have more
than 8MB of RAM.

<<=NOTE=>>  The MOVE/NOMOVE parameter is only provided for
OS/2 1.x compatibility.

<<=NOTE=>>  NOPACK PARAMETER.  When OS/2 initially loads a 16-bit
OS/2 application, it packs the segments into pages and copies
them to the swap file for faster recovery when needed.  This can
be disabled by using the NOPACK option on the MEMMAN line. How-
ever, the performance decrease and larger working set will rarely
offset the potential of a reduced swap file size.

<<=NOTE=>>  DELAYSWAP.  No information at this time. SWAPDOS and
NOSWAPDOS parameters from OS/2 1.x are not valid in OS/2 2.0 and
later.

SWAPPATH=C:\OS2\SYSTEM 512 4096

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

The syntax is SWAPPATH=DRIVE,PATH,mmm,nnn where DRIVE,PATH is
the location where you want the SWAPPER.DAT file to be placed and
mmm is a number from 512 to 32767 which specifies how large the
SWAPPER.DAT file can grow before it stops consuming hard disk
space.  The size is stated in the negative.  In other words, if
you have the mmm set to 512, then the SWAPPER.DAT file can grow
until there is only 512k left on your hard disk.  The variable
nnn is the starting size of the SWAPPER.DAT file.

The install default SWAPPER.DAT size is set based on the amount
of RAM your system has available as shown in Table 4.0.

============================ Table 4.0 ============================

    MEMORY IN MB       MINFREE (KB)       INITIAL SIZE (KB)
          4                4096                  6144
          5                4096                  5120
          6                4096                  5120
          7                2048                  4096
          8                2048                  4096
          9                2048                  3072
         10                2048                  3072
       11 - 32             2048                  2048
===================================================================

<<=TIP=>>  When your swap file grows beyond the initial size you
have specified, OS/2 starts to manage the swap file.  This
increased overhead can negatively impact your systems performance.
Therefore, if your swap file always exceeds its initial size,
consider increasing the files initial size.  For example, if your
swap file usually grows to 8MB, set the initial size of 8MB.

<<=TIP=>>  Normal operation of OS/2 can involves considerable
disk activity as operating system functions are loaded and pages
are moved in and out of the swap file.  Here are a couple of tips
to improve performance.  (1) Consider dedicating a separate
partition for the swap file.  This helps avoid fragmentation of
the swap file, because other files will not be added or deleted
from the dedicated partition.  (2) If you have both FAT and HPFS
partitions, put the swap file on the HPFS partition to take
advantage of the better performance of HPFS.  (3) If you have a
system with two hard disk controllers, put the swap file on a disk
managed by the least used controller.  (4) Keep your swap file on
the MOST used partition of the LEAST used hard drive.

<<=WARNING=>>  Never put your swap file on a networked drive.

<<=NOTE=>>  Your swap file will grow (in 1MB increments), but it
also shrinks when two conditions are met.  One, when the amount
of free space in the swap file is greater than 1.5MB, the swap
file will be compressed during system idle time.  (It will not
shrink if there is a constant "hit" on the drive by a program such
as a swap file monitor.)  Two, during the compression, free space
is moved to the end of the swap file.  When this free space at the
end of the swap file exceeds 1MB, the swap file will be shrunk.
<<=NOTE=>>  See the discussion of the new COMMIT parameter for the 
MEMMAN config.sys line including the <<=TIP=>>.

<<=WARP NOTE=>>  Your swap file in Warp will be larger than in
earlier versions of OS/2.  This is normal.  The most significant
change that has been made is how system DLL's get loaded and what
is now valid data for swapping.  System DLL's include:  DISPLAY,
SOM, PMMERGE, PMWP, DOSCALL1, PMATM, PMMLE, IBMDEV32, PMCTLS,
PMSPL, IBMVGA32, PMGPI, and PMVIOP.
In the previous versions of OS/2, dll code was never copied to
the swapper file.  In WARP, code for system dll's can be written
to the swapper file and, in adition, during boot, PMMERGE,
DOSCALL1, PMGPI, PMWP and PMVIOP will be swapped out.  This
means that there will be an overall increase in swapper size.
This was done to increase overall system perfomance.

¶ 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,
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 command sets
the maximum number of threads (from 32 to 4095 in OS/2 2.x and
from 64 to 4095 in Warp 3) that OS/2 can run at the same time.
If this command is not included in your config.sys file, OS/2
will default to 64.  JIm Gilliland commented on what happens
if OS/2 runs out of Threads:  "If an application tries to start
a new thread, and OS/2 has all of its threads  already in use, 
then OS/2 will generate an error.  It may result in a popup, or 
it may return the error information to the application."

<<=TIP=>>  On systems with only 4MB of RAM, set THREADS to 128
to free up memory, but I don't suggest you go any lower than
this.

<<=TIP=>>  If you have more than 8MB of RAM and run lots of OS/2
specific programs, you may be able to improve system responsive-
ness by increasing the number of threads.  Why?  Because well
written OS/2 programs will use threads to improve program per-
formance.  Therefore, the more well written OS/2 programs in use,
the more threads that could be needed.  But still keep in mind
that this only holds true only when you are using a fair number
of OS/2 specific programs at the same time.  Even when I opened
the Enhanced Editor, AmiPro for OS/2, ZOC, and KWQ Mail/2, I was
only using 57 threads.  The most threads I've ever recorded at
one time was 76.

<<=SERVER NOTE=>>  On a server it is generally considered better
to have 512 threads.

PRINTMONBUFSIZE=2048,134,134

This command sets the size of the print buffers for your 
parallel ports.  The syntax is 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.

<<=Note=>>  You must define a buffer for LPT2 and LPT3 even if
you don't use these ports.  You will get an error message at
start up if you don't.

<<=TIP=>>  You may be able to improve printer throughput by 
increasing buffer size.  I have my LPT1 set to 2048.  On systems
with less than 6MB of RAM, don't increase the size of these
buffers. 

<<=TRIVIA=>>  Ever wonder where IBM got a parameter like 134? 
I did and Lynn Nash passed along the following in response to
my question:

"Obviously you have no background on the big iron or it has 
disappeared into historical memory :-).

"Mainframe line standard of 132 columns plus 2 for carriage
return and line feed characters.  That is why all the wide
carriage dot matrix printers also had 132 column lines, to be
able to use that wide green bar paper. Anyone that had an early
Okidata 83 dot matrix even had an electronic format tape, but
that is a story for another time."

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 
syntax 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 international telephone dialing
prefix for the country desired. Table 5.0 contains various
country codes.

=========== Table 5.0 =============

  COUNTRY              COUNTRY CODE
  Arabic-speaking          785
  Asia (English)           099
  Australia (English)      061
  Belgium                  032
  Canada (French)          002
  China                    088
  Czechoslovakia           042
  Denmark                  045
  Finland                  358
  France                   033
  Germany                  049
  Hebrew-speaking          972
  Hungary                  036
  Iceland                  354
  Italy                    039
  Japan                    081
  Korea                    082
  Latin America            003
  Netherlands              031
  Norway                   047
  Poland                   048
  Portugal                 351
  Spain                    034
  Sweden                   046
  Switzerland              041
  Taiwan                   088
  Turkey                   090
  United Kingdom           044
  United States            001
  Yugoslavia               038
===================================

SET KEYS=OFF

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.  To find out
whether KEYS is on or off, simply type KEYS without a
parameter from an OS/2 command prompt.  To list all of
KEYS commands, type KEYS LIST.

<<=TIP=>>  On systems with only 4MB of RAM, SET KEYS to OFF,
you need the memory more than this feature.  Even with 16MB of
RAM, since I don't use the feature I have turned it off to
get a small memory boost.

<<=NOTE=>>  With KEYS=ON, ANSI extended keyboard sypport in
OS/2 sessions will be disabled by the system.

SET SOMIR=C:\OS2\ETC\SOM.IR;C:\OS2\ETC\WPSH.IR;C:\OS2\ETC\WPDSERV.IR;SOM.IR

SOM is an acronym for IBMs System Object Model.  OS/2s object
orientation is based upon this technology and in Warp, the
Workplace Shell is built on SOM Version 2 with Distributied
SOM enabled.  This SET statement sets the path to various IR
files.

SET SOMDDIR=C:\OS2\ETC\DSOM

SOM is an acronym for IBMs System Object Model.  OS/2s object
orientation is based upon this technology and in Warp, the
Workplace Shell is built on SOM Version 2 with Distributied
SOM enabled.  This SET statement sets the path to the DSOM
directory.

SET DELDIR=C:\DELETE,512;

To use OS/2s UNDELETE command, you must first establish a
directory to store the deleted files.  To do this, create
a directory called DELETE on each partition you have and then
remove the "REM" from this config.sys file line.  

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

<<=WARNING=>>  Using this command will have an impact on system
performance.  File operations in particular will be slower.

BASEDEV=

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 loaded.  These base device drivers include:

PRINT01.SYS supports attached printers on non-Micro Channel PC's.
PRINT02.SYS supports attached printers on Micro Channel PC's.
IBM1FLPY.ADD supports diskette drives on non-Micro Channel PC's.
IBM2FLPY.ADD supports diskette drives on Micro Channel PC's.
IBM2SCSI.ADD supports SCSI disk drives on Micro Channel PC's.
OS2SCSI.DMD supports non-disk SCSI devices.
IBM1S506.ADD supports non-SCSI disk drives, non-Micro Channel PC's.
OS2DASD.DMD is a general purpose driver for disk drives.
IBM2ADSK.ADD supports non-SCSI disk drives on Micro Channel PC's.
IBMINT13.I13 supports non-Micro Channel SCSI adapters.
OS2CDROM.DMD supports CD-ROM drives.
FD16-700.ADD support driver for Future Domain 16xx SCSI.
FD8XX.ADD supports Future Domain FD8XX devices.
TMV1SCSI.DMD supports Media Vision CD-ROM/ProAudio SCSI.
SONY31A.ADD supports the Sony CDU-31A & CDU-33A CD-ROM drive.
SONY535.ADD supports the Sony CDU-531 & CDU-535 CD-ROM drives.
MITFX001.ADD supports a Mitsumi CD-ROM drive.
AHA154X.ADD supports SCSI on Adaptec 1542C controllers.
AHA174X.ADD supports SCSI on Adaptec 1742 controllers.
OS2ASPI.DMD Adaptec ASPI support.
HITCDS1.FLT supports Hitachi CDR-1750.
SBCD2.ADD supports Panasonic CD-ROM drives.
LMS206.ADD supports Philips CD-ROM drives
ULTRA14.ADD supports Ultrastor SCSI controller.
XDFLOPPY.FLT supports IBMs 1.8mb OS/2 installation disk format.
AUTODRV2.SYS supports PCMCIA modems.
ICMEMCDD.SYS & ICMEMMTD.SYS supports PCMCIA flash memory.
PCM2ATA.ADD supports PCMCIA ATA devices.
<<=TIP=>>  Try adding the following switches to the
BASEDEV=IBM1S506.ADD line: BASEDEV=IBM1S506.ADD /A:0 /U:0 /SMS,
and use /V (/V=verbose) to see if the /SMS works.  This will
improve performacne on those IDE drives that support the SMS
feature.  It will not work on all IDE drives, but it will not
damage anything either.  See your Command Reference INF file
for more information on these and other parameters for this
driver.

<<=TIP=>>  If you wish to prevent users from using the
floppy drives under OS/2 (to keep them from loading non-
authorized programs or in a workstation situation), REM the 
BASEDEV=IBMxFLPY.ADD line (where x is 1 for ISA and EISA
machines, or 2 for Microchannel).

<<=NOTE=>>  In Warp, the install program may have placed both
IBM1FLPY.ADD and IBM2FLPY.ADD BASEDEV drivers in your 
config.sys.  Remove IBM2FLPY.ADD if you don't have a Micro
Channel PC.

<<=WARP TIP=>>  With Warp, the default transmission protocal use
by PRINTO1.SYS and PRINTO2.SYS is the polling transmission
method.  The protocal used by previous versions of OS/2 was the
interrupt transmission method.  In Warp, you can change back
to the interrupt method by adding the /IRQ switch.

<<=TIP=>>  From Paul Kurr:  "Since I'm running on a LAN at work
here, I have no need for direct printer support of any kind since
this is taken care of by my NOS (LAN Server).  So I have REM'd
BASEVEV=PRINT01.SYS to save some RAM."

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

This command points to the on-line documentation (INF files)
provided with OS/2 or other OS/2 programs.  I have the
GAMMATECH utilities installed on my system which contains
on-line documentation. 

<<=TIP=>>  If you have an HPFS partition, copy all of your
on-line documentation (INF files) to this partition.  Then 
change this parameter to reflect the new path.  You will
notice a substantial improvement in search speed since HPFS
is much faster than FAT.

SET EPMPATH=C:\OS2\APPS

Replaced SET EPATH=C:\OS2\APPS in version 2.0.  According to
one source in IBM, EPMPATH is used by the Enhanced Editor
(EPM.EXE) to locate its files.

DEVICE=D:\OS2\VASPIDD.SYS DEVICE=D:\OS2\VASPI.SYS

 Adaptech ASPI device drivers for SCSI support.

DEVICE=C:\OS2\APPS\SASYNCDB.SYS DEVICE=C:\OS2\APPS\SASYNCDA.SYS

This device driver loads communications support for the PM
Terminal applet.  The PM Terminal applet, and this
device driver, were dropped in OS/2 Warp.

<<=TIP=>>  If you don't use PM Terminal, REM this line to
save a little memory.  In fact, if you are not using PM
Terminal applet you may wish to consider deleting the files
to save some disk space also.

PROTECTONLY=NO

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 (including Windows), then set PROTECTONLY=NO.

<<=NOTE=>>  Jonathan de Boyne Pollard relayed the following:
"Part of the difficulty of talking about OS/2 2.x, as opposed
to OS/2 1.x, is that *all* processes run in *protected mode*.
The 386 never runs in real mode in OS/2 2.x.

"Virtual DOS Machines are run in v8086 mode, which is still
*protected mode*, as the paging mechanism is still active.
The major difference between v8086 and normal protected mode
is that the segment base addresses in linear memory are
fixed, instead of being determined by the entries for each
selector in the LDT and GDT.

"So PROTECTONLY in OS/2 2.x means *don't use v8086 protected
mode*. For a while there we thought that it meant *don't use
real mode* and so was useless to OS/2 2.x, but it seems after
all that it retains its original OS/2 1.x semantics, if not 
its original mechanism."

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 shut down.

<<=NOTE=>>  This is the line where you can also specify the size
of the DOS environment variable.  The range is 160 through 32768.
For example, to set a 1024 byte environment you would add the
following to the end of the SHELL command line:  /E:1024

<<=TIP=>>  You can also load and run other command processor's
such as 4DOS.  To do so, just put 4DOS in your MDOS directory
and change the SHELL line to read 4DOS.COM instead of
COMMAND.COM.

FCBS=4,2

File Control Blocks (FCBS) are an outmoded holdover from old 
versions of DOS.  The blocks are an internal holding area for
data about concurrently open files.  In newer versions of DOS,
these FCBS have been replaced by File Handles, but some DOS
programs still use them and you need this statement for com-
patibility.  The command tells an OS/2 VDM how many FCBS can
be open at once, or, when DOS needs to open more FCBS than are
available, 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".  Unless
you get some kind of error message when running a DOS program
that tells you the program doesn't have enough FCBS, leave the
default as set.

<<=TIP=>>  You may wish to experiment with a smaller number.
If you can get by with a smaller number, you will get back a
little memory in each of your DOS sessions.  My suggestions is
that you set it to 4,2.  If you make this change and then load
a DOS program that says it can't open a file, increase the
first value, reboot, and see if the error message goes away.
You can also increase or change the value in the DOS programs
Settings notebook.

RMSIZE=640

This is a DOS command and sets the amount of memory available
for use by each DOS session.  The maximum is 640k.  Since some
DOS programs require 640k, its best to have RMSIZE set to 640.

<<=TIP=>>  If you only have 4MB of RAM or don't have any DOS 
programs that need a full 640k, you should consider reducing
this parameter to 512.  Many DOS applications will run in a
512k DOS partition.  Doing this will free up some additional
RAM which will help performance.  Remember that Windows is
a DOS program.  I don't suggest you attempt to run it in less
than 640kb.

<<=TIP=>>  If you need maximum memory (more than 640k), see
tip under DOS=LOW,NOUMB.

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

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

Three of its switches are:

  /S=n  Sets the limit of EMS memory in blocks of 1024k.
     Default is 2.

  /L=n  Size of conventional memory that can be remapped.
     Default is none.

  /F=nnnn  Memory frame address to be used to map EMS.
     Default is AUTO.

<<=NOTE=>>  Settings you specify in a DOS session will
override these switches.

<<=NOTE=>>  The VEMM.SYS device must be listed in your
config.sys file before the VXMS.SYS device.

¶ 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.

<<=NOTE=>>  If you don't have this line (or you REM'd it), you
will not have mouse support in your DOS sessions.

¶ DOS=LOW,NOUMB

This is a standard DOS command that lets you control how DOS
uses memory.  The default is DOS=LOW,NOUMB and is considered
by many to be the best setting for it conserves memory
for OS/2.  DOS=HIGH (including ,UMB) reduces available memory
for OS/2, but increases the available memory in EVERY DOS
session.  Few DOS sessions need maximum memory.  Also remember
that you can move DOS HIGH for a specific program by changing
that programs Settings.  This is done in the programs Settings
Notebook and is likely the better way to go.  Finally, keep in
mind that in OS/2 many device drivers are not taking up room in
your 640k DOS area.  So you generally have more memory in the
typical OS/2 DOS session than in a standard DOS session.

The following is the amount of memory my system reports in each
DOS session with DOS=LOW,NOUMB.  The vast majority of all DOS
programs will run just fine with this amount of memory.

  655360 bytes total memory
  655360 bytes available for DOS
  618208 largest executable program size    <---- About 604k.

With DOS=HIGH, the amount of memory reported is:

  655360 bytes total memory
  655360 bytes available for DOS
  643632 largest executable program size    <---- About 629k.

<<=TIP=>>  If you need the maximum available RAM in a DOS
session and can get by on CGA or MONO, in the DOS Settings of
your applications Settings Notebook, change VIDEO_MODE_RESTRICTION
to CGA or MONO.  (Note that there are some reports from users
that this procedure does not work on their hardware.)  A final
note:  For this to work on some systems, you may need to change
RMSIZE command to 639 (RMSIZE=639).  See description of this
parameter under RMSIZE.  This is the result of a bug in OS/2.  I
have not verified if this bug is still in Warp.  Any one care to
verify if it is still around?
The amount of memory reported after doing this on my machine is:

  752640 bytes total memory
  752640 bytes available for DOS
  740656 largest executable program size    <---- About 724k.

¶ LOADHIGH C:\OS2\MDOS\TSR.EXE LH C:\OS2\MDOS\TSR.EXE

This command is for DOS sessions and loads TRS programs into
upper memory blocks if they are available.  If upper memory
blocks are not available, the TRS will be loaded into
conventional memory.

¶ DEVICE=C:\OS2\APM.SYS

Device driver for ADVANCED POWER MANAGEMENT system used with
laptop systems.  Not using a laptop?  Then REM or delete the
statement.  If you are using a laptop, see the OS/2 README
file for more details on its operation.

¶ 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 MB of memory.

There is a total of five switches available.

   /UMB  Upper memory block support in DOS sessions.

   /NOUMB  No upper memory block support.

   /XXMLIMIT=m,n  Indicates the total system wide memory limit.

   /HMAMIN=m  Sets the minimum request size for high memory,
              from 1k to 63k.

   /NUMHANDLES=m  Sets the number of handles in each DOS session,
                  from 1 to 128.

<<=NOTE=>>  The VXMS.SYS device must be listed in your
config.sys file after the VEMM.SYS device.

¶ DEVICE=C:\OS2\MDOS\VDPX.SYS

Driver required when using VDPMI in the config.sys line
below.  One authority said that this driver "provides V86 to
Protected Mode translation for DPMI memory".  Well that's
enough to lose me.

¶ DEVICE=C:\OS2\MDOS\VDPMI.SYS

Provides "virtual" DPMI (DOS Protect Mode Interface) memory
for DOS and Window sessions.  I don't know much about this,
but I've been told not to remove it.

¶ DEVICE=C:\OS2\MDOS\VWIN.SYS

Assists in the process of providing seamless Windows support.

¶ DEVICE=C:\OS2\EXTDSKDD.SYS

EXTDSKDD.SYS supports external disk drives.  There are five
switches available.  See your online Command Reference for 
complete details on these switches.

� DEVICE=C:\OS2\PCMCIA.SYS DEVICE=C:\OS2\MDOS\VPCMCIA.SYS

These two drivers were new beginning with version 2.1.  They
provide support for computers that have PC Memory Card
International Association (PCMCIA) adapters.

<<=TIP=>> If you don't have any PCMCIA devices, then you
should REM these drivers to save a little RAM.

<<=NOTE=>>  If you are using PCMCIA adapters and you find that
your communications ports (COM1 - COM4) are not working
properly, place these two device drivers after the COM.SYS and
VCOM.SYS statements.

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

This is a CD-ROM device driver that provides support in DOS
sessions.

<<=TIP=>> If you don't have a CD-ROM installed, then you should
REM this line to save a little RAM.  Remember, the more RAM OS/2
has, up to 16MB, the better it runs.  After 16MB it doesn't seem
to improve much, overall.

¶ IFS=C:\OS2\CDFS.IFS /C:4 IFS=C:\OS2\BOOT\CDFS.IFS /C:4 <---- In Warp

This OS/2 command is needed if you have a CD-ROM.  It installs 
CDFS.INF which is the "Installable File System" for CD-ROMs. 
Your CD-ROM is not going to run without it.
<<=TIP=>> You can add cache to your CD-ROM IFS by adding the
/C:n switch.  The variable "n" is a number which represents
units of 64kb of memory.  For example, /C:4 would set up a
256kb cache (4 x 64kb = 256kb).

Other switches include the following:

/P: Indicates the debug output port. The values can be 1 (COM1)
    or 2 (COM2).

/K  Indicates the supplemental volume descriptor with KANJI.

/M:n  Where n indicates the maximum number of file sectors to
      read at a time.  The default is 8.

/Q  Suppresses initialization messages.

Thanks to Ron Pelt for reminding me to add this information.

¶ DEVICE=C:\OS2\OS2CDROM.DMD /Q DEVICE=C:\OS2\BOOT\OS2CDROM.DMD /Q <---- In Warp

OS/2 driver used on many, but not all CD-ROM's.

¶ DEVICE=C:\OS2\MDOS\VW32S.SYS

WIN32 program support driver.

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

This command prepares your monitor to display information based
upon the CODEPAGE specification.  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 file will contain various device drivers for
various devices based upon your systems hardware configuration.
This device driver for supporting VGA video cards in DOS sessions.

¶ SET VIDEO_DEVICES=VIO_SVGA SET VIO_SVGA=DEVICE(BVHVGA, BVHSVGA) DEVICE=C:\OS2\MDOS\VSVGA.SYS

Your config.sys file will contain various device drivers for
various devices based upon your systems hardware configuration.
These device driver are for a SVGA video card.

� SET VIDEO_DEVICES=VIO_VGA SET VIO_VGA=DEVICE(BVHVGA) DEVICE=C:\OS2\MDOS\VVGA.SYS

Your config.sys file will contain various device drivers for
various devices based upon your systems hardware configuration.
These device driver are for a VGA video card.

� DEVICE=C:\OS2\POINTDD.SYS DEVICE=C:\OS2\BOOT\POINTDD.SYS <---- In Warp

Provides mouse-pointer draw support.  Text modes 0, 1, 2, 3, and
7 and graphic modes D, E, F, and 10 are supported.  For graphic
modes D, E, F, and 10, the correct graphic device driver must
also be installed. 

<<=WARNING=>> In order for MOUSE.SYS to work effectively, this 
driver must be loaded by OS/2 before MOUSE.SYS.  Do not remove
it from your config.sys file.

¶ DEVICE=C:\OS2\MOUSE.SYS SERIAL=COM1 QSIZE=10 DEVICE=C:\OS2\BOOT\MOUSE.SYS SERIAL=COM1 QSIZE=10 <-- In Warp

Lets you use a mouse or track ball.  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 handle them.  There is also a 
RELAXED parameter which you would place after QSIZE.  It can
be used with any mouse when the pointer is jumping randomly
about the screen.  IBM does not suggest you use this parameter
unless you are experiencing this problem.

<<=NOTE=>> The MOUSE.SYS statement must come before COM.SYS, but
after POINTDD.SYS, because COM.SYS will take over any unused COM
port.  If COM.SYS takes over the COM ports before MOUSE.SYS is
loaded, MOUSE.SYS will not have any COM ports available, thus no
mouse support.

� DEVICE=C:\OS2\RODENT\RODENT.SYS COM=1 BUTTONS=3

Device driver for the shareware mouse driver call Rodent.

¶ DEVICE=C:\OS2\COM.SYS DEVICE=C:\OS2\BOOT\COM.SYS <---- In Warp

Lets you use the communications ports COM1 and COM2.  If you
want to use COM3 or COM4 or change the IRQ of any COM port,
see <<=TIP=>> below.  This line MUST appear after any driver
that uses a communications port.  Use COM02.SYS for IBM PS/2
model 90 and 95.

<<=TIP=>> There are two very good replacement drivers for 
COM.SYS\VCOM.SYS called SIO.SYS\VSIO.SYS.  It can be obtained
on most OS/2 BBSs.  If you utilize communications software on a
regular basis at high speeds (e.g. 14,400), I recommend you 
consider SIO.SYS.  Replace VCOM.SYS with VSIO.SYS which
comes with SIO.SYS.  SIO.SYS and VSIO.SYS are Shareware, not 
Freeware.  Register them if you use them!

<<=TIP=>> To add support for COM3 and COM4 at location 3E8 with
IRQ 4 and 2E8 with IRQ 3 respectively, add (3,3E8,4) (4,2E8,3)
to the DEVICE line, e.g. DEVICE=C:\OS2\COM.SYS (3,3E8,4)
(4,2E8,3).  You can also use this method to change a COM ports
assigned IRQ. 

¶ DEVICE=C:\OS2\COM02.SYS DEVICE=C:\OS2\BOOT\COM02.SYS <---- In Warp

For IBM PS/2 model 90 & 95 only.

Lets you use the communications ports COM1 and COM2.  If you
want to use COM3 or COM4 or change the IRQ of any COM port,
see <<=TIP=>> below.  This line MUST appear after any driver
that uses a communications port.

<<=TIP=>> To add support for COM3 and COM4 at location 3E8 with
IRQ 4 and 2E8 with IRQ 3 respectively, add (3,3E8,4) (4,2E8,3)
to the DEVICE line, e.g. DEVICE=C:\OS2\COM02.SYS (3,3E8,4)
(4,2E8,3).  You can also use this method to change a COM ports
assigned IRQ. 

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

Lets you use the communications ports for DOS and Windows
sessions.  Must appear after the COM.SYS driver.

<<=NOTE=>> If you are using COM3 and/or COM4, add the
appropriate parameters to the COM.SYS line above only.  It is
not necessary to add any parameters to this line.  VCOM.SYS
inherits its parameters from the COM.SYS line.

<<=TIP=>> See TIP under DEVICE=C:\OS2\COM.SYS regarding 
SIO.SYS.

� DEVICE=C:\SIO\SIO.SYS

Excellent replacement driver for COM.SYS.  If you utilize 
communications software on a regular basis at high speeds 
(e.g. 14,400), then the SIO drivers are the way to go.
Be sure you have REM'd out COM.SYS when using.  SIO.SYS and
VSIO.SYS are Shareware, not Freeware.  Register them if you
use them!  Check your favorite OS/2 BBS to locate the SIO
drivers.  See also VSIO.SYS.

¶ DEVICE=C:\SIO\VSIO.SYS

Excellent replacement driver for VCOM.SYS.  If you utilize
communications software on a regular basis at high speeds 
(e.g. 14,400), then the SIO drivers are the way to go.
Be sure you have REM'd out VCOM.SYS when using.  SIO.SYS and
VSIO.SYS are Shareware, not Freeware.  Register them if you
use them!  Check your favorite OS/2 BBS to locate the SIO
drivers.  See also SIO.SYS.

¶ MODE

MODE is a multipurpose command that allows you to control
printer ports, serial ports, modems, video monitors and disks.
For example, if you want to "lock" in the baud rate on COM2,
add the following MODE command to your config.sys file:

MODE COM2 baud  (where baud is the rate you want to lock)

DEVICE=C:\MMOS2\MVPRODD.SYS /I11 /D3 /S:1,220,1,5 /N:PAS161$ DEVICE=C:\MMOS2\AUDIOVDD.SYS PAS161$

These two drivers are for MediaVision's ProAudio Spectrum
sound card.  The first driver is set for IRQ 11, DMA 3 with
Sound Blaster support on IRQ 5 and DMA 1.

<<=Warp TIP=>>  MediaVison's technical support indicates that
the only correct settings for the PAS 16 in Warp is IRQ 11
and DMA 3.  If you are experiencing static or white noise
during bootup, MediaVison indicates that this is caused by
using an IRQ other than 11 and DMA 3.  They also indicate that
the two device driver lines must be the last lines in your 
config.sys file.  Note that this information didn't solve the
static problem for all users I've talked with, but it did for
some.  Others have indicated that adding the /T:1 switch solved
their "white noise" problem.
 
My experience has been that any change to the MVPRODD.SYS 
parameters will solve this problem, until you have to reset
your system without a proper shut down.  Then the "white
noise" returns, so I add or subtract the /T:1 parameter.

There are new drivers in the Warp FullPak which solved the
"white noise" problem for me.

<<=Warp NOTE=>>  I've heard that there may be a bug in Warp
which causes problems in WIN-OS2 "seamless" mode.  A solutions
is contained in SNDWOR.ZIP which can be downloaded from many
OS/2 BBSs.

¶ DEVICE=C:\MMOS2\SB16D2.SYS 1 1 5 5 220 4 330 /N:SBAUD1$ /Q DEVICE=C:\MMOS2\AUDIOVDD.SYS SBAUD1$

These two drivers are for Sound Blaster 16 sound card. 
Regarding the SB16D2.SYS driver, Doug Boulter comments that:

- the first number is the device number, in this case 1;
- the second number is the 8-bit DMA channel, also 1;
- the third number is the 16-bit DMA channel, in this case 5;
- the fourth number is the interrupt, IRQ 5;
- the fifth number is the base I/O address, 220H;
- the sixth number is the buffer size; and
- the seventh number is the MIDI base I/O address, 330H.

� DEVICE=C:\MMOS2\JAZZDD.SYS /I:5 /D:1 /E:5 /T:330 /Q:10 /P:220 /N:JAZZ1$

Support driver of Creative Labs Jazz16 card.

� DEVICE=C:\OS2\MDOS\ANSI.SYS

This is the traditional DOS command most are familiar with.
It only affects DOS sessions.  This line is not added to your
config.sys file by default.  If you want it, you need to add it.

OS/2 sessions have ANSI support by default.  If you are unsure
if ANSI is on or off in an OS/2 session, go to an OS/2 command
prompt and type ANSI.  You will get a message like:  "ANSI
extended screen and keyboard control is on."  For an OS/2
session, turn ANSI off or on by typing ANSI OFF or ANSI ON at
an OS/2 command prompt.

There is two switches:

   /X Redefines keys with extended dey values as distinct keys.
   /K Disables extended keyboard capabilities.  You would use
      this switch if an application does not support extended
      keyboard.

¶ SET ETC=C:\TCPI\ETC SET TMP=C:\TCPIP\TMP DEVICE=C:\TCPIP\BIN\INET.SYS DEVICE=C:\TCPIP\BIN\IFNDISNL.SYS DEVICE=C:\TCPIP\BIN\VDOSTCP.VDD DEVICE=C:\TCPIP\BIN\VDOSTCP.SYS RUN=C:\TCPIP\BIN\CNTRL.EXE RUN=C:\TCPIP\BIN\VDOSCTL.EXE

Provides TCP/IP support for Warp's InterNet tools provided in the
Bonus Pack.
<<=TIP=>> If you don't need TCP/IP support in DOS sesions, and you
don't if you are using the Bonus Pack tools, REM the following
lines:
  DEVICE=C:\TCPIP\BIN\VDOSTCP.VDD
  DEVICE=C:\TCPIP\BIN\VDOSTCP.SYS
  RUN=C:\TCPIP\BIN\VDOSCTL.EXE

Remember that Windows is a DOS based system.

¶ DEVICE=C:\OS2\TOUCH.SYS

(From OS/2s online documentation)

Implements support for touch devices.  For a touch device to be
effectively used, the POINTDD.SYS device driver and appropriate
mouse device-driver support must be loaded. In addition, these
statements must be included in the CONFIG.SYS file in the
following order: 

o  A device-dependent statement that gives the name of the
   file containing the information for the touch device you use. 

o  A device-independent statement that identifies the touch
   device to TOUCH.SYS
If during installation, OS/2 detects a touch device installed on
your system, the Install program automatically loads the required
device-driver support necessary to enable the touch device.  The
touch device shares the auxiliary device (mouse) port on the
system with the mouse by allowing the mouse to connect to the 
touch device, which is then connected to the system. 

The Install program automatically adds the following statements
to the CONFIG.SYS file: 

 DEVICE=C:\OS2\PDITOU0x.SYS CODE=C:\OS2TOUCO21.BIN INIT=C:TOUCH.INI
 DEVICE=C:\OS2\TOUCH.SYS TYPE=PDITOU$
 RUN=C:\OS2\CALIBRATE.EXE-C C:\OS2CALIBRAT.DAT
 DEVICE=C:\OS2\MOUSE.SYS TYPE=PDIMOU$
 
"x" is 1 or 2 depending on the bus architecture of your system.
TOUCO21D.BIN is the touch-device microcode binary file and
TOUCH.INI is a text file containing default parameter settings.

The RUN=CALIBRAT.EXE statement is to activate the Calibration
program.  This program performs the dual actions of downloading
calibration-constant data to the touch device each time the
system is started, and enabling recalibration of the touch
device at initial setup, and when the device is moved to a new
location. 

To recalibrate the touch device, enter the following at an OS/2
command prompt: 

 x:           (where "x" is your OS/2 boot drive.)
 CD \OS2
 CALIBRAT -U

¶ RUN=C:\OS2\CALIBRATE.EXE-C C:\OS2CALIBRAT.DAT DEVICE=C:\OS2\PDITOU01.SYS DEVICE=C:\OS2\PDITOU02.SYS

See DEVICE=C:\OS2\TOUCH.SYS

� DEVICE=C:\OS2\LOG.SYS

This optional device driver installs OS/2s error log file.  If
you want a log of errors that occur on your system, then add
this and the next line to your config.sys file.  If you are
interested in such things, you may wish to play with it, but
be forewarned, the error log information is cryptic and
incomplete.  See note below.  To learn what these codes mean,
you need to have IBMs Systems Network Architecture Formats
(GA27-3136-12) or, for a reasonable overview, get OS/2 2.1
Unleashed, 1993, SAMS Publishing.

The switch /E:nn sets the size of the error log buffer.  The
range is from 4kb to 64kb with 8kb as the default.

You will get a short and quick message during boot up
indicating that Logging has been installed and what the buffer
size is.

<<=NOTE=>> LOG.SYS has its limitations.  It will not log an 
application error unless the application has been written to make
use of LOG.SYS.  Some routine system errors will not log either 
because OS/2 opens an error message box on screen to report
these.

¶ RUN=C:\OS2\SYSTEM\LOGDAEM.EXE /E:C:\OS2\LOGFILE.DAT /W:16

This RUN command starts the logging process and must appear
AFTER you have installed the LOG.SYS driver noted in the 
config.sys line above.  The two switches are:

 /E:path\filename  This is the path and file name of the
    test file where the errors will be logged.  You can place 
    it anywhere you want and call it anything you wish.
    NOTE:  Like the OS/2 INI files, this file is "locked" and 
    you will not be able to access it with your standard text 
    editor or the OS/2 System Editor.  You will get a 
    "violation error".  The Enhanced Editor will open the file.

 /W:nn  This is the size of the file named with the /E
    switch.  The default size is 64k, but with this switch 
    you can set the value from 4k to 64k.  I've set the file 
    size at 16k in the example line above.

<<=NOTE=>> Use SYSLOG.EXE from an OS/2 command line prompt to
view your log file.

¶ 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.  From an OS/2 command line, you can use the
CHCP command to switch between these two code pages.  This can
be useful in order to type, display or print data in a
different language from the version installed.  CHCP can be
used either without a parameter to query the current code
page, or with one parameter in order to switch between primary
and secondary code pages.  CHCP cannot be used to change to a
code page not defined in the CODEPAGE= config.sys line.

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. See Table 6.0

<<=WARNING=>> Japan, Korean and Chinese require a special 
version of OS/2 and special hardware.
<<=WARNING=>> The choice of code page is made at installation
time and should only be changed by using Selective Install. 

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

<<=TIP=>> Holger Granholm of Helsinki, Finland provided the
following excellent commentary on CODEPAGE=437,850.

"I would like to point out that the 437=US English alphabet also 
contains most of the accented letters used in various European
languages as also shown by their secondary code page listing.

"Code page 850 is missing a lot of the mathematical and
electronics symbols and quite many of the graphic characters
contained in the extended (128 - 256) ASCII character set.

"Ever since I found out (in 1986) that I had to set my Epson
printer to the US character set to be able to print the accented
characters I have only used code page 437 on my computers.

"The newer DOS versions force on you NLSFUNC, DISPLAY.SYS, CHCP
and what not as soon as they learn that you use anything else
than english. All these can be deleted to save memory. Also OS/2
puts code page 850 ahead of 437 when you choose another country
or keyboard than US/English.

"One of the first things I did to the OS/2 CONFIG.SYS file was
to change those around."

================== Table 6.0 =====================

  COUNTRY                  PRIMARY      SECONDARY
                           CODE PAGE    CODE PAGE
  Arabic-speaking          864          437
  Asia (English)           437          850
  Australia (English)      437          850
  Belgium                  850          437
  Bosnia                   852          850
  Brazil                   850          437
  Canada (French)          850          863
  Czech                    852          850
  Croatia                  852          850
  Denmark                  865          850
  Finland                  850          437
  France                   850          437
  Germany                  850          437
  Hebrew-speaking          862,850      437
  Hungary                  852          850
  Iceland                  850          861
  Italy                    850          437
  Japan                    932,437      850
  Korea                    934,437      850
  Latin America            850          437
  Netherlands              850          437
  Norway                   865          850
  Peoples Republic of      1381,437     850
    China 
  Poland                   852          850
  Portugal                 850          860
  Slovak                   852          850
  Slovenia                 852          850
  Spain                    850          437
  Sweden                   865          850
  Switzerland (French)     850          437
  Switzerland (German)     850          437
  Taiwan                   938,437      850
  Turkey                   857          850
  United Kingdom           850          437
  United States            437          850
==================================================

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

Tells the keyboard which international character set to use and 
where to find the file KEYBOARD.DCP which translates keystrokes.
The syntax is DEVINFO=KBD,cc,DRIVE,PATH,FILENAME.  The parameter
cc equals the character set to be used, e.g. US = United States.
See Table 7.0 for character set codes.

=============== Table 7.0 ================

  LANGUAGE                   COUNTRY CODE
  Arabic                     AR
  Belgian                    BE
  Canadian French            CF
  Czech/Czech                CS243
  Czech/Slovak               CS245
  Danish                     DK
  Dutch                      NL
  Finnish                    SU
  French                     FR
  German                     GR
  Hebrew                     HE
  Hungarian                  HU
  Icelandic                  IS
  Italian                    IT
  Latin American             LA
  Norwegian                  NO
  Polish                     PL
  Portuguese                 PO
  Spanish                    SP
  Swedish                    SV
  Swiss (French)             SF
  Swiss (German)             SG
  Turkish                    TR
  United Kingdom             UK
  United States              US
  Yugoslavian                YU
==========================================

¶ SET ZOCDEVICE=COM4

Command used by ZOC, the excellent OS/2 communications Shareware
program from Germany.

¶ DEVICE=D:\BACKMAST\FTDVR.SYS DEVICE=D:\BACKMAST\TC15DVR.SYS DEVICE=D:\BACKMAST\PTDVR.SYS

Drivers of Backmaster tape backup system.

� DEVICE=C:\OS2\APPS\SYSIOS2.SYS <<--- new with Warp

This device driver is required by the System Information Tools
provided in the "BonusPak" that comes with OS/2 Warp.  If you plan
on using these tools, do not delete this driver.

� SET DSPPATH=C:\MMOS2\DSP;

An environment variable used by various sound devices that support
digital signal processors (DSPs).  This is a "path" statement.  It
tells the device where to retrieve DSP modules.  If you don't have
a sound device which supports DSP, like M-Audio adapter or the
Sound Blaster 16 CSP, you can REM this line.

� SET MMBASE=C:\MMOS2;

An environment variable which indicates the path to OS/2s
multimedia programs.

¶ SET NCDEBUG=4000

In both Lotus 123 and Excel, users can record and play back audio
and video annotations for specific cells.  NCDEBUG is an
environment variable required for this to work in Lotus 123. 
Excel does not need.  If you do not have a need for this support,
or have Lotus 123, you may REM this line.

¶ SET IBMWORKS_INI=C:\IBMWORKS <<--- new with Warp

IBM Works is an intergrated package of programs including a word
processor, database and spreadsheet which is included with OS/2
Warp's BonusPak.  This statement tells the system where the
IBM Works' INI file is located.
 
<<=TIP=>>  Many Warp users who have installed IBMWORKS from the
BonusPak report that system performance is greatly enhanced by
running IWDEREG.CMD program contained in the IBMWORKS folder.
This program deregisters IBMWORKS and releases a large amount
of RAM back to your system.  Yes, IBMWORKS will still work, but
you may lose some functionality between applications.
DEVICE=C
\OS2\VDISK.SYS 512
DEVICE=C
\OS2\BOOT\VDISK.SYS 512 <<--- In Warp
As in DOS, this driver installs a RAM disk.  In this example,
the RAM disk is 512k with the sectors and directories parameters
set at the default level (64-byte sectors and 64 directory
entries).  With DOS, a RAM disk could significantly improve
system performance, but because OS/2 handles your memory far
more efficiently than DOS and has its own sophisticated caching
routines, using a RAM disk is not recommended.

<<=CAUTION=>> Because a RAM disk takes available memory away
from OS/2, you may negatively impact system performance on
systems with less than 12MB of RAM.  Unless you have lots of
RAM or have a very specific need, don't install a RAM disk.

<<=NOTE=>> If you do install VDISK.SYS and you also have 
EXTDSKDD.SYS installed, VDISK.SYS must be placed after
EXTDSKDD.SYS in your config.sys file.  Check your on-line
Command Reference for information on EXTDSKDD.SYS.
DEVICE=C
\OS2\MDOS\VNPX.SYS

This device driver works _with_ your systems math coprocessor. If you do not have a math coprocessor, this driver will not load. Some have suggested that if you add it to your config.sys you will see an enhancement in your systems performance. Not so. There is no reason for it to be added to your config.sys file. IF YOU HAVE A MATH COPROCESSOR, OS/2 WILL LOAD THIS DRIVER AUTOMATICALLY. If you add it to your config.sys file, a second copy of the driver will be loaded. In doing so, many have reported that no DOS programs would run. DO NOT ADD THIS STATEMENT TO YOUR CONFIG.SYS FILE.

SET OCRNOTES=C
\Faxworks\Calera

SET OCRNOTES supports the optical character reader software from Calera. Thanks to Doug Boulter for this and other suggestions!

DEVICE=E
\FaxWorks\Fmd.sys

Device driver support for FaxWorks for OS/2 which is part of the Warp 3 BonusPak. This driver allows for the synchronous communications involved in transmitting a fax.

5. NOVELL NETWARE NETWORK SUPPORT.

Novell's NetWare is the most popular PC Network software around today. We use it at work and I've used our config.sys file entries as the basis for this section of information.

<<=NOTE=>> I'm not very knowledgeable about networks, so if someone would like to expand on this information and send it to me, I'd love to give you credit and include it here.

REM --- NetWare Requester statements BEGIN ---

DEVICE=C
\NETWARE\LSL.SYS

Loads Link support Layer driver. It is the lowest layer in the Novell Open Data Link Interface model and is required at all times for the requester to be active.

RUN=C
\NETWARE\DDAEMON.EXE

A daemon is a background process that usually carries out administrative tasks for the system without you knowing it. This "daemon" is required for the requester to be active.

DEVICE=C
\NETWARE\TOKEN.SYS

This line differs depending on the network board you have.

DEVICE=C
\NETWARE\ROUTE.SYS

No information available.

DEVICE=C
\NETWARE\IPX.SYS

Provides Novell IPX protocol support and is required for access to a NetWare server.

DEVICE=C
\NETWARE\SPX.SYS

Provides Novell SPX protocol support. It is my understanding that this command is required for some Novell printing utilities, but is optional in most cases.

RUN=C
\NETWARE\SPDAEMON.EXE

Loads a daemon process that handles SPX packets.

REM DEVICE=C
\NETWARE\NMPIPE.SYS

Loads the support for client-only Named Pipes support.

REM DEVICE=C
\NETWARE\NPSERVER.SYS

Loads support for your workstation to function as a Named Pipes server.

REM RUN=C
\NETWARE\NPDAEMON.EXE NP_COMPUTERNAME

This line is required for either the client or the server NetBIOS support to be active and is a daemon program that is part of the Named Pipes support.

DEVICE=C
\NETWARE\NWREQ.SYS

This is the CORE REQUESTER MODULE. This line must follow any lines that support IPX, SPX, or Named Pipes.

IFS=C
\NETWARE\NWIFS.IFS

This installed the networks Installable File System. This IFS enables OS/2 to see the network drives just the same as local drives.

RUN=C
\NETWARE\NWDAEMON.EXE

Another daemon program, but I'm not sure for which process.

DEVICE=C
\NETWARE\NETBIOS.SYS

Loads support for the NETBIOS protocol.

RUN=C
\NETWARE\NBDAEMON.EXE

Loads the NETBIOS daemon process.

DEVICE=C
\NETWARE\VIPX.SYS

Loads support for multiple virtual DOS machine support. It is required both to have multiple DOS boxes on the network and to run the NetWare DOS based utilities.

DEVICE=C
\NETWARE\VSHELL.SYS

Loads the network shell. It is automatically used for all DOS and WIN-OS/2 sessions that require it.

REM --- NetWare Requester statements END ---

5a. OTHER ITEMS

DEVICE=C:\IBMCOM\PROTMAN.OS2 /I:C:\IBMCOM
RUN=C:\IBMCOM\PROTOCOL\NETBIND.EXE
DEVICE=C:\IBMCOM\MACS\IBMTOK.OS2

These commands are added to your config.sys file when you install LAN Adapter and Protocol Support (LAPS). LAPS may also add other commands if other protocols like NETBIOS and IEEE 802.2 are loaded.

DEVICE=C
\CMLIB\VHAPI.OS2

Paul Kurr wrote the following. "This provides for Virtual HLLAPI support within VDM's (not sure about VMB's). This allows DOS programs that use the HLLAPI to access the HOST sessions running at the OS/2 level under comm mgr. So you can actually watch your comm mgr sessions in one window and your DOS program in another while they interact."

DEVICE=C
\IBMLAN\NETPROG\VNETAPI.OS2

Paul Kurr wrote: "This sets up the virtual network support API within the VDM's (not VMB's). This allows DOS programs running within a VDM to "see" that the network is loaded, and interact with it (get/set redirections and such). If VDOLANAPI support is required in a VMB the device driver VNETAPI.SYS needs to be loaded within the VMB (this is found in \IBMLAN\NETPROG)."

RUN=C:\IBMLAN\NETPROG\VNRMINIT.EXE
SET NWDBPATH=C:\IBMLAN\NETPROG
SET DLSINI=C:\IBMLAN\NETPROG\NETGUI.INI
SET INIT_FILE_NAMES=netgui
SET INIT_FILE_RANGES=200
SET WPS_COMMUNICATION=YES
SET LOCPATH=C:\IBMLAN\XPG4\LOCALE
SET LANG=ENUS437
DEVICE=C:\IBMLAN\NETPROG\RDRHELP.200
IFS=C:\IBMLAN\NETPROG\NETWKSTA.200 /I:C:\IBMLAN /N
RUN=C:\IBMLAN\NETPROG\LSDAEMON.EXE

Items with \IBMLAN provide support for LAN Server. According to Paul Kurr, the SET statements are for LS 4 GUI support.

-----------------------------------------------------------------
END OF CONFIG.SYS FILE DESCRIPTION 

6. OBSCURE CONFIG.SYS SETTINGS.

What follows are some very obscure config.sys settings.  They
are here only for informational purposes.  Unless you have a
very specific need and know what you're doing, please don't
experiment with these.

SET SHELLEXCEPTIONHANDLER=OFF
The WpS has its own exception handling routines which allow it
to recover from most errors, but when programming your own
objects, you want to see all errors as they occur.  You can turn
WpS "exception handling" off with this command.  Could be useful
when debugging a Workplace Shell object.

¶ SET OBJECTSNOOZETIME=45

Useful when programming certain types of object DLLs.  The
default setting for the snooze time is 90 seconds.  Unless you
are programming your own Workplace Shell objects, you should
not change the default setting.

¶ SET SHAPIEXCEPTIONHANDLER=OFF

This command disables the WpS API exception handler, and all
WpS exceptions are handled by OS/2.

¶ SET VIDEO_APERTURE=xxx

This command allows you to set the address for video memory
refresh buffers, where xxx is a hexadecimal number.

¶ SUPPRESSPOPUPS=x

Use SUPRESSPOPUPS to suppress the popup box display of trap
information messages and logs the trap information to the
file POPUPLOG.OS2 in the root directory of the drive specified
by "x".
<<=NOTE=>> The log file name cannot be overridden.

� REIPL=ON <---- new with Warp.

This command automatically restarts the system when a system
trap or internal processing error occurs.  Parameter is ON or
OFF.  Default is OFF.
 
<<=TIP=>>  This command along with the SUPPRESSPOPUPS command
can be very useful to those running a BBS.  If a trap or internal
processing error occurs while your BBS is unattended, having 
these two command in your config.sys will cause your system to
log the error and then restart the system, so your BBS is back
online.

¶ TIMESLICE=128,256

This command allows you to manually control the minimum and
maximum amount of processor time any thread can receive at
once.  The syntax is TIMESLICE=x,y where x is the minimum time
slice (in milliseconds and must be at least 32) and where y is
the maximum length (must be less than 65536).

Jim Gilliland once posted: "The Timeslice parameter controls the
minimum and maximum timeslice that OS/2 will allow an application
to use.  If you make the timeslice longer, OS/2's dispatching
overhead will be reduced, but the system's multitasking operation
will be "choppier".  Increasing the length of the maximum
timeslice (the second parameter) will allow OS/2 to gradually
increase the length of the timeslice used by an application when
it is not competing with any other apps for CPU time (that is,
when it is the only app running or all others are blocked)."

<<=TIP=>> OS/2 handles time slicing dynamically.  This means
that the system is adjusting the time slice values based on
the actual processes active on the system as the workload
changes.  Therefore, it is best not to attempt to manually
set TIMESLICE.  OS/2 can handle this process far better than
most of us can.

¶ TRACE=ON

The system trace facility is used to record a sequence of
system events, function calls, or data.  The record is usually
produced for program debugging purposes.  After the trace data
is recorded, the System Trace Formatter is used to retrieve it
from the system trace buffer (see TRACEBUF below) and format
the data to either your display, printer, or to a file.  Start
tracking system problems by turning TRACE on which will
establish a 4KB default buffer.  (You can increase this using
the command TRACEBUF) to store tracing data.  You can also
start TRACE from an OS/2 command prompt.

<<=NOTE=>> You can turn TRACE=ON and then set TRACE=OFF for
major or minor codes.  For example, TRACE=OFF 24,50,98. 

¶ TRACEBUF=x

This command sets the size of the trace buffer.  If any valid
TRACE statement is in your config.sys, the default size of
the trace buffer will be 4KB.  You can modify this size with
the TRACEBUF command.  Maximum size is 63KB.  "x" is a specific
number from 1 to 63, representing a multiple of 1024 bytes.

� TRAPDUMP=xx,d

Parameters are:  OFF,drive letter
                 ON,drive letter
                 R0,drive letter

Indicates when a stand alone dump is to be taken and where the
dump is to be placed.  The default value is OFF and the default
drive is "A".

If you are sending a memory dump to hard disk, you must first
create a FAT partition labeled SADUMP and give it a size
greater than the amount of physical memory in your system.
The drive you specify in the TRAPDUMP statement must contain
the SADUMP partition.  Any existing data in this partition
will be overwritten.  The system will restart after the TRAPDUMP
process has been completed.

<<=NOTE=>> If REIPL=ON is specified in the config.sys file, the
system will restart automatically and no dump will be taken when
a system trap or internal processing error occurs.

Luca Regoli, Societa' Italiana Autori Editori, provides the
following information on this command.

"This way whenever a trap occurs you don't get anything on the 
screen.  The PC beeps and [responds] as if you had depressed
CTRL+ALT+NUMLOCK / NUMLOCK.

"Not very useful though I don't know how to get traps infor-
mation from the dump disk (and don't want to download all 20Mb
dump of memory any time I get a trap)."

¶ DUMPPROCESS=x

Activates the Dump Process.  Any application process that traps
will cause a process dump.  The information will be written to
a dump file named PDUMP.xxx where xxx is an index that is
incremented each time a new process dump is created.  This dump
file resides in the root directory of drive specified in "x".

� PROTECT16

Haven't found out about this one yet.  Comments?

� AUTOFAIL=YES

This command does not appear in your config.sys.  If not set to
Yes, OS/2 default is No.  In the default setting, when an error
occurs, OS/2 will only display a window informing you of the
problem.  If you wish to see the actual error code information,
set AUTOFAIL to Yes. 

<<=NOTE=>>  This command can't be run from an OS/2 prompt.

<<=TIP=>>  Paul Kurr writes:  "I set this value to YES on my
machine so that I'm not interrupted with those pesky drive not
ready popups and such.  AUTOFAIL=YES takes the "first" option
in those windows presented (usually return error code to program).

"This can be seen most easily when running WIN-OS2 with a CDROM
installed--either empty or with a music CD in the drive.  With
AUTOFAIL=NO (default) OS/2 pop's up the window stating that my
drive "E" is not ready.  With AUTOFAIL=YES, the first "selection"
from that error is executed -- returning the failed drive status
to WINOS2, which just keeps running fine."

¶ VME=NO

If you attempt to run WIN-OS2 and see the error message DOS 5
Error, you may need to add this command.  Paradox V4.5 for DOS
and Turbocadv3.2 for DOS under Warp 3 are known to need this
command in some cases.  The code to support Virtual Mode
Extensions on Pentium machines will occasionally causes problems
with Warp.  This command generally solves the problem.

¶ SET BEGINLIBPATH=C:\OS2 SET ENDLIBPATH=C:\OS2

With Warp, IBM has introduced the ability to dynamically change
LIBPATH using two new environment variables:  BEGINLIBPATH and
ENDLIBPATH.  These commands are most useful in CMD or BATCH
files, but can be used in your config.sys.  Any directories that
appear in the BEGINLIBPATH variable are searched before
directories in LIBPATH, and directories that appear in the
ENDLIBPATH variable are searched after those in LIBPATH.

7. SAMPLE CONFIG.SYS FILES.

FILE FOR CLONE WITH 8MB OF RAM AND VGA RUNNING ONLY HPFS

 CALL=C:\OS2\XCOPY.EXE C:\OS2\*.BK1 C:\OS2\*.BK2  (not needed in Warp)
 CALL=C:\OS2\XCOPY.EXE C:\OS2\*.INI C:\OS2\*.BK1  (not needed in Warp)
 IFS=C:\OS2\HPFS.IFS /CACHE:1024 /CRECL:32 /AUTOCHECK:C
 RUN=C:\OS2\CACHE.EXE /MAXAGE:7500 /DISKIDLE:60000 /BUFFERIDLE:60000
 PROTSHELL=C:\OS2\PMSHELL.EXE
 SET USER_INI=C:\OS2\OS2.INI
 SET SYSTEM_INI=C:\OS2\OS2SYS.INI
 SET OS2_SHELL=C:\OS2\CMD.EXE
 SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,LAUNCHPAD
 SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE
 SET RESTARTOBJECTS=YES
 SET COMSPEC=C:\OS2\CMD.EXE
 LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL;
 SET PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\;C:\OS2\MDOS;C:\OS2\APPS;
 SET DPATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\;C:\OS2\BITMAP;C:\OS2\MDOS;C:\OS2\APPS;
 SET PROMPT=$E[1;33m[$p]$g
 SET HELP=C:\OS2\HELP;C:\OS2\HELP\TUTORIAL;
 SET GLOSSARY=C:\OS2\HELP\GLOSS;
 SET DIRCMD=/O /P
 SET IPF_KEYS=SBCS                        (New with version 2.1)
 PRIORITY_DISK_IO=YES
 FILES=30
 DEVICE=C:\OS2\TESTCFG.SYS
 DEVICE=C:\OS2\DOS.SYS
 DEVICE=C:\OS2\PMDD.SYS
 BUFFERS=50
 IOPL=YES
 REM DISKCACHE=1024,LW,32,AC:C
 MAXWAIT=2
 MEMMAN=SWAP,PROTECT
 SWAPPATH=C:\OS2\SYSTEM 512 4096
 BREAK=OFF
 THREADS=256
 PRINTMONBUFSIZE=2048,134,134
 COUNTRY=001,C:\OS2\SYSTEM\COUNTRY.SYS
 SET KEYS=OFF
 SET SOMIR=C:\OS2\ETC\SOM.IR;C:\OS2\ETC\WPSH.IR;  (new with Warp)
     C:\OS2\ETC\WPDSERV.IR;SOM.IR
 SET SOMDDIR=C:\OS2\ETC\DSOM                      (new with Warp)
 REM SET DELDIR=C:\DELETE,512;
 BASEDEV=PRINT01.SYS
 BASEDEV=IBM1FLPY.ADD
 BASEDEV=IBM1S506.ADD
 BASEDEV=OS2DASD.DMD
 SET BOOKSHELF=C:\OS2\BOOK
 SET EPMPATH=C:\OS2\APPS
 REM DEVICE=C:\OS2\APPS\SASYNCDA.SYS              (not in Warp)
 PROTECTONLY=NO
 SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /P
 FCBS=4,2
 RMSIZE=640
 DEVICE=C:\OS2\MDOS\VEMM.SYS
 DEVICE=C:\OS2\MDOS\VMOUSE.SYS
 DOS=LOW,NOUMB
 DEVICE=C:\OS2\MDOS\VDPX.SYS
 DEVICE=C:\OS2\MDOS\VXMS.SYS /UMB
 DEVICE=C:\OS2\MDOS\VDPMI.SYS
 DEVICE=C:\OS2\MDOS\VWIN.SYS
 REM DEVICE=C:\OS2\PCMCIA.SYS           (New with version 2.1)
 REM DEVICE=C:\OS2\MDOS\VPCMCIA.SYS     (New with version 2.1)
 REM DEVICE=C:\OS2\MDOS\VCDROM.SYS      <<-- Assumes no CD-ROM.
 DEVINFO=SCR,VGA,C:\OS2\VIOTBL.DCP
 SET VIDEO_DEVICES=VIO_VGA
 SET VIO_VGA=DEVICE(BVHVGA)
 DEVICE=C:\OS2\MDOS\VVGA.SYS
 DEVICE=C:\OS2\POINTDD.SYS
 DEVICE=C:\OS2\MOUSE.SYS SERIAL=COM1
 DEVICE=C:\OS2\COM.SYS
 DEVICE=C:\OS2\MDOS\VCOM.SYS
 CODEPAGE=437,850
 DEVINFO=KBD,US,C:\OS2\KEYBOARD.DCP

FOR CLONE WITH 8MB RAM AND VGA RUNNING ONLY FAT


Make the following two changes in the config.sys listing above.

  • REM this line: IFS=C:\OS2\HPFS.IFS /CACHE:1024 /CRECL:32 /AUTOCHECK:C
  • Remove the REM from this line: REM DISKCACHE=DISKCACHE=1024,LW,32,AC:C

FOR CLONE WITH 8MB RAM AND VGA RUNNING BOTH FAT AND HPFS


Make the following changes in the config.sys listing above.

  • Remove the REM from this line: REM DISKCACHE=1024,LW,32,AC:C
  • Change the DISKCACHE size to 256, i.e. DISKCACHE=256,LW,32,AC:C

FOR CLONE WITH 16MB OF RAM AND VGA RUNNING ONLY HPFS


Make the following changes in the config.sys listing above.

  • Increase the HPFS cache to 2048, (/CACHE:2048).
  • Increase the HPFS CRECL command to 64, (/CRECL:64).
  • Change BUFFERS=50 to BUFFERS=75.
  • Change FILES=20 to FILES=30

FOR CLONE WITH 4 OR 6MB OF RAM AND VGA RUNNING FAT (Never run HPFS)


 CALL=C:\OS2\XCOPY.EXE C:\OS2\*.BK1 C:\OS2\*.BK2  (not needed in Warp)
 CALL=C:\OS2\XCOPY.EXE C:\OS2\*.INI C:\OS2\*.BK1  (not needed in Warp)
 REM IFS=C:\OS2\HPFS.IFS  /CACHE:1024 /CRECL:32 /AUTOCHECK:C
 PROTSHELL=C:\OS2\PMSHELL.EXE
 SET USER_INI=C:\OS2\OS2.INI
 SET SYSTEM_INI=C:\OS2\OS2SYS.INI
 SET OS2_SHELL=C:\OS2\CMD.EXE
 SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,LAUNCHPAD
 SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE
 SET RESTARTOBJECTS=YES
 SET COMSPEC=C:\OS2\CMD.EXE
 LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL;
 SET PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\;C:\OS2\MDOS;C:\OS2\APPS;
 SET DPATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2;C:\OS2\INSTALL;C:\;C:\OS2\BITMAP;C:\OS2\MDOS;C:\OS2\APPS;
 SET PROMPT=$E[1;33m[$p]$g
 SET HELP=C:\OS2\HELP;C:\OS2\HELP\TUTORIAL;
 SET GLOSSARY=C:\OS2\HELP\GLOSS;
 SET DIRCMD=/O /P
 SET IPF_KEYS=SBCS                        (New with version 2.1)
 PRIORITY_DISK_IO=YES
 FILES=20
 DEVICE=C:\OS2\TESTCFG.SYS
 DEVICE=C:\OS2\DOS.SYS
 DEVICE=C:\OS2\PMDD.SYS
 BUFFERS=20
 IOPL=YES
 DISKCACHE=64,LW,12,AC:C <-- Note: Use 48 instead of 64 with Warp.
 MAXWAIT=3
 MEMMAN=SWAP,PROTECT
 SWAPPATH=C:\OS2\SYSTEM 512 6144
 BREAK=OFF
 THREADS=128
 PRINTMONBUFSIZE=134,134,134
 COUNTRY=001,C:\OS2\SYSTEM\COUNTRY.SYS
 SET KEYS=OFF
 SET SOMIR=C:\OS2\ETC\SOM.IR;C:\OS2\ETC\WPSH.IR; (new with Warp)
     C:\OS2\ETC\WPDSERV.IR;SOM.IR
 SET SOMDDIR=C:\OS2\ETC\DSOM                     (new with Warp)
 REM SET DELDIR=C:\DELETE,512;
 BASEDEV=PRINT01.SYS
 BASEDEV=IBM1FLPY.ADD
 BASEDEV=IBM1S506.ADD
 BASEDEV=OS2DASD.DMD
 SET BOOKSHELF=C:\OS2\BOOK
 SET EPMPATH=C:\OS2\APPS
 REM DEVICE=C:\OS2\APPS\SASYNCDA.SYS    (not in Warp)
 PROTECTONLY=NO
 SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /P
 FCBS=4,2
 RMSIZE=512  <---leave at 640 if you are using Windows.
 DEVICE=C:\OS2\MDOS\VEMM.SYS
 DEVICE=C:\OS2\MDOS\VMOUSE.SYS
 DOS=LOW,NOUMB
 DEVICE=C:\OS2\MDOS\VDPX.SYS
 DEVICE=C:\OS2\MDOS\VXMS.SYS /UMB
 DEVICE=C:\OS2\MDOS\VDPMI.SYS
 DEVICE=C:\OS2\MDOS\VWIN.SYS
 REM DEVICE=C:\OS2\PCMCIA.SYS           (New with version 2.1)
 REM DEVICE=C:\OS2\MDOS\VPCMCIA.SYS     (New with version 2.1)
 REM DEVICE=C:\OS2\MDOS\VCDROM.SYS      <-- Assumes no CD-ROM.
 DEVINFO=SCR,VGA,C:\OS2\VIOTBL.DCP
 SET VIDEO_DEVICES=VIO_VGA
 SET VIO_VGA=DEVICE(BVHVGA)
 DEVICE=C:\OS2\MDOS\VVGA.SYS
 DEVICE=C:\OS2\POINTDD.SYS
 DEVICE=C:\OS2\MOUSE.SYS SERIAL=COM1
 DEVICE=C:\OS2\COM.SYS
 DEVICE=C:\OS2\MDOS\VCOM.SYS
 CODEPAGE=437,850
 DEVINFO=KBD,US,C:\OS2\KEYBOARD.DCP

8. HOW TO RESTORE A DAMAGED CONFIG.SYS FILE FROM A BACKUP COPY.

A. Boot OS/2 from the OS/2 Installation Disk.

B. Insert OS/2 Disk #1 when asked.

C. Press the ESC key when you get the first text screen. By doing this you will be put into OS/2s command line mode.

D. Assuming that your backup copy of config.sys is in the root directory of "C" drive and is named CONFIG.SAV, enter the following command:

COPY C:\CONFIG.SAV C:\CONFIG.SYS

Press the ENTER key.

E. Remove OS/2 Disk #1 and reboot the system.

What if you didn't make a backup copy? IBM thought about you. When OS/2 was first installed on your system, the installation program made a backup copy of your original config.sys file. It stored this file in C:\OS2\INSTALL. To restore from this file follow the same steps above, EXCEPT, in step "D" enter the following command instead of the one shown:

  COPY C:\OS2\INSTALL\CONFIG.SYS C:\CONFIG.SYS

<<=TIP=>> Replace the config.sys file saved by the OS/2 installation program in the INSTALL directory with your most current version, thus allowing you to restore from it. If you are viewing this information using CNFGINFO.EXE, the Backup option is set to do this for you.

<<=WARP NOTE=>> In OS/2 Warp, IBM provides an archive feature which can be activated by opening your Desktop settings, click on the Archive Tab, and then click on "Create archive at every system restart". With this feature activated, you can simply press Alt+F1 at boot and be presented with a menu which will allow you to boot with an alternate (backup) config.sys file. See your user documentation for details.

HOW TO MAKE A BACKUP COPY OF YOUR INI FILES.

CALL=C:\OS2\XCOPY.EXE C:\OS2\INSTALL\*.BK1 C:\OS2\INSTALL\*.INI /T /R /O
CALL=C:\OS2\XCOPY.EXE C:\OS2\*.INI C:\OS2\INSTALL\*.BK1 /T /R /O

Two files are essential to the operation of OS/2: OS2.INI and OS2SYS.INI. If these files should get trashed, OS/2 isn't going to function. Backing them up is very important. In OS/2 version 2.0, once booted, OS/2 will not let you access or copy these critical files. One way to circumvent this is to create your backups BEFORE OS/2 is booted. This CALL will do the trick. It creates first a backup of your backup and then creates a backup of the original files. This gives you a two generation backup. This process will add time to your system boot.

Generally OS/2 does not care where you place something in the config.sys file. This CALL is an exception in version 2.0. It must appear before any other line because you need to complete this backup process before OS2.INI AND OS2SYS.INI load.

<<=NOTE=>> In version 2.1, the INI files can be copied after the system is booted by using OS/2s COPY command, but you may wish to consider adding this CALL to your config.sys file to automate the process.

<<=NOTE=>> In OS/2 Warp, IBM provides a archive feature which can be activated by opening your Desktop settings, click on the Archive Tab, and then click on "Create archive at every system restart". You do not need this CALL if you use this archive feature.

<<=TIP=>> OS2.INI and OS2SYS.INI can also be reconstructed at boot by holding down Alt-F1 during boot BEFORE the OS/2 logo appears. You may need to hold the keys down for at least 20 seconds. During your initial installation of OS/2, the installation process stored a copy of its original INI files in the folder called INSTALL. When you press Alt-F1 at boot, OS/2 moves these "backup" files into the OS/2 folder to replace the current versions. The "CALL" shown above keeps the INI files in your INSTALL folder current.

<<=WARNING=>> If you are using a version of OS/2 before Warp, use the Alt-F1 key combination as a last resort because you may lose all customizing and changes you have made to the WpS.

<<=NOTE=>> The switches used mean the following:

     /T  -- allows xcopying of files with System attribute
     /R  -- allows xcopying of files with Read-only attribute
     /O  -- allows xcopying *onto* a file which has System,
            Read-only, or Hidden attribute.

Thanks to Melissa Woo for pointing out the need for these switches.

9. REXX SUPPORT FROM WITHIN THE CONFIG.SYS FILE.

The question of whether REXX programs can be called from within the config.sys file has been asked by a number of people. Keith Medcalf's response to the question is one of the best I've seen.

Thanks Keith!

----------------------------------------------------------------
  Date: 07-30-93, 08:06                  Number: 483
  From: Keith Medcalf                     Refer: 477
    To: Russ Williams                     Recvd: No
  Subj: REXX from config.sys               Conf: Ibm.Os2se
----------------------------------------------------------------

Wednesday July 28 1993 16:34, Russ Williams wrote to All:

 RW> Can anyone tell me what restrictions there are on running
 RW> REXX programs from config.sys (via "CALL=")?  It doesn't
 RW> work for me, and the on-line help is no help.

You cannot. The DLLs required to support Rexx are not loaded until Presentation Manager is loaded. If you require Rexx support earlier, look for a program call SRVREXX at a fine BBS near you.

Adding the line RUN=SRVREXX.EXE to the config.sys will immediately initialize Rexx. You will then be able to access Rexx with or without PM being loaded.