Command: fdxms286.sys

  FDXMS286.SYS is an extended memory driver for FreeDOS.
  FDXMS286.SYS is for 286 computers. FDXMS is for 386+ computers.
  FDXMS286.SYS has to be loaded in CONFIG.SYS / FDCONFIG.SYS.
  FDXMS286.SYS supports up to 64 MiB of XMS memory. Note that 286s only
  support 16 MiB of memory.
  FDXMS286.SYS relies on the BIOS for XMS moves.
  FDXM286T.SYS is FDXMS286.SYS with TRACE_CODE enabled, which can be
  useful for debugging (mainly FDXMS286).
  FDXMS286.SYS is out of date. You should use HIMEMX or JEMMEX
  instead.

Syntax:

  DEVICE=[drive][path]\fdxms286.sys [options]
         drive  The drive letter, e.g. C:
         path   The directory, e.g. \example\

Options:

  NUMHANDLES=  Sets the number of XMS handles. Default is 32. Minimum
               is two (not much use of XMS without any handles!) and
               maximum is currently 1024. Each handle takes 5 bytes.
  PS           Changes to the particular A20 handling necessary on
               PS/2 machines.
  DELAY=       Number of calls to the delay routine after changing
               the A20 line. If you receive the error message "Unable
               to switch A20 address line", try setting it to a big
               value (say 4000) and see if it helps. Then fine tune
               it as you want as low a value as possible for speed.
               Default is 1. Maximum is 65535 and 0 maps to 65536.
  INT15=<number>
               Amount of extended memory in KiB to leave to be
               allocated through INT15 AH=88 hooking. Remember to
               include 64 KiB reserved for HMA. Minimum is
               64 (64 KiB). Maximum is the smaller value of 0xfbbf
               KiB (˜66 MiB) and the size of the extended memory block
               that starts a 0x110000 minus 1.

  Supported arguments only in FDXM286T.SYS:

  TRACE=<number>
               Sets the trace bitmask. A set bit indicates a trace
               printout should be shown for that function. Default
               is 0.

            The bit for each function is:
            get_version (0x0)         = 0x000001
            request_hma (0x1)         = 0x000002
            release_hma (0x2)         = 0x000004
            global_enable_a20 (0x3)   = 0x000008
            global_disable_a20 (0x4)  = 0x000010
            local_enable_a20 (0x5)    = 0x000020
            local_disable_a20 (0x6)   = 0x000040
            query_a20 (0x7)           = 0x000080
            query_free_xms (0x8)      = 0x000100
            alloc_xms (0x9)           = 0x000200
            free_xms (0xa)            = 0x000400
            move_xms (0xb)            = 0x000800
            lock_xms (0xc)            = 0x001000
            unlock_xms (0xd)          = 0x002000
            get_handle_info (0xe)     = 0x004000
            realloc_xms (0xf)         = 0x008000
            request_umb (0x10)        = 0x010000
            release_umb (0x11)        = 0x020000
            realloc_umb (0x12)        = 0x040000

  TRACE
  Equivalent to TRACE=0xffffffff.

  <number> is positive decimal number or, if it starts with '0x', a
  hexadecimal number.

Comments:

  FDXMS286.SYS has to be loaded in CONFIG.SYS / FDCONFIG.SYS.

Examples:

  IN CONFIG.SYS / FDCONFIG.SYS:
    device=C:\FREEDOS\BIN\fdxms286.sys

See also:

  config.sys/fdconfig.sys
  devload
 (fdxms)
  himemx
  jemm386
  jemmex
  xmgr

  Copyright © 2003 Martin Stromberg, updated 2011 and 2022 by W. Spiegl.

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