Microsoft KB Archive/36785

From BetaArchive Wiki

MS-DOS 4.00 README.TXT: HIMEM.SYS User Documentation PSS ID Number: Q36785 Article last modified on 01-05-1989

2.04

MS-DOS

Summary:

The following information was taken from the MS-DOS Version 4.00 Packaged Product README.TXT file.

More Information:

HIMEM.SYS – Installable Device Driver for Extended Memory

Capabilities

HIMEM.SYS, an installable device driver, conforms to the XMS (eXtended Memory Specification) version 2.0. It allows MS-DOS programs on 80286 and 80386 systems with extended memory to access the extended memory independent of machine configuration. It also allows MS-DOS programs to use an extra 64K region of memory for code and data. This region is located just above the 1 MB boundary.

If you have an EMS (Expanded Memory Specification) board, you can allocate part of its memory (64K is the recommended optimum amount) to extended memory by reconfiguring the board and leaving the rest as expanded. Refer to your EMS board manual for more information about reconfiguring your board.

If you are loading other extended memory programs which do not use the XMS interface to manage the extended memory, they should be configured to leave at least 64K of extended memory free.

System Requirements

To use HIMEM.SYS with your computer, you need the following:

  1. An IBM PC/AT, PS/2 (except models 25 and 30), or compatible computer
  2. Extended memory

Installing HIMEM.SYS

To install HIMEM.SYS, include the following command line in your CONFIG.SYS file:

 DEVICE=[d:][path]HIMEM.SYS [/HMAMIN=h] [/NUMHANDLES=n]

When you start your computer, the driver is loaded and the following message is displayed:

 HIMEM:  DOS XMS Driver, Version 2.04 - 8/17/88
 Copyright 1988, Microsoft Corp.

If you also want to install other device drivers that use XMS calls, place the commands that install them in the CONFIG.SYS file after the above command.

HIMEM.SYS Options

Following is a description of the two options you can use with the HIMEM.SYS device driver.

/HMAMIN=h

The function of this option is to specify the minimum amount of memory a Terminate and Stay Resident (TSR) program can use in the High Memory Area (HMA), allowing controlled access to the HMA. Specify the amount of memory in kilobytes. Programs requiring less space will not be placed in the HMA. To ensure the most effective use of this memory area, set the number to the request size of the largest TSR program that will use the HMA. The minimum value is 0, the maximum is 63, and the default is 0. The 0 default allows “first come, first served” access to the HMA. When you use this option, the following message will be displayed:

Minimum HMA size set to <number>

Please note that you will only use the /HMAMIN option when you run two or more TSR programs and/or device drivers that require use of the HMA.

NUMHANDLES=n

The function of this option is to set the maximum number of Extended Memory Block (EMB) handles that can be used at any given time. Specify the amount of memory in kilobytes. The minimum value is 1, the maximum is 128, and the default is 32. Each additional handle requires an additional 6 bytes of resident memory. Because it is possible to exceed the default when running several programs, increase the number of allocated EMB handles using the /NUMHANDLES option. When you use this option, the following message will be displayed:

n extended memory handles available.

Examples

The following command line shows the most common configuration of HIMEM.SYS:

 DEVICE=HIMEM.SYS

The following command line shows a configuration of HIMEM.SYS which ensures that any program using the High Memory Area must use at least 40K of this memory:

 DEVICE=HIMEM.SYS /HMAMIN=40

The following command line shows a configuration of HIMEM.SYS which uses the maximum number of Extended Memory Block handles:

 DEVICE=HIMEM.SYS /NUMHANDLES=128

Messages

The following messages may appear when you install the HIMEM.SYS device driver. Most messages indicate a problem that needs correction before HIMEM.SYS can be installed properly.

  • 64K High Memory Area is available.

You have installed HIMEM.SYS properly.

  • ERROR: HIMEM.SYS requires DOS 3.00 or higher.
    XMS Driver not installed.

You have tried to install HIMEM.SYS on a machine using a version of MS-DOS lower than 3.0. You can only install HIMEM.SYS on systems using MS-DOS Version 3.00 or higher.

  • ERROR: HIMEM.SYS requires an 80x86-based machine.
    XMS Driver not installed.

You have tried to install HIMEM.SYS on a machine other than an 80286 or 80386. HIMEM.SYS can only be installed on a computer system which has an 80286 or 80386 microprocessor

  • ERROR: An Extended Memory Manager is already installed. XMS Driver not installed.

You have tried to install HIMEM.SYS after it has already been installed on your system. HIMEM.SYS can only be installed once.

  • ERROR: No available extended memory was found.

You have tried to install HIMEM.SYS on a computer without any extended memory. HIMEM.SYS can only be installed on a computer with extended memory.

  • ERROR: Unrecognized A20 hardware.

HIMEM.SYS cannot recognize the A20 hardware of your system. If this occurs, it is probably because the system is not one supported by this release of HIMEM.SYS. Contact your computer manufacturer or dealer to see if an XMS driver exists for your machine.

  • WARNING: The High Memory Area is unavailable.

HIMEM.SYS cannot find enough memory to use the High Memory Area. HIMEM.SYS will not be able to process any requests for the High Memory Area. However, HIMEM.SYS will remain installed to process any requests for the Extended Memory Data Blocks.

  • WARNING: The A20 Line was already enabled.

During the installation process, HIMEM.SYS detected the A20 hardware was already enabled. HIMEM.SYS will remain installed and attempt to work properly; however, it will not disable the A20 line.

=================================================================

Copyright Microsoft Corporation 1989.