XMGR - XMS Memory Manager
XHDD - Hard Disk drive caching driver
XDVD2 - Optical drive caching driver
RDISK - 2-Gigabyte "RAM Disk" Driver

Last Update : 2021-10-19

Binary: DRIVERS.ZIP (23K)

XMGR, RDISK, XHDD, and XDVD2 are DOS device drivers for an 80386+ PC system (XHDD requires an 80486+) using MS-DOS V5.0+ or a fully-compatible variant.

XMGR is a DOS XMS memory manager. It supports V3.70+ UMBPCI by Uwe Sieber and can load directly into UMBPCI upper-memory. It also works with EMM386 or other similar "EMM" drivers and can "boot" into upper memory, using only 304 bytes (minimum) of low DOS memory! XMGR is written to the V3.0 XMS Specifications and handles up to 4 Gigabytes of memory.

RDISK is a DOS RAM-disk driver. It creates a fast disk drive from up to 2 GIGABYTES of XMS memory! AUTOEXEC.BAT can copy critical programs and files to the RAM-disk, and DOS can access them at memory speeds. RDISK is a small "load it and forget about it" driver, for users who do not need resizing or other features.

XHDD is an UltraDMA disk caching driver. It runs up to 8 BIOS disks of any type or size using up to 3 "Legacy" or Native-PCI UltraDMA controllers. XHDD intercepts and caches Int 13h I-O requests for its disks, A: and B: diskettes, and other Int 13h drivers that load first. The XDVD2 driver can be loaded after XHDD to cache CD/DVD data files. Read-Ahead is used for all UltraDMA disks, and XHDD's /O switch will "overlap" disk UltraDMA with caching tasks. Using both gives up to 20% more speed than old UIDE drivers! Write-Through caching is done (NO "delayed" output!). XHDD's cache is in XMS memory and holds from 5 Megabytes to 4 GIGABYTES of data! XHDD accepts digital camera CompactFlash cards and will run them as SATA or IDE UltraDMA disks (not slower "call the BIOS" units as in old UIDE drivers).

XHDD2 is a larger XHDD variant for up to 14 BIOS disks using up to 6 UltraDMA controllers. All other XHDD features, switches, and caching speeds are unchanged (both drivers now assemble from the same XHDD.ASM source). XHDD2 is for workstations and other large DOS systems; the smaller XHDD can handle most "home user" PCs.

XHDD/XHDD2 also offer a basic UltraDMA disk driver (no cache) with their /B switch, for tests and other non-cached tasks. The basic XHDD/XHDD2 can replace old UDMA or XDMA drivers and provide reliable PCI-bus disk detection, many errors fixed, etc.

XDVD2 is a CD/DVD driver for up to 4 SATA, IDE, and old "PIO mode" CD/DVD drives. It reads CD/DVD data files, plays audio CDs, and can input "raw" (trackwriter) data. XDVD2 can work alone; or if the caching XHDD or XHDD2 is present, XDVD2 will call it to cache CD/DVD data files for MUCH faster speed! XDVD2 will run with no XMS driver for minimal DOS "game" systems. It can replace old XCDROM or GCDROM drivers and provides reliable PCI-bus drive detection, fast CD/DVD caching via XHDD/XHDD2, many errors fixed, etc.

XHDD/XHDD2 and XDVD2 can run AHCI disk/CD/DVD drives on controller ports set to "Legacy", "Compatibility", or "Native IDE" mode. See their README file for full details about these drivers, also for example CONFIG.SYS files that can be used with them.

