Command: xmgr.sys
XMGR.SYS is a DOS driver that works as an XMS memory manager.
XMGR.SYS has to be loaded in CONFIG.SYS / FDCONFIG.SYS.
When FreeDOS is already running, you can load XMGR.SYS later
with DEVLOAD.
Syntax:
DEVICE [HIGH] = [path] XMGR.SYS [/B] [/Mn] [/Nnn] [/Tn] [/W]
Options:
XMGR usually needs only its /B switch if "booting" with JEMM386.
XMGR switch options are as follows:
/B Specifies "boot" mode. XMGR loads in temporary memory until
upper-memory is enabled by EMM386. Without /B, XMGR will
load stand-alone in low memory or directly in upper-memory
with UMBPCI.
/Mn Specifies the temporary area used to load XMGR in "boot" mode
and used for UMBPCI upper memory I/O before DOS can post a
"workspace" buffer. Values are:
/M1 = 64K. /M3 = 192K. /M5 = 320K. /M7 = 448K.
/M2 = 128K. /M4 = 256K. /M6 = 512K. /M8 = 512K.
Without /M, /M5 is assumed and the 320K area will be used.
NOTE: A DOS system often may NOT load at address 0 up and
may leave temporary data anywhere in memory! /Mn changes
the temporary area to find a "safe" place for XMGR to use.
/M is ignored if XMGR loads stand-alone.
/Nnn Specifies how many XMS "Handles" can be used by DOS programs.
The value nn may be 48, 80, or 128. If /N is omitted, 48
"Handles" are used and work fine for most systems. A big
system doing much XMS work may need 80 or 128 "Handles".
/Tn Specifies the BIOS requests to use in getting extended memory
as follows:
/T0 Neither "E820h" nor "E801h" requests.
/T1 Memory-list requests only (Int 15h, AX=E820h).
/T2 A dual-area request only (Int 15h, AX=E801h).
/T3 "E820h" requests first, then an "E801h" request.
/T can usually be omitted, which causes /T3 to be assumed.
In addition, XMGR always uses an old 64-MB request, to get
extended memory for /T0, or if the requests specified with
/T1 through /T3 are unsuccessful. Users may need to test
/T1 and /T2 separately, to see if their BIOS accepts them.
A pre-1994 BIOS may not "ignore" /T1 through /T3 properly and
may require /T0 to be used. For compatibility with older
QHIMEM drivers, /T4 through /T7 may be used and work the same
as /T0 through /T3.
/W Specifies use of the DOS "workspace" buffer, for upper-memory
I/O if loading with UMBPCI. If /W is omitted, or if the
DOS system does not have proper workspace logic, XMGR will
set its own buffer in low memory. An EDR-DOS system must
OMIT this switch! Without UMBPCI, /W will be ignored.
Comments:
XMGR is a DOS driver that works as an XMS memory manager. It supports
V3.70+ UMBPCI by Uwe Sieber. After UMBPCI enables upper-memory, XMGR
can load there directly and provide both upper and XMS memory for a DOS
system. XMGR uses an "I/O catcher" with UMBPCI, to intercept diskette
or hard disk I/O above 640K. Such I/O is done through a low memory area,
to avoid DMA trouble in UMBPCI "Shadow RAM". XMGR also supports V4.49
and V4.95 EMM386 (MS-DOS V6.22 or V7.10). With JEMM386, XMGR using its
/B switch can first "boot" into temporary space. After JEMM386 enables
upper-memory, XMGR loads there with no /B switch, copies all its "boot"
data, and takes-over XMS work. Only its XMS "Handles" table stays in
low memory, so EMM386 can always find them at fixed addresses. For a
small XMS-only system, XMGR can also load entirely in low memory.
Examples:
In CONFIG.SYS / FDCONFIG.SYS:
DEVICE=C:\FDOS\BIN\XMGR.SYS /N128 /B
DEVICEHIGH=C:\FDOS\DRIVERS\UIDE.SYS /S125 /D:MYDVD
See also:
atapicdd.sys
autoexec.bat
config.sys
devload
jemm386
fdconfig.sys
gcdrom.sys
mscdex
shsucdx
udvd.sys
uide.sys
xcdrom.sys
File:
Please read this command's lsm file also.
You will find the updated version (internet) here and
the version described in this manual page here.
The lsm file contains information about the name of the programmer,
the download site, and some other command related information.
Copyright © 2007 Jack Ellis, updated 2008 by W. Spiegl.
This file is derived from the FreeDOS Spec Command HOWTO.
See the file H2Cpying for copying conditions.