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