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

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

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

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

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

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

## Examples:

      In CONFIG.SYS / FDCONFIG.SYS:
        DEVICE=C:\FDOS\BIN\XMGR.SYS /N128 /B
        DEVICEHIGH=C:\FDOS\DRIVERS\UIDE.SYS /S125 /D:MYDVD

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

## See also:

      atapicdd.sys
      autoexec.bat
      config.sys
      devload
      jemm386
      fdconfig.sys
      gcdrom.sys
      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 2008 by W. Spiegl.

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