help.hlp (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
HIMEM.SYS
Notes  Examples
────────────────────────────────────────────────────────────────────────────
 
                                 HIMEM.SYS
 
HIMEM is an extended-memory manager──a program that coordinates the use of
your computer's extended memory, including the high memory area (HMA), so
that no two applications or device drivers use the same memory at the same
time.
 
You install HIMEM by adding a <DEVICE> command for HIMEM.SYS to your
CONFIG.SYS file. The HIMEM.SYS command line must come before any commands
that start applications or device drivers that use extended memory; for
example, the HIMEM.SYS command line must come before the EMM386.EXE command
line.
 
Syntax
 
    DEVICE=[drive:][path]HIMEM.SYS [/A20CONTROL:ON|OFF] [/CPUCLOCK:ON|OFF]
    [/EISA] [/HMAMIN=m] [/INT15=xxxx] [/NUMHANDLES=n] [/MACHINE:xxxx]
    [/SHADOWRAM:ON|OFF] [/TESTMEM:ON|OFF] [/VERBOSE]
 
In most cases, you won't need to specify command-line options. The default
values for HIMEM.SYS are designed to work with most hardware.
 
Parameter
 
[drive:][path]
    Specifies the location of the HIMEM.SYS file. HIMEM.SYS should always be
    located on the same drive that contains your MS-DOS files. If the
    HIMEM.SYS file is in the root directory of your startup drive, you don't
    need to include a path. However, you must always include the complete
    filename (HIMEM.SYS).
 
Switches
 
/A20CONTROL:ON|OFF
    Specifies whether HIMEM is to take control of the A20 line even if A20
    was on when HIMEM was loaded. The A20 handler gives your computer access
    to the HMA. If you specify /A20CONTROL:OFF, HIMEM takes control of the
    A20 line only if A20 was off when HIMEM was loaded. The default setting
    is /A20CONTROL:ON.
 
/CPUCLOCK:ON|OFF
    Specifies whether HIMEM is to affect the clock speed of your computer.
    If your computer's clock speed changes when you install HIMEM,
    specifying /CPUCLOCK:ON may correct the problem; however, enabling this
    option slows down HIMEM. The default setting is /CPUCLOCK:OFF.
 
/EISA
    Specifies that HIMEM should allocate all available extended memory. This
    switch is necessary only on an EISA (Extended Industry Standard
    Architecture) computer with more than 16 MB of memory; on other
    computers, HIMEM automatically allocates all available extended memory.
 
/HMAMIN=m
    Specifies how many kilobytes of memory an application must require for
    HIMEM to give that application use of the HMA. Only one application can
    use the HMA at a time; HIMEM allocates the HMA to the first application
    that meets the memory-use requirements set by this option. You can
    specify a value from 0 to 63.
 
    Set /HMAMIN to the amount of memory required by the application that
    uses the most HMA memory.
 
    The /HMAMIN option is not required; the default value is zero. Omitting
    this option (or setting it to zero) specifies that HIMEM allocate the
    HMA to the first application that requests it, regardless of how much of
    the HMA the application is going to use.
 
    The /HMAMIN option has no effect when Windows is running in 386 enhanced
    mode.
 
/INT15=xxxx
    Allocates the amount of extended memory (in kilobytes) to be reserved
    for the Interrupt 15h interface. Some older applications use the
    Interrupt 15h interface to allocate extended memory rather than using
    the XMS (eXtended-Memory Specification) method provided by HIMEM. If you
    use these applications, you can ensure enough memory is available to
    them by setting xxxx to 64 KB larger than the amount required by the
    application.
 
    You can specify a value from 64 to 65535; however, you cannot specify
    more memory than your system has available. If you specify a value less
    than 64, the value becomes 0. The default value is 0.
 
/NUMHANDLES=n
    Specifies the maximum number of extended-memory block (EMB) handles that
    can be used simultaneously. You can specify a value from 1 to 128; the
    default value is 32. Each additional handle requires an additional 6
    bytes of memory.
 
    The /NUMHANDLES option has no effect when Windows is running in 386
    enhanced mode.
 
/MACHINE:xxxx
    Specifies what type of computer you are using. Usually, HIMEM can detect
    your computer type successfully; however, there are a few computers that
    HIMEM cannot detect. On such systems, HIMEM uses the default system type
    (IBM AT or compatible). You might need to include the /MACHINE option if
    your computer is a type that HIMEM cannot detect and if HIMEM does not
    work properly on your system by using the default system type.
 
    Currently, systems that require this option include Acer 1100, Wyse, and
    IBM 7552.
 
    The value for xxxx can be any of the codes or their equivalent numbers
    listed in the following table.
 
Code         Number  Computer type
───────────────────────────────────────────────────────────────────────────
 
at           1       IBM AT or 100% compatible
 
ps2          2       IBM PS/2
 
ptlcascade   3       Phoenix Cascade BIOS
 
hpvectra     4       HP Vectra (A & A+)
 
att6300plus  5       AT&T 6300 Plus
 
acer1100     6       Acer 1100
 
toshiba      7       Toshiba 1600 & 1200XE
 
wyse         8       Wyse 12.5 Mhz 286
 
tulip        9       Tulip SX
 
zenith       10      Zenith ZBIOS
 
at1          11      IBM PC/AT (alternative delay)
 
at2          12      IBM PC/AT (alternative delay)
 
css          12      CSS Labs
 
at3          13      IBM PC/AT (alternative delay)
 
philips      13      Philips
 
fasthp       14      HP Vectra
 
ibm7552      15      IBM 7552 Industrial Computer
 
bullmicral   16      Bull Micral 60
 
dell         17      Dell XBIOS
 
/SHADOWRAM:ON|OFF
    Specifies whether to disable shadow RAM (SHADOWRAM:OFF) or to leave the
    ROM code running from RAM (SHADOWRAM:ON).
 
    Some computers make ROM code run faster by "shadowing" it in RAM──that
    is, by copying the ROM code into faster RAM memory at startup, which
    uses some extended memory. On computers that use shadow RAM and have
    less than 2 MB of RAM, HIMEM usually attempts to disable shadow RAM to
    recover additional extended memory for Windows to use. (HIMEM can
    disable shadow RAM only on certain types of systems.) When HIMEM
    disables shadow RAM, the ROM code runs in the slower ROM instead of RAM;
    therefore, your computer might run slightly slower than it did before.
 
/TESTMEM:ON|OFF
    Determines whether HIMEM performs a memory test when your computer
    starts. By default, HIMEM tests the reliability of your computer's
    extended memory each time your computer starts. This test can identify
    memory that is no  longer reliable; unreliable memory can cause system
    instability or loss of data. HIMEM's memory test is more thorough than
    the standard power-up memory test performed by most computers. To
    prevent HIMEM from performing the memory test, specify /TESTMEM:OFF.
    Disabling the memory test will shorten the startup process. (The default
    setting is /TESTMEM:ON.)
 
/VERBOSE
    Directs HIMEM to display status and error messages while loading. By
    default, HIMEM does not display any messages unless it encounters an
    error. You can abbreviate /VERBOSE as /V. (To display status messages
    without adding the /VERBOSE switch, press and hold the ALT key while
    HIMEM starts and loads.)
 
                                      ♦