System File Settings__________________________________________________________________ Windows initialization files contain information that defines your Windowsenvironment. Windows and Windows applications can use the informationstored in these files to configure themselves to meet your needs andpreferences. There are two standard Windows initialization files: + WIN.INI, which primarily contains settings that Windows maintains tocustomize your Windows environment according to your preferences. + SYSTEM.INI, which primarily contains settings that customize Windowsto meet your system’s hardware needs. This document describes only a few of the settings in the SYSTEM.INI file.You can get a more complete listing of the SYSTEM.INI settings bypurchasing the Windows Resource Kit for the Microsoft Windows OperatingSystem Version 3.1. The Resource Kit provides complete technical informationabout Windows version 3.1 for the support professional. It includes a technicalreference manual and a disk containing helpful utilities, system resourceviewers, drivers, and accessories. Format of the SYSTEM.INI File: The SYSTEM.INI file contains several sections, each of which consists of agroup of related settings. The sections and settings are listed in theSYSTEM.INI file in the following format: [section name]keyname=value In this example, [section name] is the name of a section. The enclosingbrackets ([ ]) are required, and the left bracket must be in the leftmost columnon the screen. The keyname=value statement defines the value of each setting. A keynameis the name of a setting. It can consist of any combination of letters and digitsin uppercase or lowercase, and it must be followed immediately by an equalsign (=). The value of the setting can be an integer, a Boolean value, a string,or a quoted string, depending on the setting. There are multiple settings in mostsections. You can include comments in initialization files. You must begin each line of acomment with a semicolon (;). How to Read the Listings in This Document: In this document, settings in SYSTEM.INI are listed alphabetically withinsections. However, the settings do not appear alphabetically in theSYSTEM.INI file. To change a setting, you need to search for it in theappropriate section. The syntax, default value, and purpose appear in the following format. SettingName= Default: The Windows default value for this setting.Purpose: A brief description of the function of the setting. indicates whether the value should be an integer, a letter, a rangeof numbers, a Boolean value, or something else. If you want to enable aBoolean setting, you can set the value to: True, Yes, On, or 1. If you want todisable the Boolean setting, you can set the value to: False, No, Off, or 0. Changing Settings When the Setup program creates the SYSTEM.INI file, it assigns defaultvalues to many of the settings. Other settings have values that correspond tothe type of hardware you are using. Some settings listed in this document do not normally appear in yourSYSTEM.INI file. Most of these settings have a built-in default value that ispresent whether or not the setting appears in SYSTEM.INI. You might need tochange one or more of these values to improve the performance of Windowsor applications with your system. To change the values of the settings described in this document, open theSYSTEM.INI file and edit it by using a text editor, such as Windows Notepad.Do not use a formatting editor, such as a word processor in document mode; itcan corrupt your SYSTEM.INI file. For more information on how to useNotepad, see the Microsoft Windows User’s Guide. Any changes you make to SYSTEM.INI settings do not take effect until yourestart Windows. Caution: Do not change any settings that are not described in this document.If you need to change additional settings, refer to the Windows Resource Kitfor the Microsoft Windows Operating System Version 3.1. Always back upyour SYSTEM.INI file before you change any of its settings. That way, youcan restore the original file if you make incorrect changes. Be careful whenmaking changes to the SYSTEM.INI file. Your system will not work properlyif you edit this file incorrectly. [boot] Section Settings: All settings in this section, except for CachedFileHandles, are required. If youmodify or delete one of these settings, Windows might not work properly.There are no specific default values for these settings; Setup assigns valuesbased on your system configuration. If you want to run a different application when you start Windows, change thefollowing setting. shell= Default: None (Setup initializes this value as PROGMAN.EXE.)Purpose: Specifies the Windows application that runs when you startWindows. Unless you change this setting, Program Manager willrun when you start Windows. For example, if you want to runFile Manager instead of Program Manager when you startWindows, you could change this setting as follows: shell=winfile.exe [NonWindowsApp] Section Settings: The [NonWindowsApp] section contains settings that affect the performanceof non-Windows applications. The [NonWindowsApp] section can contain the following settings. CommandEnvSize= Default: 0 for MS-DOS versions earlier than 3.2. Otherwise, the default isthe value for the /e: option in the shell= command line in theCONFIG.SYS file.Purpose: Specifies the size of the COMMAND.COM environment. Notethat running batch files with the extension .BAT startsCOMMAND.COM, so this setting also applies to batch files. Thevalue for this setting must be either 0 or between 160 and 32768.A value of 0 disables this setting. If the value is too small or toolarge, it will be rounded up to 160 or down to 32768. If the valueis less than the current size of the actual environment, this settingwill be disabled, as if it were set to 0. If you have specified theenvironment size in a PIF file for COMMAND.COM, the PIF-file setting overrides this setting. DisablePositionSave= Default: 0Purpose: When this setting is disabled, the position and fonts used by anon-Windows application are saved in the DOSAPP.INI filewhen you quit the application. If this setting is enabled, theposition and fonts used by a non-Windows application whosesettings have not been previously saved in the DOSAPP.INI filewill not be saved. If enabled, the setting can be overridden foreach non-Windows application by selecting the Save Settings OnExit check box in the Font dialog box in the application. FontChangeEnable= Default: 1 on systems that use Windows version 3.1 grabbers. 0 onsystems that use Windows version 3.0 grabbers.Purpose: Provides the ability to change fonts when running a non-Windows application in a window on a system that uses version3.0 of the grabbers (usually 3.0 display drivers). Windowsversion 3.1 video grabbers (used in 3.1 display drivers) includebuilt-in support for changing fonts when running a non-Windowsapplication in a window. If you are using a 3.0 grabber that hasnot been updated to include the ability to change fonts and youwant to use this feature, enable this setting. However, with thissetting enabled, your screen may lose characters and the cursormay change size and position slightly. LocalTSRs= Default: DOSEDIT, CEDPurpose: Specifies which terminate-and-stay-resident (TSR) programswork properly if they are copied to each instance of a virtualmachine. When you start Windows, it detects any TSR programsthat are currently running. If the TSR is on the LocalTSRs list,Windows copies the TSR to each virtual machine you run. ManyTSRs will not run properly if they are added to this list. Makesure your TSR is fully compatible with Windows and can becopied to a virtual machine before adding it to the list. MouseInDosBox= Default: 1 if an MS-DOS mouse driver is loaded that has the extension.COM or .SYS and supports the use of a mouse with a non-Windows application. Otherwise, the default is 0.Purpose: Specifies whether the mouse is supported when running a non-Windows application in a window. Mouse support for a non-Windows application running in a window is automaticallyavailable if you are using a Windows 3.1 version of the grabbers.If you are using a Windows 3.0 version of the grabbers and youwant mouse support, enable this setting. If you do not wantmouse support, disable this setting. NetAsynchSwitching= Default: 0, unless an application is running that supports the use of theTask Switcher API by the NetBIOS.Purpose: Specifies whether you can switch away from an application(running in standard mode) after it has made an asynchronous network BIOScall. If this setting is disabled, you cannot switch away. Switching away fromsome applications that make these calls might cause your system to fail. OnceWindows detects an asynchronous NetBIOS call, you cannot switch awayfrom the application, even if no more of these calls are made. Enable thissetting only if you are sure that the applications you use will not receivenetwork messages while they are inactive. ScreenLines= Default: 25Purpose: Specifies the number of lines that will be displayed on the screenwhen you run a non-Windows application. An application thatspecifies a different screen mode can override this setting. SwapDisk= Default: The directory that the TEMP environment variable points to; ifthere is no TEMP variable, the default is the root directory ofyour first hard drive (usually labeled C:). If you do not have ahard disk, the default is the root directory of your first floppydisk drive (usually labeled A:).Purpose: Provides the name of the disk drive and directory to whichWindows running in standard mode swaps non-Windowsapplications. [standard] Section Settings The [standard] section contains settings that are specific to running Windowsin standard mode. The [standard] section can contain the following settings. FasterModeSwitch= Default: 0Purpose: Enabling this setting causes Windows running in standard modeto use a faster method of switching from protected to real modeon many 80286-based computers. When this setting is enabled,Windows responds quicker to hardware interrupts, allowingbetter throughput for interrupt-intensive applications, such ascommunications applications. In addition, you should enable thissetting if you are using a Zenith Z-248 system and are losingcharacters while typing, or if you are using an Olivetti M-250-Eand lose mouse functionality. Int28Filter= Default: 10Purpose: Specifies the interval of INT28h interrupts, generated when thesystem is idle, that are made visible (or reflected) to software thatis loaded before Windows. Windows will reflect every nthinterrupt, where n is the value of this setting. For example, avalue of 1 reflects every INT28h interrupt, a value of 2 reflectsevery second INT28h interrupt, and so on. Increasing this valuemight improve Windows performance, but may interfere withsome memory-resident programs, such as network software. Setthis value to 0 to prevent any INT28h interrupts from beingreflected. Setting this value too low (from 1 to 9) might interferewith communications applications. NetHeapSize= Default: 8Purpose: Specifies the size (in kilobytes) of the data-transfer buffer thatWindows running in standard mode allocates in conventionalmemory for transferring data over a network. If an application isnot running correctly, your network may require a larger buffer
than the default value. Increasing this value will decrease theamount of memory available to applications. If no networksoftware is running, this setting will be ignored and no memorywill be allocated. [386Enh] Section Settings The [386Enh] section contains information specific to running Windows in 386enhanced mode, including information used for virtual-memory page swapping. The [386Enh] section can contain the following settings. AllVMsExclusive= Default: FalsePurpose: If enabled, this setting forces all appli
cations to run in exclusivefull-screen mode, overriding all contrary settings in theapplications’ program information files (PIFs). Enabling thissetting might prolong the length of the Windows session whenyou are running network and memory-resident software that isincompatible with Windows. COMBoostTime= Default: 2Purpose: Specifies the amount of time (in milliseconds) to allow a virtualmachine to process a COM interrupt. If, while running acommunications application, you lose keyboard characters on thescreen, you can try increasing this value. COMdrv30= Default: FalsePurpose: If enabled, the Virtual COM Driver (VCD) uses its own copy ofthe interrupt handler for the serial communications driver. Thisimproves performance of your COM ports. Enable this setting ifyou are using a Windows version 3.0 serial communicationsdriver. Disable this setting if you are using the standard Windows3.1 serial communications driver. COM4FIFO= Default: TruePurpose: Specifies whether the FIFO buffer of a COM port’s 16550Universal Asynchronous Receiver Transmitter (UART) shouldbe enabled (True) or disabled (False). If a serial port does nothave a 16550 UART, this setting is ignored. Note: These values are used by Windows for both standard and386 enhanced modes. COMIrqSharing= Default: True for Micro Channel and EISA machines; False for all othermachines.Purpose: Specifies whether COM interrupt lines are sharable betweenmultiple serial ports or with other devices. Enable this setting ifyour machine uses the same interrupt for COM3 or COM4 as itdoes for COM1 or COM2. DOSPromptExitInstruc= Default: YesPurpose: If this setting is enabled, when you start the MS-DOS prompt amessage box appears with instructions on how to exit and switchaway from the MS-DOS prompt. Disable this setting if you donot want to see the message. DualDisplay= Default: See “Purpose” below.Purpose: Normally, when running in 386 enhanced mode, the memorybetween B000:0000 and B7FF:000F is used by the generalsystem unless a secondary display is detected. Enable this settingif you are using a VGA-based color display and wantEMM386.EXE to include this address space as an upper memoryblock (UMB). In addition to enabling this setting, you mustinclude the i= option in the device=EMM386.EXE commandline in your CONFIG.SYS file as follows: device=EMM386.EXE i=B000-B7FF If this setting is disabled, the address range is available on EGAsystems, but not on VGA systems, because the VGA displaydevice supports monochrome modes, which use this addressspace. EMMExclude= Default: NonePurpose: Specifies a range of memory that Windows will not scan to findunused address space. This has the side effect of turning off theRAM and ROM search code for the range. The range (twoparagraph values separated by a hyphen) must be between A000and EFFF. This scanning can interfere with some adapters thatuse the same memory area. The starting value is rounded downand the ending value is rounded up to a multiple of 16K. Forexample, you could set EMMExclude=C800-CFFF to preventWindows from scanning the addresses C800:0000 throughCFFF:000F. You can specify more than one range by includingmore than one EMMExclude line. EMMInclude= Default: NonePurpose: Specifies a range of memory that Windows will treat as unusedaddress space regardless of what may be there. EMMIncludetakes precedence over EMMExclude if you specify ranges thatoverlap. The range (two values separated by a hyphen) must bebetween A000 and EFFF. The starting value is rounded downand the ending value is rounded up to a multiple of 16K. Forexample, you could set EMMInclude=C800-CFFF to ensure thatWindows can use the addresses C800:0000 through CFFF:000F.You may specify more than one range by including more thanone EMMInclude line. EMMPageFrame= Default: NonePurpose: Specifies the starting paragraph where the 64K page frame willbegin when Windows (running in 386 enhanced mode) cannotfind a suitable page frame. Allows an EMM page frame in anarea containing some unused RAM or ROM. For example, youcould set EMMPageFrame=C400 to start the page frame atC400:0000. EMMSize= Default: 65536Purpose: Specifies the total amount of memory available for mapping asexpanded memory. The default value allocates the maximumpossible amount of system memory as expanded memory.Specify a value for this setting if you run an application thatallocates all of the available expanded memory. If this is the case,you cannot create new virtual machines. If this value is zero, noexpanded memory is allocated, but the EMM driver will load. Todisable EMM and prevent the EMM driver from loading, use theNoEMMDriver setting. FileSysChange= Default: Off in 386 enhanced mode; not supported in standard mode.Purpose: Indicates whether File Manager automatically receives messagesanytime a non-Windows application creates, renames, or deletesa file. If this setting is disabled, a virtual machine can runexclusively, even if it modifies files. Enabling this setting can slowdown system performance significantly. InDOSPolling= Default: NoPurpose: If enabled, prevents Windows from running other applicationswhen memory-resident software has the InDOS flag set.Enabling this setting is necessary if the memory-resident softwareneeds to be in a critical section to do operations off an INT21hook, but will slow down system performance slightly. INT28Critical= Default: TruePurpose: Specifies whether a critical section is needed to handle INT28hinterrupts used by memory-resident software. Some networks dointernal task switching on INT28h interrupts. These interruptsmight lock up some network software, indicating the need for anINT28h critical section. If you are not using such software, youmight improve Windows task switching by disabling this setting. LocalReboot= Default: OnPurpose: Specifies whether you can press CTRL+ALT+DEL to quitapplications that cause an unrecoverable error in 386 enhancedmode. If this setting is enabled, you can quit the applicationswithout restarting Windows. If this setting is disabled, pressingCTRL+ALT+DEL will restart your entire system. MaxCOMPort= Default: 4Purpose: Specifies the maximum number of COM ports supported in 386enhanced mode. Change this value if you have more than fourCOM ports installed in your computer. NetAsynchFallback= Default: FalsePurpose: If this setting is enabled, Windows attempts to save a failingNetBIOS request. When an application issues an asynchronousNetBIOS request, Windows attempts to allocate space in itsglobal network buffer to receive the data. If there is insufficientspace in the global buffer, Windows typically fails the NetBIOSrequest. If this setting is enabled, Windows attempts to save sucha request by allocating a buffer in local memory and preventingany other virtual machines from running until the data is receivedor the timeout period (specified by the NetAsynchTimeoutsetting) expires. NetAsynchTimeout= Default: 5.0Purpose: Specifies the timeout period (in seconds) when Windows willenter a critical section in order to service an asynchronousNetBIOS request. It is used only when the NetAsynchFallbacksetting is enabled. This value can include a decimal (such as 0.5). NetDMASize= Default: 32 on Micro Channel machines (IBM PS/2 or compatible); 0 onnon-Micro Channel machines (IBM PC/AT or compatible).Purpose: Specifies the DMA buffer size (in kilobytes) for NetBIOStransport software if a network has been installed. In this case,the buffer size is the larger of this value or the value ofDMABufferSize. NetHeapSize= Default: 12Purpose: Specifies the size (in kilobytes) of the data-transfer buffers inconventional memory that Windows allocates for transferringdata over a network when running in 386 enhanced mode. Allvalues are rounded up to the nearest 4K. Network= Default: None (Setup assigns an appropriate value based on your systemconfiguration.)Purpose: Specifies the type of network you are using with Windows in 386enhanced mode. PSPIncrement= Default: 2Purpose: Specifies the amount of additional memory, in 16-byteincrements, that Windows should reserve in each successivevirtual machine when the UniqueDOSPSP setting is enabled. Thesetting that works best for your machine might vary depending onyour memory configuration and the applications you are running.Valid values are 2 through 64. See the UniqueDosPSP setting formore information. ReflectDosInt2A= Default: FalsePurpose: Indicates whether Windows should consume or reflect DOS INT2A signals. The default means Windows will consume thesesignals and therefore run more efficiently. Enable this setting ifyou are running memory-resident software that relies on detectingINT2A messages. SyncTime= Default: TruePurpose: If this setting is enabled, Windows periodically synchronizes itstime with the computer’s CMOS clock. If this setting is disabled,Windows usually maintains the correct time, unlessTrapTimerPorts is disabled and you are running applications thatcan cause the system time to run faster or slower than the actualtime. This setting is related to the TrapTimerPorts setting. TimerCriticalSection= Default: 0Purpose: Instructs Windows to go into a critical section around all timerinterrupt code and specifies a timeout period (in milliseconds).Specifying a positive value causes only one virtual machine at atime to receive timer interrupts. Some networks and other globalmemory-resident software may fail unless this setting is used.However, using this setting slows down performance and canmake the system seem to stop for short periods of time. TrapTimerPorts= Default: TruePurpose: Specifies whether Windows should trap read and write operationsto the system timer ports that are performed by applications. Ifthis setting is disabled, Windows will not trap these operations,allowing applications that frequently read or write to the timer torun faster. However, this may interfere with ability of Windowsto keep accurate system time. If this setting is disabled, Windowscan usually detect when an application has changed the timerinterrupt interval and then make any adjustments to the time. Ifyour system’s time appears to be running fast or slow, enable thissetting. If you do not want to enable this setting, enable theSyncTime setting. This causes Windows to check the timeperiodically and then make any necessary adjustments. UniqueDOSPSP= Default: True if you are running a network based on Microsoft Networkor LAN Manager. See the NETWORKS.WRI online documentto find out whether the network you are running is one of these.False for all other networks.Purpose: If this setting is enabled, Windows starts every application at aunique address (PSP). Each time Windows creates a new virtualmachine to start a new application, Windows reserves a uniqueamount of memory (i bytes) below the application. For example,if the first application is loaded at address M, the secondapplication is loaded at address M+i, the third at M+2i, and soon. The amount of memory (i) is determined by thePSPIncrement setting. These settings ensure that applications indifferent virtual machines all start at different addresses. Somenetworks use applications’ load addresses to identify the differentprocesses that are using the network. Disabling this setting onsuch networks might cause one application to fail when you quitanother, because the network interprets them as the sameapplication. When this setting is enabled, slightly less memory isavailable for non-Windows applications. VirtualHDIrq= Default: On for AT-compatible computers; Off for all other computers.Purpose: If enabled, Windows in 386 enhanced mode can terminateinterrupts from the hard disk controller, bypassing the ROMroutine that handles these interrupts. Some hard disk drives mightrequire this setting to be disabled in order for interrupts to beprocessed correctly. If this setting is disabled, the ROM routinehandles the interrupts, which slows down system performance.