[comp.binaries.ibm.pc.d] Microsoft XMS driver HIMEM v2.06 uploaded to SIMTEL20

w8sdz@WSMR-SIMTEL20.ARMY.MIL (Keith Petersen) (03/05/89)

Now available from Simtel20:

Filename			Type	 Bytes	 CRC

Directory PD1:<MSDOS.SYSUTL>
HIMEM206.ARC			BINARY	  8770  D46DH

HIMEM206.ARC contains HIMEM.SYS version 2.06, released February 7, 1989.
It also contains HIMEM.TXT, the user documentation for HIMEM.SYS.

HIMEM.SYS is an installable device driver which conforms to the XMS
(eXxtended Memory Specification) Version 2.0. It allows MS-DOS
programs on 80286 and 80386 systems with extended memory to access the
extended memory using a standard, machine independent manner. It also
allows MS-DOS programs to utilize a 64KB region of memory located just
above the 1MB boundary for code and data. Microsoft Windows currently
makes use of this area.

If you have an expanded memory (EMS, not XMS) board, you can usually
configure the board so that some part of the memory is allocated to
extended memory (64K would be optimal), leaving the rest as expanded.

If other extended memory programs are also being loaded which do not
use the XMS interface to manage the extended memory, they should be
configured to leave at least 64KB of extended memory free.

The following problems were found in the previous release of HIMEM.SYS
and have been corrected in this release:

1) When a program would call the XMM HIMEM.SYS to query the amount of
free extended memory, HIMEM would incorrectly report back a value
that is 64KB too large. HIMEM was not properly taking the 64KB High
Memory Area (HMA) into its calculations of the size of free extended
memory, which could cause a program to allocate an EMB on top of the
HMA, causing data to be overwritten. This problem has been fixed in
HIMEM.SYS Version 2.06.

2) When using the command line option NUMHANDLES with the value of 0,
the driver would hang. This problem has been fixed in HIMEM.SYS 
Version 2.06.

3) The minor version returned by HIMEM.SYS (the version of the XMM,
as opposed to the version of the XMS the driver is based on), was
incorrectly returning 2.03. It now returns 2.06. This problem has
been fixed in HIMEM.SYS Version 2.06.

4) The HIMEM.SYS source code located in the OEMSRC subdirectory on
the XMS Distribution Diskette will now produce a binary-identical
copy of HIMEM.SYS, which was built using using Microsoft Macro
Assembler (MASM) 5.10. Previous versions of the source code did not
build an exact copy of the distributed copy of HIMEM.SYS. This
problem has been fixed in HIMEM.SYS Version 2.06.

Note that the HIMEM user documentation (HIMEM.TXT) as well as the XMS
programmer documentation (XMS.TXT, included with the XMS distribution
disk) both state that VDISK.SYS is not compatible with HIMEM.SYS.
This is no longer completely true. The VDISK.SYS that is shipped with
IBM PC-DOS 4.00 is compatible with HIMEM.SYS, since it uses a
compatible method of allocating extended memory. This is a
documentation errata, not a change in HIMEM.SYS 2.06.

---
Also available from SIMTEL20:

Filename			Type	 Bytes	 CRC

Directory PD1:<MSDOS.SYSUTL>
XMS20.ARC			BINARY	128841  AD2CH

XMS20.ARC contains the contents of the XMS distribution disk, released
February 7, 1989.  However it is not the OFFICIAL XMS distribution disk.
It does contain all of the files that the current XMS release disk does.
The only item which this archive does not contain is the printed version
of the file SPEC\XMS.TXT. In the domestic United States, to obtain the
latest official XMS release disk, call Microsoft customer service at 
(800)426-9400 and ask for a copy of the "XMS Specification and it's
supplemental diskette." 

This archive, XMS20.ARC, contains the following files:

    README.TXT  general information: read this file first
    HIMEM.SYS   the latest xms driver (v2.06) released Feb. 7, 1989
    CLIB.ARC:   archive of c/masm library code
    OEMSRC.ARC: source code for the latest himem.sys driver (v2.06)
    SPEC.ARC:   archive of xms and himem documentation
    TESTS.ARC:  archive of c and masm xms test code

Some users may not need all of this programmer-oriented information,
and may instead want to obtain just the latest HIMEM.SYS driver, in
the archive HIMEM206.ARC.  This archive contains the latest version
of HIMEM.SYSm 2.06, and the user documentation for this device driver.
However, this is also included in this archive.

The following problems were found in the previous release of HIMEM.SYS
and have been corrected in this release:

1) When a program would call the XMM HIMEM.SYS to query the amount of
free extended memory, HIMEM would incorrectly report back a value
that is 64KB too large. HIMEM was not properly taking the 64KB High
Memory Area (HMA) into its calculations of the size of free extended
memory, which could cause a program to allocate an EMB on top of the
HMA, causing data to be overwritten. This problem has been fixed in
HIMEM.SYS Version 2.06.

2) When using the command line option NUMHANDLES with the value of 0,
the driver would hang. This problem has been fixed in HIMEM.SYS 
Version 2.06.

3) The minor version returned by HIMEM.SYS (the version of the XMM,
as opposed to the version of the XMS the driver is based on), was
incorrectly returning 2.03. It now returns 2.06. This problem has
been fixed in HIMEM.SYS Version 2.06.

4) The HIMEM.SYS source code located in the OEMSRC subdirectory on
the XMS Distribution Diskette will now produce a binary-identical
copy of HIMEM.SYS, which was built using using Microsoft Macro
Assembler (MASM) 5.10. Previous versions of the source code did not
build an exact copy of the distributed copy of HIMEM.SYS. This
problem has been fixed in HIMEM.SYS Version 2.06.

Note that the HIMEM user documentation (HIMEM.TXT) as well as the XMS
programmer documentation (XMS.TXT, included with the XMS distribution
disk) both state that VDISK.SYS is not compatible with HIMEM.SYS.
This is no longer completely true. The VDISK.SYS that is shipped with
IBM PC-DOS 4.00 is compatible with HIMEM.SYS, since it uses a
compatible method of allocating extended memory. This is a
documentation errata, not a change in HIMEM.SYS 2.06.

---

Thanks to Lee Fisher of Microsoft for providing these files for the
SIMTEL20 archives.

--Keith Petersen
Maintainer of the CP/M & MSDOS archives at wsmr-simtel20.army.mil [26.0.0.74]
DDN: w8sdz@wsmr-simtel20.army.mil
Uucp: {ames,decwrl,harvard,rutgers,ucbvax,uunet}!wsmr-simtel20.army.mil!w8sdz