XHDD / XDVD2 - HDD and optical drive caching driver
XMGR - XMS Memory Manager
RDISK - 2-Gigabyte "RAM Disk" Driver

Last Update : 2017-10-04

Binary : drivers.zip (Email me for binary, here!)
Configuration Sample : dos710.zip ( 1.8 Kb )
XMGR, RDISK, XHDD, and XDVD2 are DOS drivers for an 80386+ PC system using MS-DOS V5.0+ or similar DOS variants.

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 runs with JEMM386, MS-DOS 4.49/V4.95 EMM386, or other similar "EMS managers". XMGR is written to 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 using 2 Megabytes to 2 GIGABYTES of XMS memory! It loads as a system driver in CONFIG.SYS, or it can load later in AUTOEXEC.BAT or by user command. DOS can copy critical programs or data files to the RAM-disk and access them much faster. RDISK is a small "load it and forget about it" driver, for users who do not need resizing or other features.

XHDD is a disk caching driver for DOS. It runs SATA and IDE UltraDMA disks on up to 9 "Legacy" or "Native PCI" IDE controllers. XHDD intercepts and caches DOS Int 13h I-O requests for up to 22 BIOS disks, including A: or B: diskettes, and including SATA/IDE hard disks of all sizes. Other DOS "Int 13h" drivers can load before XHDD, and it will intercept their I-O, "call the BIOS" to handle read/write requests, and cache their data after I-O is done. ("ASPI" or other drivers with no Int 13h logic are unsupported). The XDVD2 driver (see below) can also call XHDD to cache CD/DVD data files. XHDD does "Read Ahead" with 60-MB+ caches and can "overlap" disk UltraDMA with cache tasks, giving almost 20% faster speed than older UIDE drivers!

XHDD caches from 5 Megabytes to 4 GIGABYTES of data! It uses 784 bytes of upper/DOS memory and 2192 bytes of "free HMA" with its /H switch, or 2976 memory bytes without /H. All its cache tables and data are in XMS memory. XHDD also offers a "basic" UltraDMA disk driver (no caching nor diskettes) with its /B switch, using 576 bytes of upper/DOS memory and 752 bytes of "free HMA" with /H, or 1328 memory bytes without /H. The "basic" XHDD can replace old UDMA/XDMA drivers and offers reliable PCI-bus disk detection, many errors corrected, etc.

XDVD2 is a CD/DVD driver for up to 4 SATA, IDE, or 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 driver is present, XDVD2 will call it to cache CD/DVD data files and directories for MUCH faster speed! (Audio and trackwriting is uncached). XDVD2 uses 144 bytes of upper/DOS memory and 1824 bytes of "free HMA" with its /H switch, or 1968 memory bytes without /H. Caching via XHDD adds only 80 bytes more. XDVD2 can replace old XCDROM/GCDROM drivers and provides reliable PCI-bus drive detection, fast CD/DVD caching capability, many errors corrected, etc.

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

