Dec 222017
XMS.ZIP Reporting utility for XMS memory. Directly from QuarterDeck BBS. DOS Utility similar to QuarterDeck’s EMS Utility. | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
TPCREAD.ME | 199 | 165 | deflated |
XMS.COM | 7204 | 3142 | deflated |
XMS.DOC | 4006 | 1523 | deflated |
Download File XMS.ZIP Here
Contents of the XMS.DOC file
XMS.COM
XMS.COM allows you to exercise all the functions of the XMS specification
at the DOS prompt. It is a rough analogue of Quarterdeck's EMS.COM, though no
one must judge EMS.COM from their experience with XMS.COM.
When you run XMS with no parameters it reports the state of XMS. For
example:
XMS Version Number: 3.00
XMS Internal Version Number: 6.03
The HMA exists.
The HMA is not available.
The A20 line is enabled.
Total Free XMS: 4128 kilobytes
Largest free EMB: 4112 kilobytes
Total free XMS handles: 49
Handle: 12 Lock count: 0 Length: 17 Address: 0052:8000
Handle: 14 Lock count: 0 Length: 33 Address: 0053:0000
Largest free UMB: 6.9 kilobytes
Address of largest free UMB: B646
NOTE: The address reported in the EMB directory is a 32-bit address.
NOTE: If you use DOS 5 and load DOS=HIGH, XMS will also report the amount of
the HMA that is available and the first available starting address in the HMA.
When you run XMS with the "?" parameter, it returns the syntax for all
the commands. For example:
RequestHMA xxxxx: Requests the HMA, using xxxxx of it (XMS Function 1)
ReleaseHMA: Releases the HMA (XMS Function 2)
GlobalEnableA20: Globally enables address line 20 (XMS Function 3)
GlobalDisableA20: Globally disables address line 20 (XMS Function 4)
LocalEnableA20: Locally enables address line 20 (XMS Function 5)
LocalDisableA20: Locally disables address line 20 (XMS Function 6)
CreateEMB xxxxx: Creates extended memory block of size xxxxxK (XMS Function 9)
FreeEMB xx: Free extended memory block xx (XMS Function A)
MoveEMB aaaa bb cccc:dddd ee ffff:gggg: Moves a block of data aaaaK long from
handle bb at 32-bit offset cccc:dddd (relative to the beginning address
of the handle) to handle ee at 32-bit offset ffff:gggg (relative to the
beginning of the handle) (XMS Function B)
LockEMB xx: Locks EMB xx (XMS Function C)
UnlockEMB xx: Unlocks EMB xx (XMS Function D)
QueryEMB xx: Queries EMB xx (XMS Function E)
ResizeEMB aaaa bb: Resizes EMB bb to aaaaK (XMS Function F)
CreateUMB xxxxx: Creates a UMB of size xxxx bytes (XMS Function 10)
FreeUMB xxxx: Releases UMB at segment xxxxH (XMS Function 11)
ResizeUMB xxxx yyyyy: Resizes UMB at segment xxxxH to size yyyyy (in bytes)
(XMS function 12)
Functions 7 (Query A20) and 8 (Query free XMS) are informational
functions whose responses XMS (with no parameters) reports. There are no
functions above 12.
Please note that there is absolutely no security in the XMS
specification. If some program is using the HMA the XMS specification does
not prevent another program from de-allocating the HMA and using it for its
own purposes. The same is true for de-allocating an EMB or a UMB. If you de-
allocate the HMA or a UMB or EMB another program is using, then use that
memory for other purposes, when the first user of the HMA (or that UMB or EMB)
tries to use that memory, you will crash. There is NO active security in this
program to prevent you from doing any foolish thing the XMS specification
allows.
Current limitations: You cannot allocate a UMB larger than 64k. XMS
does not currently support the "super" XMS functions (These provide support
for users with more than 64 megabytes of RAM; if you do not have more than 64
megabytes of RAM they return the same values as their "sister" regular XMS
functions.)
************************************************************************
* This document may be copied and distributed freely as long as it *
* is distributed in its entirety and it is not distributed for profit. *
* Copyright (C) 1992 by Quarterdeck Office Systems *
************************ E N D O F F I L E *************************
December 22, 2017
Add comments