# 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.

## Syntax:

      DEVICE [HIGH] = [path] XMGR.SYS [/B] [/Mn] [/Nnn] [/PA] [/Tn] [/W] [/Z]

#### [Main menu] [top] (Syntax) [Options] [Comments] [Examples] [See also] [File]

## Options:

      XMGR.SYS usually needs only its /B switch if "booting" with
      JEMM386. XMGR.SYS switch options are as follows:
      /B    Specifies "boot" mode. XMGR.SYS loads in temporary memory
            until upper-memory is enabled by EMM386. Without /B,
            XMGR.SYS will load stand-alone in low memory or directly
            in upper-memory with UMBPCI.
      /Mn   Specifies the temporary area used to load XMGR.SYS 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 = 384K.   /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.SYS
            to use. /M is ignored if XMGR.SYS 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".
      /PA    Specifies use or non-use of PS/2 Port 92h logic to handle the
      /PN    system's "A20" line. /PA indicates "Always" use Port 92h
             logic. /PN indicates "Never" use it and handle "A20" via
             normal keyboard-port logic. If /P is omitted, XMGR "asks
             the BIOS" if the system has Port 92h logic. If not, XMGR
             will use normal "A20" logic. NOTE: If "A20" was enabled
             by DOS before XMGR loads, XMGR does not handle it at all!
      /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.SYS 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.SYS
            will set its own buffer in low memory. An EDR-DOS system must
            OMIT this switch! Without UMBPCI, /W will be ignored.
      /Z    For XMGR or UIDE only, limits their XMS moves to a maximum 2K
            bytes in protected-mode, not 64K. /Z is ignored by real-mode
            systems (UMBPCI etc.) and is not needed if JEMM386 or EMM386
            handle protected-mode. Systems using other VCPI/DPMI/EMM
            drivers must be TESTED, to see if /Z is needed by XMGR or UIDE
            -- BAD schemes allowing NOT enough interrupts in an XMS move
            may still exist! UIDE's old /N4 switch is the same as /Z and
            can still be given. UIDEJR ignores /Z or /N4 and always
            issues standard XMS calls.
      For each switch, a dash may replace the slash, and lower-case letters
      may be used.

#### [Main menu] [top] [Syntax] (Options) [Comments] [Examples] [See also] [File]

## Comments:

      XMGR.SYS 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.SYS can load there directly and provide both upper and
      XMS memory for a DOS system. XMGR.SYS 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.SYS also supports V4.49 and V4.95 EMM386 (MS-DOS
      V6.22 or V7.10). With JEMM386, XMGR.SYS using its /B switch can first
      "boot" into temporary space. After JEMM386 enables upper-memory,
      XMGR.SYS 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.SYS can also load entirely in low memory.
      For more information read "README.txt" in drivers.zip.

#### [Main menu] [top] [Syntax] [Options] (Comments) [Examples] [See also] [File]

## Examples:

      In CONFIG.SYS / FDCONFIG.SYS:
        SHELL=C:\DOS\COMMAND.COM C:\DOS /E:512 /P
        DEVICE=C:\BIN\UMBPCI.SYS
        DEVICE=C:\BIN\XMGR.SYS /W
        DOS=HIGH,UMB
        DEVICE=C:\BIN\JEMM386.EXE I=B000-B7FF X=C800-EFFF NOEMS  ;Optional
        DEVICEHIGH=C:\BIN\UIDE.SYS /S500 /D:CDROM1               ;Or UIDEJR
        DEVICEHIGH=C:\BIN\RDISK.COM /S250                        ;Optional
            ..
            ..  Etc.
            ..

#### [Main menu] [top] [Syntax] [Options] [Comments] (Examples) [See also] [File]

## See also:

     (atapicdd.sys)
      autoexec.bat
      config.sys
      devload
     (emm386)
      fdconfig.sys
     (fdxms)
     (fdxms286)
     (gcdrom.sys)
     (himem)
      himemx
      jemm386
      jemmex
     (mscdex)
      shsucdx
     (udvd.sys)
      uide.sys
     (xcdrom.sys)

#### [Main menu] [top] [Syntax] [Options] [Comments] [Examples] (See also) [File]

## 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.

#### [Main menu] [top] [Syntax] [Options] [Comments] [Examples] [See also] (File)

      Copyright © 2007 Jack Ellis, updated 2011 by W. Spiegl.

      This file is derived from the FreeDOS Spec Command HOWTO.
      See the file H2Cpying for copying conditions.