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.