Command: fdxms.sys / fdxxms.sys
FDXMS.SYS is an extended memory driver for FreeDOS.
FDXMS.SYS is for 386+ computers. Fdxms286 is for 286 computers.
FDXMS.SYS has to be loaded in CONFIG.SYS / FDCONFIG.SYS.
FDXMS.SYS supports up to 64 MiB of XMS memory. FDXXMS.SYS supports up
to 4 GiB of XMS memory.
FDXMST.SYS and FDXXMST.SYS is FDXMS.SYS and FDXXMS.SYS with TRACE_CODE
enabled, which can be useful for debugging (mainly FDXMS).
FDXMS.SYS is out of date. You should use HIMEMX or JEMMEX instead.
Syntax:
DEVICE=[drive][path]\fdxms.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
(FDXMS.SYS) or 9 bytes (FDXXMS.SYS).
BIOS Makes FDXMS always call the BIOS through INT15
instead of using its own protected mode switching.
PS Changes to the particular A20 handling necessary on
PS/2 machines.
GEODE Removes delays while changing the A20 line. Reported
to help FDXMS to work on National Semiconductor's
Geode GX1 processor.
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 FDXMST.SYS and FDXXMST.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
query_any_free_xms (0x88) = 0x080000
alloc_any_xms (0x89) = 0x100000
get_extended_handle_info (0x8e) = 0x200000
realloc_any_xms (0x8f) = 0x400000
TRACE
Equivalent to TRACE=0xffffffff.
<number> is positive decimal number or, if it starts with '0x', a
hexadecimal number.
Comments:
FDXMS.SYS has to be loaded in CONFIG.SYS / FDCONFIG.SYS.
Examples:
IN CONFIG.SYS / FDCONFIG.SYS:
device=C:\FREEDOS\BIN\fdxms.sys
See also:
config.sys/fdconfig.sys
devload
(fdxms286)
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.