OS/2 CONFIG.SYS Description

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 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        ========================== 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."
 * IFS=C:\OS2\HPFS.IFS /CACHE:512 /CRECL:16 /AUTOCHECK:CDE /F:2
 * 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.

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

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

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.
 * PAUSEONERROR=YES

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.
 * PROTSHELL=C:\OS2\PMSHELL.EXE

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

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 . 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 COMMAND:

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 USER_INI=F:\OS2\OS2.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 SYSTEM_INI=G:\OS2\OS2SYS.INI

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 OS2_SHELL=D:\OS2\CMD.EXE

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.
 * SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS,CONNECTIONS,LAUNCHPAD

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.
 * SETBOOT /T:5

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

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 RUNWORKPLACE=C:\OS2\PMSHELL.EXE

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 RESTARTOBJECTS=YES

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.
 * SET COMSPEC=C:\OS2\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.

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\VDISK.SYS 512
 * DEVICE=C:\OS2\BOOT\VDISK.SYS 512 <<--- In Warp

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.
 * DEVICE=C:\OS2\MDOS\VNPX.SYS

SET OCRNOTES supports the optical character reader software from Calera. Thanks to Doug Boulter for this and other suggestions!
 * SET OCRNOTES=C:\Faxworks\Calera

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.
 * DEVICE=E:\FaxWorks\Fmd.sys

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 --- 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. 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\LSL.SYS
 * RUN=C:\NETWARE\DDAEMON.EXE

This line differs depending on the network board you have.
 * DEVICE=C:\NETWARE\TOKEN.SYS

No information available.
 * DEVICE=C:\NETWARE\ROUTE.SYS

Provides Novell IPX protocol support and is required for access to a NetWare server.
 * DEVICE=C:\NETWARE\IPX.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.
 * DEVICE=C:\NETWARE\SPX.SYS

Loads a daemon process that handles SPX packets.
 * RUN=C:\NETWARE\SPDAEMON.EXE

Loads the support for client-only Named Pipes support.
 * REM DEVICE=C:\NETWARE\NMPIPE.SYS

Loads support for your workstation to function as a Named Pipes server.
 * REM DEVICE=C:\NETWARE\NPSERVER.SYS

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.
 * REM RUN=C:\NETWARE\NPDAEMON.EXE NP_COMPUTERNAME

This is the CORE REQUESTER MODULE. This line must follow any lines that support IPX, SPX, or Named Pipes.
 * DEVICE=C:\NETWARE\NWREQ.SYS

This installed the networks Installable File System. This IFS enables OS/2 to see the network drives just the same as local drives.
 * IFS=C:\NETWARE\NWIFS.IFS

Another daemon program, but I'm not sure for which process.
 * RUN=C:\NETWARE\NWDAEMON.EXE

Loads support for the NETBIOS protocol.
 * DEVICE=C:\NETWARE\NETBIOS.SYS

Loads the NETBIOS daemon process.
 * RUN=C:\NETWARE\NBDAEMON.EXE

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\VIPX.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 ---
 * DEVICE=C:\NETWARE\VSHELL.SYS

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.

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:\CMLIB\VHAPI.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)."
 * DEVICE=C:\IBMLAN\NETPROG\VNETAPI.OS2

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. 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.
 * SET SHELLEXCEPTIONHANDLER=OFF

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. o REM this line:  IFS=C:\OS2\HPFS.IFS /CACHE:1024 /CRECL:32 /AUTOCHECK:C o 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. o Remove the REM from this line:  REM DISKCACHE=1024,LW,32,AC:C o 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. o Increase the HPFS cache to 2048, (/CACHE:2048). o Increase the HPFS CRECL command to 64, (/CRECL:64). o Change BUFFERS=50 to BUFFERS=75. o 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.