TITLE: HIMEM.SYS Configuration Parameters DOCUMENT NUMBER: TID1200278 DOCUMENT REVISION: A DATE: 10MAR95 ALERT STATUS: YELLOW README FOR: NA NOVELL PRODUCT and VERSION: Novell DOS 7.0 ABSTRACT: This document discusses the switches available to HIMEM.SYS. HYMEM.SYS is the memory manager provided with Novell DOS 7 that provides memory management capability to 286-based computers. --------------------------------------------------------------------- DISCLAIMER: THE ORIGIN OF THIS INFORMATION MAY BE INTERNAL OR EXTERNAL TO NOVELL. NOVELL MAKES EVERY EFFORT WITHIN ITS MEANS TO VERIFY THIS INFORMATION. HOWEVER, THE INFORMATION PROVIDED IN THIS DOCUMENT IS FOR YOUR INFORMATION ONLY. NOVELL MAKES NO EXPLICIT OR IMPLIED CLAIMS TO THE VALIDITY OF THIS INFORMATION. --------------------------------------------------------------------- HIMEM.SYS CONFIGURATION PARAMETERS HIMEM.SYS (formerly known as HIDOS.SYS) is the memory manager in Novell DOS that provides memory management capabilities for 286 machines. HIMEM.SYS can provide access to upper memory as well as creating XMS 3.0-compliant extended memory. Available features of HIMEM.SYS depend on the specific hardware in use. On a 286-based computer with at least 64KB of extended memory, HIMEM.SYS can relocate the DOS software to high memory (DOS=HIGH in the CONFIG.SYS). Other HIMEM.SYS features are available with certain chip sets or expanded memory boards. You can use these upper memory functions of HIMEM.SYS with one or more of the following: * A chip set such as Chips and Technologies NeAT or NeATsx, LeAPSet or LeAPSetsx, and SCAT * An EMS or EEMS expanded memory board and driver (LIM 4.0-compliant) With any one of these chip sets, HIMEM.SYS can initialize upper memory only if shadow RAM is enabled and available. You can use the hardware setup program of the computer (normally invoked during boot up by a special key sequence) to enable shadow RAM. HIMEM.SYS EMS UPPER MEMORY HIMEM.SYS can also create upper memory from an EMS 4.0-compatible expanded memory board and EMS 4.0 driver by expanding the page frame from the normal 64KB to 128KB. HIMEM.SYS then activates one of two options: * The option /CHIPSET=EMSUMB takes 64KB of the 128KB pageframe and uses it for upper memory. The remaining 64KB is used for EMS support. * The option /CHIPSET=EMSALL takes all 128KB of the page frame and uses it for upper memory. EMS memory is no longer available, but using this method actually creates more upper memory than the typical 120KB of a 386. The EMS memory manager must be loaded before HIMEM.SYS in order for upper memory to be created. Some configurable LIM cards can also provide extended memory at FFFF. If there is 64KB of extended memory at FFFF, HIMEM.SYS will also be able to use the HMA for DOS relocation. HIMEM.SYS can be used on 386 machines with NeATsx or LeAPSetsx chip sets with favorable results. Keep in mind that HIMEM.SYS was not designed to create EMS memory. You can load and configure HIMEM.SYS by using a DEVICE statement in the CONFIG.SYS file. The SETUP or INSTALL utility automatically adds the HIMEM.SYS DEVICE line when the 80286 memory manager option is chosen. The full syntax of the HIMEM statement is: DEVICE = C:\NWDOS\HIMEM.SYS [/CHIPSET=AUTO|chipset|NONE] [/EXCLUDE=start-end] [/INCLUDE=start-end] [/ROM=start-end|AUTO|NONE] [/USE=start-end] [/VIDEO[=[start-]end] [/XBDA] The switch values are determined by the selections made during SETUP or INSTALL or changes made directly to the CONFIG.SYS HIMEM.SYS line. /CHIPSET This switch specifies the chip set or the extended memory type of your computer. You may need to specify this information if the memory manager has difficulty mapping shadow RAM into upper memory. The proper syntax is: /CHIPSET=AUTO|chipset|NONE AUTO allows the memory manager to determine the chip set or memory type automatically. The following are valid chip set options: * NEAT: For the Chips and Technologies NeAT, NeATsx, LeAPSet, or LeAPSetsx chip sets. * SCAT: For the Chips and Technologies SCAT chip set. * AM286ZX: For Advanced Micro devices Am286 ZX/LX chip set. * HEDAKA: For Ever-Success HEDAKA D60 chip set. * EMSUMB: For EMS4.0 or EEMS upper memory blocks. An EMS 4.0 or EEMS memory manager must also be loaded (see previous information about EMS). * EMSALL: For all EMS upper memory (including page frame). This option disables use of EMS by all other programs (see previous information about EMS). * RAM: For permanent upper RAM. You must also use the /USE option to define the location of the RAM to HIMEM.SYS. * NONE: To disable mapping of shadow RAM. HIMEM.SYS will not create any upper memory. /EXCLUDE This switch forces the memory manager to exclude a specified range of upper memory when it searches for usable memory. The proper syntax is: /EXCLUDE=xx00-xxFF The xx00 and xxFF parameters are the starting and ending addresses of the area to be excluded. As implied by the syntax, the addresses must be in hexadecimal. /INCLUDE This switch asks the memory manager to scan a specified range of upper memory for use. The test it uses to determine usability is less stringent the test used when HIMEM.SYS automatically scans upper memory. Thus it can be beneficial both in areas that are not automatically scanned and in those which are. The range of addresses HIMEM.SYS automatically scans is C000-FFFF. Proper syntax is: /INCLUDE=xx00-xxFF The range parameters have the same requirements as /EXCLUDE. /ROM This option copies slow Read-Only Memory (ROM) into fast Random Access Memory (RAM). The proper syntax is: /ROM=start-end|AUTO|NONE The start and end specify the starting and ending addresses of an area of ROM to copy. AUTO copies all available ROM to RAM, and NONE disables copying. /USE This option forces the memory manager to use a specified area of upper memory. This can be dangerous, as no test for usability is performed on the specified range (see the /INCLUDE command for more information). The proper syntax is: /USE=xx00-xxFF The xx00 and xxFF parameters are the starting and ending addresses (in hexadecimal) of the range to use. /VIDEO This option makes unused video memory available to applications. You can specify the address range to use, but the normal method is to use /VIDEO with no parameters. The proper syntax is: /VIDEO=[xx00-]xxFF The range parameters must be valid hexadecimal addresses between A000 and B7FF. Remember that video memory (upper memory immediately above 640KB) is normally reserved for use by the video display adaptor. /XBDA Normally the XBDA (eXtended BIOS Data Area) occupies 1KB at the top of conventional memory. This is usually reflected in a MEM report as total conventional memory of 639KB instead of 640KB. This is sometimes moved to the bottom of conventional memory by the memory manager. If the XBDA is being moved, and this causes problems, use the /XBDA switch. It will prevent relocation of the XBDA. NOTE: Document information was extracted from the July 1994 Novell Application Notes Supplemental report titled "Enhancing the DOS Desktop Environment with Novell DOS 7."