Back to Top Last Update : Thursday, 10-Dec-2009 14:58:12 HKT

XMGR- XMS Memory Manager
UIDE- "Universal IDE" caching driver
RDISK- 2-Gigabyte "RAM Disk" Driver
Last Update: 2009-11-27

drivers.zip ( 129.7 Kb )
XMGR, RDISK, and UIDE are DOS drivers for an 80386+ system using MS-DOS V5.0+, FreeDOS, and all 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. XMGR also runs with JEMM386/JEMMEX, MS-DOS V4.49/V4.95 EMM386 or other similar "EMS managers". It is written to V3.0 XMS Specifications and supports up to 4-GB of memory.

RDISK is a DOS RAM-disk driver, which 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 takes only 656 to 752 bytes of upper- or DOS memory. RDISK is a small "load it and forget about it" driver, for users who do not need resizing or other features.

UIDE is a "Universal IDE" caching driver for DOS. It has internal support for SATA and UltraDMA disks on up to 10 "Legacy" or "Native PCI" IDE controllers. It intercepts and caches DOS Int 13h I-O requests for up to 34 BIOS disks, including A: and B: diskettes. UIDE "calls the BIOS" to handle I-O for SCSI and other non-IDE disks, and it caches their data when I-O is complete. DOS Int 13h drivers for other disks can load before UIDE, and it will cache their data as well. (Drivers using "ASPI" or I-O schemes other than Int 13h are unsupported).

UIDE also supports up to 8 CD/DVD drives, which may be SATA, UltraDMA, or old "PIO mode" models. It accepts file-input requests by SHCDX33E and other CD "Redirectors", and it automatically caches all file data for CD/DVD drives. Data files, audio CD "playback", and "trackwriter" input can all be handled simultaneously on different drives (audio or trackwriter data is not cached).

UIDE uses XMS memory and caches from 5-Megabytes to 4-GIGABYTES of data for disks, diskettes and CD/DVD drives! UIDE uses 4800 bytes of upper-memory for any size cache. A "stand alone" driver (no caching nor diskettes) can be requested using its /B switch, which uses 3856 bytes of upper-memory. UIDE can also load in 640K DOS memory, and its /H switch can load most of the driver in unused HMA space, thus taking only 944 bytes of upper or DOS memory. UIDE has many other options, including new /P and /HL switches for better performance with JEMMEX/EMM386 and other protected mode DOS systems.

The small UIDEJR driver ["junior" UIDE] is available. UIDEJR has no caching or diskette support, but it still handles up to 10 controllers, 36 BIOS disks and 8 CD/DVD drives. It uses only 3296 bytes of upper-memory, and its /N2 switch dismisses all CD/DVD logic to give a disk-only driver using only 1616 bytes. UIDEJR can also load in 640K DOS memory, and its /H switch can load most of the driver in unused HMA space, thus taking only 768 bytes of upper- or DOS memory. UIDEJR usually requests 128K of XMS, so I-O unsuitable for UltraDMA can still be done at UltraDMA speeds.

"Free use" sources are offered with the XMGR, RDISK and UIDE binary files. See their README file for full details about these drivers.

