-------------------------------------------------------------------------- OS/2 2.x CONFIG.SYS FILE DESCRIPTION - Version 7 - October 17, 1993 Compiled By Rick Meigs, 7032 SW 26th Street, Portland, OR, 97219 -------------------------------------------------------------------------- Copyright (c) 1992-93 by Rick Meigs. If you find errors or have some help- ful 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 also. <<=ENCOURAGEMENT=>> This ASCII file may be freely distributed (AND YOU'RE ENCOURAGED TO DO SO) on a not-for-profit basis, but the copyright notice may not be removed nor may the file be modified. VIEWING FILE: For best viewing, use the OS/2 System Editor with word wrap OFF and full screen. PRINTING FILE: Now in 80 column for easy printing. CONTENTS: 1. Caution, warning and disclaimer. 2. Initial Comments. 3. CONFIG.SYS file description. 4. Obscure CONFIG.SYS settings. 5. Sample CONFIG.SYS files. 6. How to restore a damaged CONFIG.SYS file from a backup copy. 7. REXX Support from within the CONFIG.SYS file. -------------------------------------------------------------------------- 1. Cautions, warnings and disclaimers. -------------------------------------------------------------------------- <<=CAUTION=>> Because of the way in which OS/2s Enhance PM Editor (EPM.EXE) handles word wrapping, using it to edit your CONFIG.SYS file is unwise. Best results are obtained using 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. MAKING A BACKUP COPY WILL DO YOU KNOW GOOD IF YOU DON'T KNOW HOW TO RESTORE A DAMAGED CONFIG.SYS FILE WITH THE BACKUP. I HAVE INCLUDED THE PROCEDURE AT THE END OF THIS FILE. <<=REQUIRED READING=>> 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 IN- FORMATION 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. -------------------------------------------------------------------------- 2. Initial Comments. -------------------------------------------------------------------------- This project has become something more than I had anticipated when I first released version one during the summer of 1992. Now in its sixth version and I'm still finding out new things about OS/2s CONFIG.SYS file. Actual- ly, this CONFIG.SYS FILE DESCRIPTION has become as much an optimization "handbook" as it is a description. I assume that someday, all that can be said about the CONFIG.SYS file will have been said. At that point I'll be able to sit back and just let the last update circulate . Even with all the hours I've put into this CONFIG.SYS FILE DESCRIPTION, I still find it often to be a mystery. At least one attempt to "demystify" the file has been made by a major computer rag during 1992, but I found myself more "mystified" than "demystified". Some of the information share was just plain wrong. Still, mystery or not, to get the most out of OS/2 and your system, you MUST spend a little time editing your CONFIG.SYS file. 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 re- sult 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.x has been updated for OS/2 2.1. Unlike the DOS CONFIG.SYS file which is read sequentially, OS/2 reads the entire CONFIG.SYS file before it invokes the commands listed. Therefore, except for a few exceptions which have been noted, it really doesn't matter where a command is placed. -------------------------------------------------------------------------- 3. BEGINNING OF CONFIG.SYS FILE DESCRIPTION -------------------------------------------------------------------------- CALL=C:\OS2\XCOPY.EXE C:\OS2\*.BK1 C:\OS2\*.BK2 CALL=C:\OS2\XCOPY.EXE C:\OS2\*.INI C:\OS2\*.BK1 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 func- tion. 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 are the first line as shown here 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 using the normal OS/2 COPY command, but you may wish to consider adding this CALL to your CONFIG.SYS file to automate the process. <<=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. <<=WARNING=>> Use the Alt-F1 key combination as a last resort because you will lose all customization and changes you have made to the WpS. <<=TIP=>> Add the following additional line, CALL=C:\OS2\XCOPY.EXE C:\OS2\*.BK2 C:\OS2\INSTALL\*.INI, before the first CALL above. This will replace the INI files in the INSTALL folder with a more recent ver- sion. So when you have to use Alt-F1, you'll reboot without losing most of your WpS customization. IFS=C:\OS2\HPFS.IFS /CACHE:512 /CRECL:4 /AUTOCHECK:C IFS stands for "Installable File System". This OS/2 command installs the High Performance File System (HPFS), if you want to use it instead of FAT. 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 my 8MB sys- tem (shown in the table below) is to low in my opinion. If you have 8MB of RAM, set the cache to 512, but keep in mind that you don't want an excessive cache because the memory used comes directly out of memory available for programs, e.g. if you set a 2MB cache on a 6MB system, you will notice a substantial negative performance hit. OS/2s Command Refer- ence and other IBM sources indicate that the maximum cache size for HPFS is currently 2MB, but IBM does not recommend using a cache larger than 1.5MB. If this switch is omitted, the default will be 10% of the available RAM. 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 2.x set 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 5 128/64 128 6 256/64 256 7 256/128 256 8 256/256 384 9 256/256 384 10 - 16 512/512 1024 17 - 32 1024/1024 2048 /CRECL sets the maximum record size for caching, from 2k to 64k in multi- ples of 2k with a default of 4k; and, /AUTOCHECK:nn tells the system to run CHKDSK and sets the drives to be checked at startup. <<=TIP=>> If you are using only FAT partitions, then you should REM this statement and save yourself about 500k of RAM. <<=TIP=>> If you have drive partitions larger than 80 or so megabytes, then HPFS will give you better performance than FAT. On partitions of less than 80MB, most authorities indicate that there is only a small per- formance difference between HPFS and FAT. <<=NOTE=>> Lazy write is on by default. If you want Lazy write off, see the RUN=C:\OS2\CACHE.EXE command. PAUSEONERROR=YES This OS/2 only command tells OS/2 to stop for a moment if it cannot pro- cess a line in the CONFIG.SYS file correctly. If you don't include this statement in your CONFIG.SYS file, the default will be YES. It is gener- ally the best choice since an error message will appear and scroll off the screen so quickly with a NO setting that you may not notice it or be able to read it. PROTSHELL=C:\OS2\PMSHELL.EXE This OS/2 command loads OS/2s user interface program (PMSHELL.EXE) which allows you to make full-screen and window sessions work. The current interface program is the Workplace Shell (WpS), but in theory you could purchase or develop your own user interface and use it instead of the WpS, much like Norton's Desktop is available for the Windows environment. If you delete this line from your CONFIG.SYS file, OS/2 will load CMD.EXE by default. SET COMMAND: The SET command in the CONFIG.SYS file sets up environment variables for the entire system. These environmental variables are stored by OS/2 in memory and are shared by any applications which calls on them. There are a number of these "environment variables" covered below. <<=NOTE=>> These variables can also generally be changed at an OS/2 com- mand prompt. <<=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 return. 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 BOOKSHELF=C:\OS2\BOOK EPMPATH=C:\OS2\APPS; VIDEO_DEVICES=VIO_SVGA VIO_SVGA=DEVICE(BVHVGA,BVHSVGA) WORKPLACE__PROCESS=NO SET USER_INI=C:\OS2\OS2.INI Tells OS/2 the name and locations of the file that contains your desktop setup information and the options saved from various OS/2 applications. OS2.INI is the default file name. This file remains open the entire time OS/2 is booted and operating. It only closes upon Shutdown. 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. <<=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 above or with a program such as WPSBKUP. It is one of several shareware pro- grams design for this purpose. Check your favorite OS/2 BBS. SET SYSTEM_INI=C:\OS2\OS2SYS.INI Tells OS/2 the name and location of its INI file (OS2SYS.INI). OS2SYS.INI 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 and can't be edited. You should consider backing up this file by using the CALL line shown as the first line above or with a program such as WPSBKUP, a shareware program you can obtain on many OS/2 BBSs. This file remains open the entire time OS/2 is booted and operating. It only closes upon Shutdown. If it should become "trashed", MAKEINI.EXE, which ships with OS/2 and is in the OS2 directory, can be used to build a new set of INI files. You will have to boot from an OS/2 floppy to do so. SET OS2_SHELL=C:\OS2\CMD.EXE OS2_SHELL directs OS/2 to load the command-line shell (CMD.EXE) when you ask for an OS/2 command line from the WpS. <<=WARNING=>> Be careful with this line, OS/2 will not start without it. <<=TIP=>> If you wish to run some other command-line shell, such as 4OS2, change this line and the SET COMSPEC=C:\OS2\CMD.EXE line, substi- tuting the appropriate EXE file for CMD.EXE. SET AUTOSTART=PROGRAMS,TASKLIST,FOLDERS This command is used to start parts of the OS/2 WpS. There is one other parameter: CONNECTIONS. This starts any network connection in use when the system was last shutdown. <<=WARNING=>> If you remove any of these statements, then you may not get OS/2 to respond or you will be restricted from accessing portions of the shell. For example, if you leave out FOLDERS, Folders, including the Desktop which is also a folder, can not be opened. If you delete TASKL- IST, then you will not obtain the OS/2 TASKLIST when you press Ctrl-Esc and if PROGRAMS is in included, only programs in your startup folder will be available. SET RUNWORKPLACE=C:\OS2\PMSHELL.EXE This line tells the system what interface program is to be used. In this case it is the Workplace Shell. <<=TIP=>> If you want to run OS/2 with only a command line interface, you can do so by changing this line to read SET RUNWORKPLACE= C:\OS2\CMD.EXE. This brings OS/2 up without the WpS and gives you one screen session. Without the WpS, you lose much of OS/2s functionality, but 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 right now just 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. <<=WARNING=>> If you run without the WpS as noted in the <<=TIP=>> above, you can not perform a "shut down" from a command line. To do a shut down, at a command line, type PMSHELL and press enter. This starts the WpS. Once the WpS is open, you should be able to perform a standard shut down. SET RESTARTOBJECTS=YES This command tells OS/2 what applications to start after you suspend op- erations with or without doing a Shutdown (as in doing a Ctrl-Alt-Del because some faulty program has locked up your system). If this state- ment is not in your CONFIG.SYS, then the default is YES, i.e., start all objects that were running at the time of Shutdown or reboot. Other op- tions 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. If you have one or more programs in the Startup folder and do a shutdown without clos- ing the programs (i.e. left the programs open at shutdown), then reboot, OS/2 will restart the programs left open AND the Startup folder will start another copy. Thus you will have two copies run- ning. Setting 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 recy- cling. <<=TIP=>> You can also circumvent the auto-starting of programs by hold- ing down Ctrl-Shift-F1 all at the same time during boot. It must be done AFTER your mouse pointer is seem (but not to soon after it appears), but before any icons appear. SET COMSPEC=C:\OS2\CMD.EXE This line identifies what OS/2 command-line shell is to be used and where its at. In DOS, COMMAND.COM is equivalent to CMD.EXE. <<=TIP=>> If you wish to run some other command-line shell, such as 4OS2, change this and the SET OS2_SHELL=C:\OS2\CMD.EXE line, substituting the appropriate EXE file for CMD.EXE. LIBPATH=.;C:\OS2\DLL;C:\OS2\MDOS;C:\;C:\OS2\APPS\DLL; This is an OS/2 command. It tells OS/2 where to locate Dynamic Link Li- braries (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 cur- rent 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 environ- ment variable. <<=TIP=>>To reduce the search time for OS/2 to locate the file(s), 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 di- rectory 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 subdirectories listed first. SET PATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2; C:\OS2\INSTALL;C:\;C:\OS2\MDOS;C:\OS2\APPS; Just like in DOS, it tells both DOS and OS/2 where to find programs. SET DPATH=C:\OS2;C:\OS2\SYSTEM;C:\OS2\MDOS\WINOS2; C:\OS2\INSTALL;C:\;C:\OS2\MDOS;C:\OS2\APPS; This is an OS/2 command. It tells OS/2 programs where to look for data files. It is similar to the DOS APPEND command, but unlike APPEND, DPATH only works with programs designed to use it. SET PROMPT=[$P]$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 [$p]. 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 com- mand 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 charac- ters. Bold yellow characters means OS/2 command line. White characters means DOS command line. SET HELP=C:\OS2\HELP;C:\OS2\HELP\TUTORIAL; Tells OS/2 where the help files are located. OS/2 will only look for a program's help files in the path shown. SET GLOSSARY=C:\OS2\HELP\GLOSS; Tells OS/2 where the Glossary file and Master Help file is located. SET DIRCMD=/ON /P This undocumented command 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. 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 ex- cept 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. 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 Single Byte Character Sets (SBCS). Languages such as Japanese, Korean and Chinese can only be represented as data 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 foreground have priority access to disks. The default is YES. If you want a program, like a BBS, running in the background to have equal access to your disks, then change this statement to NO. PRIORITY=DYNAMIC OS/2 automatically assigns processing priorities to each thread of a pro- gram as it begins processing. A thread running in the foreground will generally have priority over a thread running in background. Thread pri- orities 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. This is another OS/2 only command and does not have to be in your CONFIG.SYS. If it is not, then OS/2 defaults to PRIORITY=DYNAMIC. FILES=20 This is a standard DOS command which sets the maximum number of files that DOS can access at the same time. OS/2 sets the default at 20, but some DOS programs may require that you increase this number. The maximum parameter is 255. FILES is for DOS only and has no effect on OS/2 ses- sions which can have up to 64,000 files open at the same time. DEVICE=C:\OS2\TESTCFG.SYS TESTCFG.SYS is used during the install process to test your systems con- figuration. It is also used by the Selective Install process and during device driver installations. <<=NOTE=>> Because this driver is also used by the Selective Install process, you should not be deleted. DEVICE=C:\OS2\PMDD.SYS 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. 30 is the default and 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 information 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 source at IBM, "OS/2 al- lows multiple simultaneous I/O operations to be queued up for both dis- kette 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, you can speed up your system by increasing the number of BUFFERS. But, keep in mind that as you increase the number, you reduce available memory. 30 is the default, but you may wish to ex- periment with a higher number, like 50 or 60. 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. This gives you some more valuable memory. <<=TIP=>> If you are using only HPFS (i.e., no FAT partitions), set BUFFERS to 3. With HPFS you 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. IOPL=YES An OS/2 command that, when set to YES, lets programs that need to bypass OS/2, and its device drivers, and work directly with hardware devices, 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:2500 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 DIS- KCACHE 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 CON- FIG.SYS file line above no switch is specified therefore the de- fault remains in effect, which is ON. <<=TIP=>> Lazy writes can also be turned ON or OFF at an OS/2 com- mand 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. I verified it on my system. You can not 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 fold- er. 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 2,500 milliseconds or about two 1 seconds. I've done this to reduce the chance of data loss. /DISKIDLE: Sets how long your hard disk must be idle before it will accept data from the cache. Express in milliseconds and the de- fault is 1,000 or about one second. In the CONFIG.SYS file line above no switch is specified therefore it defaults remains in ef- fect. /BUFFERIDLE: Sets how long the cache buffer must be idle before its contents MUST be written to your hard disk. Express in millisec- onds and the default is 500 or about 1 second. In the CONFIG.SYS file line above no switch is specified therefore it defaults re- mains in effect. According to one source at IBM, there are two other undocumented parame- ters. I have not pursued their verification, so I can't tell you much. /DIRTYMAX: The threshold number of dirty buffers before immediately flushing of least recently used (LRU) data blocks is needed. /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 cur- rently set at by going to an OS/2 command prompt and keying in the word CACHE and pressing the enter key. DISKCACHE=256,LW,32,AC:C If you are using FAT file system, this command sets up a RAM disk cache. CACHE: The DISKCACHE line noted here sets up a 256k cache. The de- fault cache size is based upon your RAM. See the table below. 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 will hurt perfor- mance by causing to much memory swapping to disk. Maximum FAT cache size is 14MB. If you have formatted your system with only FAT partitions, the default cache size in this statement will be that noted under ONE FILE SYSTEM in the table below. If you have both FAT and HPFS partitions, then OS/2 2.x 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 5 128/64 128 6 256/64 256 7 256/128 256 8 256/256 384 9 256/256 384 10 - 16 512/512 1024 17 - 32 1024/1024 2048 LW: Enables lazy writes. If you don't want lazy write enabled, then remove ",LW". 32: The third number set 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:C: If you want CHKDSK to automatically check your startup partition (usually C), then add this switch to end of the DISKCACHE command: AC:n where n is your startup partition, e.g. AC:C. <<=TIP=>> If you are only using HPFS, then you should REM this statement (don't delete, you may need or want it later) and save some RAM. MAXWAIT=3 This OS/2 command sets the longest period a program will have to wait to execute before OS/2 ups its priority. This makes sure that no program is put on hold forever 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 ap- pears that setting MAXWAIT=2 makes the system a little livelier. 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 only have 4MB of memory (Get MORE memory fast! You need 8MB minimum with OS/2 2.x.) you will see lots of disk activity while you are working with your system. A lot of this is OS/2 swapping memory to your hard disk. Lots of memory swapping will slow down your system and 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. PROTECT allows the allocation and use of protected memory. Unless you are a programmer who needs this set to NOPROTECT, leave the default. <<=NEW 2.1 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. Increase your SWAPPER.DAT file (in the SWAPPATH line below) by the amount of memory you are likely to use when using the COMMIT parameter. <<=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 mean experimenting) I changed it to MEMMAN=NOSWAP. As a result, I had to boot from my OS/2 Installation disk and recover my backup CONFIG.SYS file to get the system to boot. I don't know why, but use caution. <<=NOTE=>> The MOVE/NOMOVE parameter has no effect under OS/2 2.x and is only provided for OS/2 version 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. However, the performance decrease and larger working set will rarely offset the potential of a reduced swap file size. 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 AND PATH is the location where you want the SWAPPER.DAT file to be placed; mmm is a number from 512 to 32767 and specifies how large the SWAPPER.DAT file can 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. In the CONFIG.SYS file line above, the starting size is 4096 or 4MB. The default SWAPPER.DAT size is set based upon the amount of RAM your system has available as shown in the table below. 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 will negatively impact your systems performance because of the additional system over- head. Therefore, if your swap file always exceeds its initial size, con- sider increasing the swap files initial size. <<=TIP=>> Normal operation of OS/2 2.x involves considerable disk activ- ity 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. <<=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. 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. 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=>>. 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 OS/2 command sets the maximum number of threads, from 32 to 4095, that OS/2 can run at the same time. <<=TIP=>> On systems with only 4MB of RAM, set THREADS to 128 to free up memory. If you only have 4MB of RAM, get more fast. You'll be amazed at the difference another 4 or 8MB of RAM will make! <<=TIP=>> If you have more than 8MB of RAM and run mostly OS/2 specific programs, you should be able to improve system responsiveness by increas- ing the number of threads. Why? Because well written OS/2 programs will use threads to improve program performance. Therefore, the more OS/2 programs in use, the more threads that could be needed. PRINTMONBUFSIZE=134,134,134 This OS/2 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 startup if you don't. <<=TIP=>> You may be able to improve printer throughput by increasing buffer size. <<=TIP=>> On systems with less than 6MB of RAM, don't increase the size of these buffers. 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 tel- ephone dialing prefix for the country desired. The table below contains various country codes. 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 prev- ious 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. <<=TIP=>> On systems with only 4MB of RAM, SET KEYS to OFF, you need the memory more than this feature. Even with 8MB of RAM, since I don't use the feature I have turned it off to get a small memory boost. REM SET DELDIR=C:\DELETE,512; To use OS/2s UNDELETE command, you must first establish a directory in which to store the deleted files. To do this, create a directory called DELETE in your root 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 number of files that will be stored in the DELETE directory. If the number of deleted files exceeds the maximum number that you specified, then files are automatically re- moved from the directory on a first-in-first-out basis. BASEDEV=PRINT01.SYS BASEDEV=IBM1FLPY.ADD BASEDEV=IBM1S506.ADD BASEDEV=OS2DASD.DMD BASEDEV installs a base device driver used by OS/2 when it is first started. The statement cannot contain either a drive or path because OS/2 cannot process such information at the stage at which these state- ments are process. Other 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 on 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. SET BOOKSHELF=C:\GAMMA32;C:\OS2\BOOK This command points to the on-line documentation (INF files) provided with OS/2 and to any on-line documentation provided by other OS/2 pro- grams. I have the GAMMATECH utilities installed on my system which con- tains on-line documentation. <<=TIP=>> If you an HPFS partition, copy all of your on-line documenta- tion (INF files) to this partition. Then change this parameter to re- flect 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). REM DEVICE=C:\OS2\APPS\SASYNCDB.SYS This device driver loads asynchronous communications support for the PM Terminal applet. <<=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 you may wish to con- sider deleting the files to save some disk space also. PROTECTONLY=NO An OS/2 command. Allows you to choose between a shared DOS and OS/2 op- erating environment or just an OS/2 environment. If you plan to run only OS/2 programs, then set PROTECTONLY=YES. If you plan to run DOS programs (this includes Windows programs also), then set PROTECTONLY=NO. SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /P This line identifies and loads the DOS command processor COMMAND.COM which you must have to make DOS sessions work. The /p switch keeps the command processor in memory until shutdown. This is the line where you can also specify the size of the DOS environ- ment 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=16,8 A file control block (FCBS) is an outmoded record that gives information about a file to DOS. This CONFIG.SYS file line tells DOS how many FCBS can be open at once, or, when DOS needs to open more FCBS than are avail- able, how many currently open but not active FCBS may be closed to make room for new ones. The syntax is FCBS=a,b where a=the number of FCBS that DOS can have open at one time and b=the number of FCBS DOS cannot close to make room for new FCBS. "a" can be as high as 255. "b" can have a value of 0 to 254, but must be less than "a". 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. 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. <<=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. 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 OS/2 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 pro- grams DOS. 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 ses- sion 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 <---- This equals 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 have need for maximum available RAM in a DOS session and can get by on CGA or MONO, change RMSIZE=639 (See description of this parameter three command lines above) in your CONFIG.SYS file (has to be 639k due to a bug in OS/2). Then in DOS Settings of your applications Settings Notebook, change VIDEO_MODE_RESTRICTION to CGA or MONO. 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 REM DEVICE=C:\OS2\APM.SYS Device driver for ADVANCED POWER MANAGEMENT system used with laptop sys- tems. If you have this line in your CONFIG.SYS file and you are NOT us- ing a laptop, 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 mem- ory. You need the /UMB switch at the end if you want upper memory block support in DOS sessions. <<=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 file line below. One authority said that this driver "provides V86 to Protected Mode transla- tion 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. REM DEVICE=C:\OS2\PCMCIA.SYS REM DEVICE=C:\OS2\MDOS\VPCMCIA.SYS These two drivers are new to version 2.1. They provide support for com- puters that have PC Memory Card International Association (PCMCIA) adapt- ers. <<=TIP=>> If you don't have any PCMCIA devices, then you should REM these drivers to save a little RAM. REM DEVICE=C:\OS2\MDOS\VCDROM.SYS This is a CD-ROM device driver. <<=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. REM IFS=C:\OS2\CDFS.IFS 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. DEVINFO=SCR,VGA,C:\OS2\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 de- vices based upon your systems hardware configuration. This device driver happens to be for the VGA video card. DEVICE=C:\OS2\POINTDD.SYS POINTDD.SYS is the file that contains information on what the mouse pointer looks like and draws it on you screen. <<=WARNING=>> In order for MOUSE.SYS to work effectively, this driver must be loaded by OS/2. Do not remove it from your CONFIG.SYS file. DEVICE=C:\OS2\MOUSE.SYS SERIAL=COM1 QSIZE=10 Lets you use a mouse or track ball with OS/2. This line also identifies the type of mouse you have and which COM port it is on. QSIZE is a number from 1 to 100 which indicates how many mouse actions are to be saved when you execute mouse actions faster than your system can handle them. <<=NOTE=>> The MOUSE.SYS statement must come before the COM.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\COM.SYS Lets you use the communications ports one and two (COM1 and COM2). (If you want to use COM3 or COM4 or change the IRQ of a COM point, see <<=TIP=>> below.) This line MUST appear after any driver that uses the communications ports. Use COM02.SYS for IBM PS/2 model 90 and 95. <<=TIP=>> There is a very good replacement driver for COM.SYS\VCOM.SYS called SIO.SYS\VSIO.SYS. It can be obtained on most OS/2 BBSs. If you utilize a communications packet on a regular basis at high speeds (e.g. 14,400), I recommend you consider SIO.SYS. Replace VCOM.SYS (below) with VSIO.SYS which comes with SIO.SYS. SIO.SYS and VSIO.SYS are Shareware, not Freeware. Register them is 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\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 param- eters 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:\OS2\MDOS\ANSI.SYS This is the traditional DOS command most are familiar with. It only af- fects 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. 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. For example, only error codes are reported. To learn what these codes mean, you need to have IBMs Systems Network Architecture For- mats (GA27-3136-12) or, for a reasonable overview, get OS/2 2.1 Un- leashed, 1993, SAMS Publishing. The switch /E: sets the size of the error-log buffer. The range is from 4kb to 64kb with 8kb as the default. I've not used this switch in the CONFIG.SYS file line above, therefore the default will be used. 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 be 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 states the logging process and must appear AFTER you have installed the LOG.SYS driver noted in the CONFIG.SYS file line above. The two switches are: /E: 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: 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 al- phabet to be used and sss is a secondary alphabet number. 437=US English alphabet and 850=multinational alphabet. The multinational alphabet con- tains 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 below. <<=WARNING=>> Japan, Korean and Chinese require a special version of OS/2 and special hardware. <<=NOTE=>> If there is not a CODEPAGE statement in your CONFIG.SYS file, your keyboard will use an alphabet based on the COUNTRY statement found earlier in your CONFIG.SYS file, but your screen and printer will use their built-in defaults. COUNTRY PRIMARY SECONDARY CODE PAGE CODE PAGE Arabic-speaking 864 850 Asia (English) 437 850 Australia (English) 437 850 Belgium 850 437 Canada (French) 863 850 Czechoslovakia 852 850 Denmark 850 n/a Finland 850 437 France 437 850 Germany 850 437 Hebrew-speaking 862 850 Hungary 852 850 Iceland 850 861 Italy 437 850 Japan 932 437, 850 Korea 934 437, 850 Latin America 437 850 Netherlands 850 437 Norway 850 n/a Peoples Republic of 938 437, 850 China Poland 852 850 Portugal 850 860 Spain 850 437 Sweden 850 437 Switzerland (French) 850 437 Switzerland (German) 850 437 Taiwan 437 850 Turkey 857 850 United Kingdom 437 850 United States 437 850 Yugoslavia 852 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 charac- ter set to be used, e.g. US = United States. See table below for charac- ter set codes. 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 DEVICE=C:\OS2\VDISK.SYS 512 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 de- fault 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 sophis- ticated 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 much be placed after EXTDSKDD.SYS in your CONFIG.SYS file. Check your online Command Reference for information on EXTDSKDD.SYS. -------------------------------------------------------------------------- END OF CONFIG.SYS FILE DESCRIPTION -------------------------------------------------------------------------- 4. Obscure CONFIG.SYS settings. -------------------------------------------------------------------------- What follows are some very obscure CONFIG.SYS file settings. They are here only for informational purposes. Unless you have a very specific need and know what you're doing, please don't experiment with these. SET SHELLEXCEPTIONHANDLER=OFF The WpS has its own exception handling routines which allows it to recov- er from most errors. You can turn this "exception handling" with this command. Could be useful when debugging an object. SET OBJECTSNOOZETIME=45 Useful when programming certain types of object DDLs. 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 millisecond and must be at least 32) and where y is the maximum length (must be less than 65536). <<=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 Helpful for System Administrators and programmers. Assists in the track- ing of system problems by turning TRACE on (or off) and establishing a buffer (4k is default. You can increase this using the command TRACEBUF) to store tracing data. You can also start TRACE from an OS/2 command prompt. -------------------------------------------------------------------------- 5. 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 CALL=C:\OS2\XCOPY.EXE C:\OS2\*.INI C:\OS2\*.BK1 IFS=C:\OS2\HPFS.IFS /CACHE:512 /CRECL:4 /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 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=50 IOPL=YES REM * DISKCACHE=256,LW,32,AC:C MAXWAIT=2 MEMMAN=SWAP,PROTECT SWAPPATH=C:\OS2\SYSTEM 512 4096 BREAK=OFF THREADS=256 PRINTMONBUFSIZE=402,134,134 COUNTRY=001,C:\OS2\SYSTEM\COUNTRY.SYS SET KEYS=OFF 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 PROTECTONLY=NO SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /P FCBS=16,8 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 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:512 /CRECL:4 /AU- TOCHECK:C o Remove the REM from this line: REM DISKCACHE=256,LW FOR CLONE WITH 8MB RAM AND VGA RUNNING BOTH FAT AND HPFS -------------------------------------------------------- Make the following change in the CONFIG.SYS listing above. o Remove the REM from this line: REM DISKCACHE=256,LW FOR CLONE WITH 4 OR 6MB OF RAM AND VGA RUNNING FAT -------------------------------------------------- CALL=C:\OS2\XCOPY.EXE C:\OS2\*.BK1 C:\OS2\*.BK2 CALL=C:\OS2\XCOPY.EXE C:\OS2\*.INI C:\OS2\*.BK1 REM * IFS=C:\OS2\HPFS.IFS /CACHE:512 /CRECL:4 /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 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 MAXWAIT=2 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 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 PROTECTONLY=NO SHELL=C:\OS2\MDOS\COMMAND.COM C:\OS2\MDOS /P FCBS=16,8 RMSIZE=512 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 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 -------------------------------------------------------------------------- 6. HOW TO RESTORE A DAMAGED CONFIG.SYS FILE FROM A BACKUP COPY -------------------------------------------------------------------------- 1. Boot OS/2 from the OS/2 Installation Disk. 2. Insert OS/2 Disk #1 when asked. 3. Press the ESC key when you get the first text screen. By doing this you will be put into OS/2s command-line mode. 4. Assuming that your backup copy of CONFIG.SYS is named CONFIG.SAV, enter the following command: COPY C:\CONFIG.SAV C:\CONFIG.SYS Press the ENTER key. 5. Remove OS/2 Disk #1 and reboot 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\IN- STALL. To restore from this file follow the same steps above, EXCEPT, in step #4 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. -------------------------------------------------------------------------- 7. 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 re- sponse 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 REXX RW> programs from CONFIG.SYS (via "CALL=")? It doesn't work for me, and RW> the online help is no help. You cannot. The DLLs required to support Rexx are not loaded until Pre- sentation 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 ini- tialize Rexx. You will then be able to access Rexx with or without PM being loaded. -------------------------------------------------------------------------- END OF FILE