Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ himem(CMD) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought


 himem.sys(CMD)                  19 June 1992                  himem.sys(CMD)


 Name

    himem.sys - manage the use of extended memory

 Syntax


    device=[drive:][path]himem.sys [/hmamin=m] [/numhandles=n] [/int15=xxxx]
    [/machine:xxxx] [/a20control:on|off] [/shadowram:on|off]
    [/cpuclock:on|off]


 Description

    HIMEM.SYS manages programs' use of extended memory and of the high memory
    area (HMA).  This prevents programs from simultaneously using the same
    area of memory.  You install the HIMEM.SYS device driver by adding a de-
    vice command for it in your CONFIG.SYS file.  The device command for
    HIMEM.SYS must precede any device commands for programs or device drivers
    that use extended memory (such as SMARTDRV.SYS, RAMDRIVE.SYS, and
    EMM386.EXE).

 Parameter


    [drive:][path] Specifies the location of the HIMEM.SYS file.


 Switches


    /hmamin=m      Specifies the amount of memory (in kilobytes) a program
                   must use before HIMEM.SYS permits the program to use the
                   high memory area. Valid values for m are in the range 0
                   through 63.  The default value is 0.

    /numhandles=n  Specifies the maximum number of extended-memory-block
                   (EMB) handles that can be used simultaneously.  Valid
                   values for n are in the range 1 through 128.  The default
                   value is 32.  Each additional handle requires an addi-
                   tional 6 bytes of resident memory.

    /int15=xxxx    Allocates the specified amount of extended memory (in
                   kilobytes) for the Interrupt 15h interface.  Some older
                   programs use a conflicting extended-memory scheme.  To use
                   memory allocated by this switch, programs must recognize
                   VDisk headers.  To ensure enough memory is available, add
                   64 to the value you want to specify for xxxx.  Valid
                   values for xxxx are in the range 64 through 65535.  If you
                   specify a value less than 64, the value becomes 0.  The
                   default value is 0.

    /machine:xxxx  Specifies the A20 handler to be used.  An A20 handler is a
                   part of your computer that gives it access to the high
                   memory area. The xxxx value can be any of the following
                   codes or their equivalent numbers:

                   _________________________________________________________________________
                   Code             Number      A20 handler
                   _________________________________________________________________________
                   at                 1         IBM PC/AT
                   ps2                2         IBM PS/2
                   pt1cascade         3         Phoenix Cascade BIOS
                   hpvectra           4         HP Vectra (A and A+)
                   att6300plus        5         AT&T 6300 Plus
                   acer1100           6         Acer 1100
                   toshiba            7         Toshiba 1600 and 1200XE
                   wyse               8         Wyse 12.5 MHz 286
                   tulip              9         Tulip SX
                   zenith             10        Zenith ZBIOS
                   at1                11        IBM PC/AT
                   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

                   Typically, HIMEM.SYS detects which A20 handler is being
                   used.  You might have to specify a value for this setting
                   if the A20 handler reports problems or if you have prob-
                   lems using MS-DOS in the high memory area.  If the machine
                   you are using is not listed, see the README.TXT online
                   file for additional values.  The default value for the
                   /machine:xxxx switch is at or 1.

    /a20control:on|off
                   Specifies whether HIMEM.SYS is to take control of the A20
                   line even if A20 was on when HIMEM.SYS was loaded.  If you
                   specify /a20control:off, HIMEM.SYS takes control of the
                   A20 line only if A20 was off when HIMEM.SYS was loaded.
                   The default setting is /a20control:on.

    /shadowram:on|off
                   Specifies whether HIMEM.SYS is to switch off shadow RAM-
                   random-access memory (RAM) used for read-only memory
                   (ROM)-and add that RAM to its memory pool.  If your com-
                   puter has less than 2 megabytes of RAM, the default set-
                   ting is /shadowram:off.  This parameter is supported only
                   on some computers.

    /cpuclock:on|off
                   Specifies whether HIMEM.SYS is to affect the clock speed
                   of your computer.  If your computer's speed changes when
                   you install HIMEM.SYS, specifying /cpuclock:on might
                   correct the problem.  Enabling this switch slows down
                   HIMEM.SYS.


 Notes


    Default memory allocation

    Only one program can use the high memory area at a time.  If you omit the
    /hmamin=m switch (or set it to 0), HIMEM.SYS reserves the HMA for the
    first program that requests it.  HIMEM.SYS reserves the HMA for the first
    program that meets the memory requirements set by the /hmamin=m switch.
    To ensure the most efficient use of your system's high memory area, you
    should set /hmamin=m to the amount of memory required by the program that
    uses the most HMA memory.

    Loading MS-DOS into the high memory area

    HIMEM.SYS or another XMS driver must be loaded before you can load MS-DOS
    into the high memory area (HMA).  You load MS-DOS into the HMA by using
    the dos=high command in your CONFIG.SYS file.

 Examples

    To install HIMEM.SYS, using the default values, add the following line to
    your CONFIG.SYS file:

       device=himem.sys


    Since no location is specified, MS-DOS searches for HIMEM.SYS in the root
    directory of your startup drive.

    Suppose you want a program to use at least 40K of memory before it has
    access to the high memory area.  To specify this and that HIMEM.SYS is
    located in the DOS directory of drive C, add the following line to your
    CONFIG.SYS file:

       device=c:\dos\himem.sys /hmamin=40


    To install HIMEM.SYS and specify the A20 handler for an IBM PS/2 com-
    puter, add either of the following lines to your CONFIG.SYS file:

       device=himem.sys /machine:ps2

       device=himem.sys /machine:2


    Suppose you want to install HIMEM.SYS and allow simultaneous use of as
    many as 128 extended-memory handles.  Also suppose that HIMEM.SYS is
    located in the DEVICES directory on drive D.  To do this, add the follow-
    ing line to your CONFIG.SYS file:

       device=d:\devices\himem.sys /numhandles=128


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026