Revision History
27-Nov-09 UIDE /HL switch added, for protected-mode caches to 255-MB on V7.10 MS-DOS and 425-MB+ on others. UIDE /N3 switch error fixed. Other drivers unchanged (re-dated only).
22-Nov-09 UIDE uses more-optimal cache blocks, UIDE /F switch added. UIDE/UIDEJR are no-longer packed by UPX, to avoid loader problems. XMGR/RDISK unchanged (re-dated only).
16-Nov-09 UIDE now caches 4 GIGABYTES of data! UIDE /P switch added for more protected-mode speed. XMGR/UIDE/UIDEJR now run 32 BIOS disks (not 40) as DOS has only 32 drive letters. RDISK unchanged (re-dated only).
4-Nov-09 Fixed UIDE "cache flush" error. Added UIDE /E switch and 25/50-MB caches, deleted all reassembly options. Other drivers unchanged (re-dated only).
19-Oct-09 UIDEJR "VDS lock" error fixed: CD/DVD logic now dismissed only by its /N2 switch. UIDE logic reduced, its source has added re-assembly options. Other drivers unchanged (re-dated only).
15-Oct-09 XMGR/UIDE /K switch deleted, as Win95/98 do NOT like using protected-mode move "calls"! Thanks to Japheth for his "warning"! Other drivers unchanged (re-dated only).
6-Oct-09 UIDE/UIDEJR are back to using normal memory, due to MS-DOS V7.10 kernel "bugs" that cause CRASHES! /R deleted, /H now requests HMA usage "at the user's own risk"! Other drivers unchanged (re-dated only).
3-Oct-09 Fixed UIDE handling of cache XMS errors, NOT a big problem since XMS memory almost never fails! Minor UIDE/UIDEJR size changes. Other drivers unchanged (re-dated only).
7-Sep-09 BAD protected-mode cache init error fixed in UIDE! Other drivers unchanged (re-dated only). UIDE users who load JEMM386 or other protected-mode handlers should download the 7-Sep-09 drivers immediately!! Users who load only UMBPCI (real-mode) are not affected.
3-Sep-09 XMGR now does protected-mode move "calls" (as in UIDE) for faster speed using RDISK, etc. XMGR /K switch added to request "normal" XMS moves, when needed. Other drivers unchanged (re-dated only).
02-Sep-09 README file updated -- FreeDOS users who desire full upper memory must omit UMBPCI and load JEMM386 or JEMMEX only. NO driver changes, all are still dated 30-Aug-2009.
30-Aug-09 BAD "VDS init" ERROR fixed in UIDE/UIDEJR! Other drivers unchanged (re-dated only). Users of UIDE/UIDEJR should download the 30-Aug-09 drivers immediately!
23-Jun-09 RDISK now a .COM file, loadable by CONFIG.SYS or AUTOEXEC. RDISK /: switch added to use any free drive letter, when loaded thru AUTOEXEC or later. RDISKON program added. Corrected UIDE CD/DVD handling of VDS errors. XMGR and UIDEJR unchanged (re-dated only).
9-Jun-09 UIDE/UIDEJR /N3 switch added for no XMS memory. Override of /D: name with UIDE$/UIDEJR$ added if no CD/DVD drives are found. XMGR/RDISK unchanged (re-dated only).
1-Jun-09 UIDE optimized for JEMM386, UIDE /K switch added. JEMM386 is now recommended with UIDE. See the README "Technical Notes" for full details. Other drivers unchanged.
27-May-09 UIDE now uses 992 upper-memory bytes (external-entry logic made an assembly option). UIDE move-memory logic fixed for older 80386/80486 CPUs. CD/DVD entry code in UIDE/UIDEJR improved. XMGR/RDISK unchanged.
19-May-09 Fixed RDISK clear-memory error and added removable-inquiry support. Other drivers unchanged (re-dated only).
15-May-09 Added the RDISK driver, which creates a 2-MB to 2-GIGABYTE "fast" RAM-disk using XMS memory! XMGR/UIDE unchanged.
6-May-09 Added the non-caching UIDEJR ["junior" UIDE] driver, using only 768 upper-memory and 2528 HMA bytes! UIDE/UIDEJR now run up to 10 controllers, 36 disks, 8 CD/DVD drives.
1-May-09 Fixed XMGR "Port 92h" logic error. Added XMGR /PA and /PN switches to control use of "Port 92h" logic.
28-Apr-09 Fixed UIDE save/restore error during CD/DVD init messages.
25-Apr-09 XMGR/UIDE license and FreeDOS prohibition deleted, drivers and sources are again available to all. Corrected UIDE error in posting CD/DVD "return codes". UIDE /R switch re-added to support ROM-DOS.
21-Apr-09 Minor UIDE error (disk "A20 error" code not set) is fixed.
17-Apr-09 UIDE now caches 2 GIGABYTES, using 992 upper-memory bytes and 3760 HMA bytes for any cache size; search tables now use XMS! /L deleted. Fixed BAD audio byte-count error.