Revision History
10-Oct-17 XHDD protected-mode XMS error logic corrected. Minor XHDD size increase. Other drivers unchanged, re-dated only.
26-Jul-17 XHDD's default and "minimum Read-Ahead" cache sizes are now 50-MB (was 60). Other drivers unchanged, re-dated only.
7-Jul-17 XDVD2 again works with no XMS memory (UltraDMA unused), for minimal DOS game PCs desiring no XMS driver. Minor XHDD size reduction. Other drivers unchanged, re-dated only.
9-Jun-17 Smaller XHDD sizes for /E or caches below 60-MB. XHDD2 is dropped; for PCs unable to do "overlap", use XHDD with no /O switch. Other drivers unchanged, re-dated only.
14-May-17 XMGR/XHDD/XHDD2 now omit "386 errata" code on 486+ systems. Faster XHDD/XHDD2 "XMS" logic; /P can be OMITTED on real-mode systems! Other drivers unchanged, re-dated only.
1-May-17 FreeDOS prohibitions re-added; see Section 2 of the drivers README file.
20-Apr-17 Minor XHDD/XHDD2 /P speed improvement, due to better logic. Other drivers unchanged, re-dated only.
9-Apr-17 XHDD/XHDD2 /P switch added for faster caching speed. XMGR updated and XHDD/XHDD2 "boot" driver deleted re: unsolved problems. See the README file for XHDD /P notes and for CONFIG.SYS options to replace the "boot". Other drivers unchanged, re-dated only.
4-Mar-17 XHDD2 gains slightly more desktop speed, also greater speed for slow laptop disks (does cache work in the last sector "gap" of a disk I-O request, after UltraDMA ends, same as XHDD). Other drivers unchanged, re-dated only.
21-Feb-18 XHDD2 driver added, to use less space on 386/486 systems or for reliability on all PC mainboards ("overlap" omitted). Other drivers unchanged, re-dated only.
21-Jan-17 XHDD /E switch re-added, saving 608 bytes on old 80386/80486 systems that never had UltraDMA! Other drivers unchanged (re-dated only).
13-Jan-17 Minor README updates, FreeDOS restrictions deleted. Minor improvement in XHDD protected-mode speed. Other drivers unchanged (re-dated only).
28-Dec-16 XMGR disk "I-O Catcher" logic re-added, so XHDD's "boot" is needed only for new "cheap BIOS" mainboards. Minor XHDD size reduction. Other drivers unchanged, re-dated only.
27-Nov-16 XMGR and XHDD "GDT" initialization error is fixed. Other drivers unchanged (re-dated only).
15-Nov-16 /R switch for RDISK/XHDD/XDVD2 now "reserves" up to 2-GB of XMS, saving low XMS memory for DOS programs needing it!
3-Sep-16 XHDD /G switch added, for old DOS games that FAIL if unused XMS memory is detected! See the /G notes in the README. Other drivers unchanged (re-dated only).
30-Aug-16 /A and /Q switches re-added for XHDD and XDVD2, re: renewed interest in "old" PC systems for DOS gaming, etc. Other drivers unchanged (re-dated only).
18-Jul-16 Minor updates to all but RDISKON. Old CC releases are not for use with the 18-Jul-16 XHDD or later!
15-Jul-16 XHDD /C switch and separate CD/DVD cache deleted; DOS games should use RDISK instead. XHDD still caches CD/DVD data files. Other drivers unchanged, re-dated only. Use of these drivers with FreeDOS is now PROHIBITED!
22-Jun-16 Minor RDISK "title message" error is fixed. XHDD size now 64 bytes less. Other drivers unchanged (re-dated only).
13-Mar-16 XMGR no longer requires XHDD when using UMBPCI, for systems using only SCSI or other disks. Other drivers unchanged (re-dated only).
25-Feb-16 CC now resets XHDD directly (no BIOS "resets") and XHDD now ignores an "Identify ATA" ATAPI flag, both to allow using UltraDMA CompactFlash cards as non-bootable "hard disks"! Other drivers unchanged (re-dated only).
29-Feb-16 Minor logic "clean up" in XMGR, RDISK, XHDD and XDVD2. NO run-time changes to any of the drivers.
20-Feb-16 XMGR now allows 24 XMS handles for its /B "boot" driver, to save memory. Other drivers unchanged, re-dated only.
15-Feb-16 XHDD /E switch deleted to avoid UMBPCI "hangs"! XHDD must NOT be used with DOS emulators unable to handle "Identify ATA" commands! Other drivers unchanged, re-dated only.
10-Feb-16 XHDD can now handle new "cheap BIOS" mainboards! XHDDBOOT deleted. See the CONFIG.SYS examples in the README for these drivers. Other drivers unchanged (re-dated only).
5-Feb-16 Minor upgrades to XHDDBOOT, XMGR, and XHDD. Other drivers unchanged (re-dated only).
28-Jan-16 README file updated with a CONFIG.SYS example using JEMMEX, saving 544 bytes for protected-mode users! No change to any of the drivers (re-dated only).
24-Jan-16 XMGR disk I-O catcher deleted and XHDDBOOT is now required, if using UMBPCI upper-memory (needed for new "cheap BIOS" programs). Note the CONFIG.SYS examples in the drivers' README file. Other drivers unchanged, re-dated only.
15-Jan-16 README file "CONFIG.SYS" examples upgraded. No changes to any drivers (re-dated only).
5-Jan-16 XHDDBOOT driver added to take-over UltraDMA before an "EMM" driver loads, for systems with a new "cheap" BIOS! No changes to other drivers (re-dated only).
31-Dec-15 README file updated, for new BIOS programs unable to do ANY UltraDMA if in "V86" protected-mode (JEMM386, etc.)! No logic changes to any drivers.
22-Dec-15 XHDD size reduced to 3136 bytes, minor speed improvement in real-mode. Other drivers unchanged, re-dated only.
8-Dec-15 XHDD "XMS move" logic improved and search buffer omitted to save 492 bytes! XHDD-S deleted (unneeded now!). 80386 tests re-added in all drivers, to exit with no crash when loaded on old 8086/80186/80286 systems.
27-Nov-15 XHDD adds a separate CD/DVD cache (/C switch) for DOS games or PCs with high-use CD/DVD drives. XHDD-S adds a small binary-search buffer, now has virtually the same speed as XHDD! /R switch re-added in all but XMGR to reserve low XMS for old DOS games. XMGR unchanged (re-dated only).
22-Nov-15 XHDD adds a separate CD/DVD cache (/C switch) for DOS games and other systems with high-usage CD/DVD drives! Other drivers unchanged (re-dated only).
11-Nov-15 XHDD-S adds UltraDMA "overlap" and a /O switch; still saves 592 bytes, now only 1% slower than the full XHDD! Other drivers unchanged (re-dated only).
30-Oct-15 Small XHDD-S driver added; saves 704 bytes of HMA, still is 10% faster than the old "UIDE"! Minor XHDD code update. Other drivers unchanged, re-dated only.
18-Oct-15 XHDD now uses Read-Ahead for 60-MB+ caches (was 80+). 386 "errata" logic re-added and 10/20/30-MB caches added into XHDD, for better handling of old systems. Other drivers unchanged, re-dated only.
15-Sep-15 XHDD size reduced, possible but unlikely sector-count error eliminated. Other drivers unchanged, re-dated only.
1-Sep-15 XMGR/XHDD /Z switch re-added. 386 CPU "errata" code fixed in XMGR, deleted from XHDD for more speed (UltraDMA disks were unavailable on 386 PCs!). Other drivers unchanged, re-dated only.
25-Jul-15 Minor error-code problem corrected in XHDD. Other drivers unchanged (re-dated only).
20-Jul-15 XHDD uses Read Ahead with its SATA/IDE disks (80-MB+ caches only). XHDD /O switch overlaps disk UltraDMA with cache work -- See the README file notes for /O before using it! Other drivers unchanged (re-dated only).
15-Jul-15 XHDD minimized. /A /Q /R /Z switches and 80386 CPU checks deleted from all drivers for simplicity.
26-Jun-15 README file simplified, XHDD-S deleted. Other drivers not changed (re-dated only).
25-Jun-15 Smaller XHDD-S driver added, to save memory where required. Minor improvement for XHDD's UltraDMA disk input overlap. Other drivers unchanged (re-dated only).
20-Jun-15 Initial XHDD/XDVD2 release, replacing all previous UIDE and XIDE drivers, etc.
Moved! Click here for old XIDE and UIDE history