Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!WSMR-SIMTEL20.ARMY.MIL!w8sdz From: w8sdz@WSMR-SIMTEL20.ARMY.MIL (Keith Petersen) Newsgroups: comp.binaries.ibm.pc.d Subject: Microsoft XMS driver HIMEM v2.06 uploaded to SIMTEL20 Message-ID:Date: 5 Mar 89 02:31:00 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 137 Now available from Simtel20: Filename Type Bytes CRC Directory PD1: 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: 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