Revision History
17-Oct-21 README protected-mode CONFIG.SYS example files in Section 5 and comments in Section 6 updated. NO changes to any of the drivers; all are still dated 6-Jun-2021.
06-Jun-21 XHDD now handles up to 10 BIOS disks using up to 4 UltraDMA controllers; uses only 16 more HMA bytes! XHDD2 dropped (unneeded now). Other drivers unchanged, re-dated only.
25-Apr-21 XHDD/XHDD2 "extra" XMS logic deleted (was LOSING time), for 1% faster protected-mode speed! Other drivers unchanged (re-dated only).
18-Apr-21 XHDD/XHDD2 re-add /P resident search-table logic for faster cache speed with SSD/NVmE "disks". See the /P notes in Section 6 of this README for a full description. Other drivers unchanged, re-dated only.
14-Mar-21 XHDD/XHDD2 re-add extra XMS logic and better "VDS" code (48 more HMA bytes) for more caching speed with fast SSD/NVmE "disks". Other drivers unchanged, re-dated only.
27-Feb-21 XHDD.SYS and XHDD2.SYS are now 4736 bytes each and assemble from a common XHDD.ASM file, for more reliability and FAR easier updates! Other drivers unchanged, re-dated only.
16-Feb-21 XHDD now handles 8 BIOS disks using 3 UltraDMA controllers, for most user PCs. New XHDD2 runs 14 BIOS disks using 6 ULtraDMA controllers, for workstations or other large DOS systems. Both set ALL cache sizes from 5-MB to 4-GB and will use Read-Ahead and Overlap (with /O) for all caches, to speed up PCs having < 16-MB of memory! Other drivers unchanged, re-dated only.
26-Jan-21 README file updated and minimized. NO driver changes, all are still dated 23-Jan-2021.
23-Jan-21 XHDD 2.5-MB cache and 80386 support dropped (of little use). Run-time XHDD is smaller by 48 HMA bytes. Other drivers unchanged, re-dated only.
27-Dec-20 XHDD1 and XDVD3 dropped re: little user interest. XHDD now supports 5 UltraDMA controllers (was 6). Other drivers unchanged, re-dated only.
23-Nov-20 README file update only: See Section 6 for further HimemSX/JemmSX comments! NO driver changes; all are still dated 16-Nov-2020.
15-Nov-20 XHDD now runs up to 12 disks on 6 controllers, for big "home user" PCs or workstations. XHDDjr renamed XHDD1, XDVDjr renamed XDVD3. Previous XHDD1 dropped. See the README Section 5 for normal driver combinations. Other drivers unchanged, re-dated only.
7-Nov-20 Smaller XHDDjr and XDVDjr drivers added for most "home user" PCs with 1 or 2 disks and CD/DVD drives. Other drivers unchanged, re-dated only.
23-Oct-20 README file update only -- See Section 6 below for "HimemSX" comments!! Other minor README updates, NO change to any drivers; all are still dated 18-Oct-2020.
18-Oct-20 Smaller 12-disk XHDD1 driver added, identical in performance to the 20-disk XHDD, for "home user" PCs. Minor changes to XMGR/XDVD2. Other drivers unchanged, re-dated only.
10-Oct-20 XHDD2 dropped (no user interest). Minor XHDD size changes. Other drivers unchanged, re-dated only.
7-Jun-20 XHDD/XHDD2 corrected for 4-bit controller numbers (not 3-bit as before)! PCs with <= 8 SATA/IDE controllers were not affected. Other drivers unchanged, re-dated only.
30-Jun-20 XHDD2/XDVD2 code corrected for over 10 SATA/IDE controllers. Other drivers unchanged, re-dated only.
23-Jun-20 XHDD back to 20 disks/diskettes and 9 controllers for "user" systems. New XHDD2 now runs up to 32 disks/diskettes on up to 15 SATA/IDE controllers, for PC/104 and other large industrial DOS systems. XMGR's "I-O Catcher" handles up t0 32 disks. Other drivers unchanged, re-dated only.
18-Jun-20 XMGR/XHDD again handle up to 24 disks/diskettes on up to 10 SATA/IDE controllers, and XDVD2 again handles up to 4 CD/DVD drives, for industrial DOS systems. RDISK unchanged (re-dated only).
26-May-20 XMGR and XHDD now do XMS moves in 8K blocks with 486+ CPUs, 4K blocks on slow 386 CPUs. XHDD size reduced by better XMS logic. Other drivers unchanged (re-dated only).
10-May-20 XHDD 2.5-MB cache size and support for 80386 CPUs re-added. See the README Section 6 for info on the 2.5/5-MB caches. Other drivers unchanged, re-dated only.
24-Apr-20 Minor XMGR and XHDD code changes. Minor update re: "cheap BIOS" mainboard use; see the README file Section 6. No change to the other drivers (re-dated only).
22-Nov-19 XHDD search buffer and /P switch deleted; of no value, with /O "overlap". XHDD now uses 720 "base" + 2080 HMA bytes for all caches! Other drivers unchanged, re-dated only.
26-Oct-19 XHDD resident search table deleted; /P now sets a fixed 512 byte search buffer. HUGE memory saving for a very minor speed drop! Other drivers unchanged, re-dated only.
25-Sep-19 XHDD 2.5-MB cache is deleted. Other drivers not changed, re-dated only.
15-Sep-19 Smaller README file, back to 3 CONFIG.SYS examples. XHDD2 driver deleted. Other drivers unchanged, re-dated only.
31-Aug-19 README file updated to fully explain loading the drivers on newer "cheap BIOS" mainboards. NO driver changes -- All are still dated 21-Apr-2019.
21-Apr-19 XHDD2 driver added, for PCs needing a smaller XHDD variant. Minor XMGR message-display problem fixed. Other drivers unchanged, re-dated only.
10-Mar-19 XHDD uses Read-Ahead for a 10-MB+ cache and sets all 10-MB+ cache sizes. Other drivers unchanged, re-dated only.
24-Feb-19 XMGR error on only old 80386 CPUs is fixed. Other drivers unchanged, re-dated only.
16-Feb-19 XHDD /B error in the 2-Feb-19 release (bad return codes) is fixed. XHDD's caching driver was O.K. Other drivers unchanged, re-dated only.
2-Feb-19 XHDD now runs 128-GB+ disks with only LBA48 I-O opcodes, to avoid disk errors crossing over 128-GB! XHDD still runs old disks under 128-GB via LBA28 opcodes. Other drivers unchanged, re-dated only.
16-Dec-18 XHDD /P cache limit raised to 1.5 Gigabytes (uses up to 48K of upper/DOS memory). Minor XHDD size changes. Other drivers unchanged, re-dated only.
11-Nov-18 XHDD's caching and /B drivers use the same entry/exit code, saving 100+ bytes! XHDD.SYS is again under 5K, optional /P code re-added to improve protected-mode speed. Other drivers unchanged, re-dated only.
20-Oct-18 XHDD 2.5-MB cache added for old 4-MB 80386/80486 PCs. See the XHDD /S2 notes in the README file Section 6, for full details. XMGR/XHDD now use fast 6K-byte blocks for real mode XMS moves. Some XHDD real-mode logic re-added, for improved speed. Other drivers unchanged, re-dated only.
6-Oct-18 XHDD real-mode speed increased due to better logic. Other drivers unchanged, re-dated only.
23-Sep-18 XHDD reduced to 5K bytes -- Same functionality, only a tiny real-mode speed change! README file updated re: loading XHDD/XDVD2 with /H on non-compatible DOS systems. Other drivers unchanged, re-dated only.
16-Sep-18 Minor README file updates. XHDD Init logic reduced, minor init changes for XMGR/XDVD2. Other drivers not changed, re-dated only.
30-Jun-18 XMGR UltraDMA "boot" deleted and "I-O Catcher" reinstalled, to avoid /O switch confusion/errors. Related XHDD logic deleted. Protected-mode users MUST see Section 6 of the README file for updated info! Other drivers unchanged, re-dated only.
15-Jun-18 Int 13h logic updated, so XMGR's "boot" and XHDD get faster I-O service. Other drivers unchanged, re-dated only.
31-May-18 README file updated re: XMGR /O and JEMMEX usage. Drivers unchanged, still dated 22-May-2018.
22-May-18 XHDD again handles 80386 CPUs with at least 8-MB memory for its 5-MB cache. LMDD deleted. Other drivers unchanged (re-dated only).
15-May-18 XMGR again handles an 80386 CPU. Other drivers unchanged, re-dated only.
For full details, see the drivers' README file.
20-Apr-18 XHDD error fixed in its Init XMS logic. Other drivers not changed (still dated 31-Jan-2018), user "UHDD" driver set retired, and "XHDD" driver set again offered to everyone.
For full details, see the drivers' README file.
24-Jan-18 /G switch added to XDVD2/RDISK, so "game" PCs need not load any .SYS drivers from AUTOEXEC. Other drivers unchanged (re-dated only).
7-Jan-18 New XMGR /N32 switch to save low memory, new XHDD /O switch for more speed. Other drivers unchanged, re-dated only.
16-Dec-17 XHDD /P switch added for better protected-mode speed and /G added for DOS games. Improved /R switch for RDISK, XHDD and XDVD2. XMGR unchanged, re-dated only.
4-Dec-17 Initial release of the XHDD/XDVD2 driver set for all users, derived from the XHDD/XDVD2 drivers that are now PRIVATE!
History Changelog of UIDE