资源介绍
XMGR RDISK and UIDE DOS Device Drivers
1 Description
XMGR RDISK and UIDE are a group of DOS device drivers for a PC system
with an 80386+ CPU and using MS DOS V5 0+ or equivalent
XMGR is a DOS driver which works as an "XMS manager" and provides up to
4 GB of XMS memory XMGR has direct support for V3 70+ UMBPCI by Uwe
Sieber After UMBPCI enables upper memory XMGR loads there and will
provide both upper and XMS memory to a DOS system XMGR uses an "I O
Catcher" with UMBPCI Disk diskette I O above 640K is trapped by XMGR
and done using a low memory area as UMBPCI "Shadow RAM" cannot do DMA
XMGR also runs with JEMM386 or MS DOS EMM386 With EMM drivers XMGR
using its B switch first boots in temporary space When upper memory
gets enabled by the EMM driver XMGR loads there with no B copies all
its boot data and takes over XMS work For a small XMS only system
XMGR can also run entirely in low 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 and data to the RAMdisk where they will
be read or written at memory speed If loaded after CONFIG SYS RDISK
files can be assigned to any free DOS drive letter using its : switch
RDISK runs with V2 0 or V3 0 XMS managers 60 MB maximum for V2 0 XMS
It uses only 656 to 752 bytes of upper memory depending on the system
and it can also load in 640K DOS memory RDISK is a simple and small
RAMdisk driver for use when resizing or other features are not needed
UIDE is a DOS "Universal IDE" caching driver It intercepts "Int 13h"
BIOS I O requests and caches data for up to 30 BIOS disks including A:
or B: diskettes and including hard disks of any size UIDE can handle
48 bit LBA or 24 bit CHS I O calls by new or old DOS systems It will
handle up to 10 "Legacy" or "Native PCI" IDE controllers UIDE "calls
the BIOS" for diskettes and intercepts I O for "Int 13h" drivers loaded
first thus UIDE caches ALL drives on a DOS system "ASPI" and other
"non Int 13h" drivers are unsupported UIDE also detects and runs up
to 8 SATA IDE and old "PIO mode" CD DVD drives It can cache CD DVD
data and directories for MUCH greater speed and it will play audio CDs
and handle "raw" trackwriter input audio and "raw" input is uncached
UIDE caches 5 Megabytes to 4 GIGABYTES of data It can set up to four
separate caches of its own "Common" User 1" "User 2" and "CD DVD"
and it also permits caching requests from user drivers to "bring along"
their OWN caches See the UIDE TXT file for full details UIDE uses
4816 bytes of upper DOS memory for 1 to 4 caches of any size All its
data or cache tables use XMS memory A "stand alone" UIDE B switch
no cache or diskettes can be used in test or diagnostic work and takes
3664 bytes of upper DOS memory If its N2 switch is given UIDE will
omit all CD DVD logic saving 1744 bytes Its "CD DVD" cache can then
become a 3rd user driver cache if needed UIDE"s H switch will load
most of the driver into "free HMA" thus using only 928 bytes of memory
832 "stand alone"
The small UHDD and UDVD2 drivers are also available for those who want
only non caching drivers or a smaller size driver set for use on "boot"
diskettes etc UHDD can cache 26 SATA IDE disks of any size on up to
10 controllers A: or B: diskettes included It now has all four UIDE
caches takes 3280 bytes for caching and it can set a 1408 byte "stand
alone" driver no cache with its B switch UHDD can put most of its
code in HMA space with its H switch taking only 832 bytes 640 "stand
alone" UDVD2 handles up to 6 SATA IDE or old PIO mode CD DVD drives
it tests up to 10 controllers on loading and takes 2000 bytes or 144
with its H switch Caching by UHDD adds 96 bytes and UDVD2 "shares"
UHDD"s I O buffer in XMS for input unsuited to UltraDMA If UHDD is
not used UDVD2 will take 128K of XMS as its buffer or it handles such
input in PIO mode if XMS is not available UHDD + UDVD2 require only
10K of disk file space and provide most UIDE features
The small RDISKON COM program can "re enable" a DOS drive used by RDISK
if a "format" command is accidentally issued to it This disables the
drive on some systems Entering RDISKON L at a DOS command prompt
where L is the desired drive letter A to Z will re enable the drive
The small CC COM "Clear Cache" program can help verify files written by
UIDE Entering CC at the DOS command prompt sends a BIOS "reset" to
all disks making UIDE flush its "Common" cache Data from the disk
NOT data still in cache can then be compared to the original output
2 NO Warranties
XMGR RDISK and UIDE are offered at no cost "as is" "use at your own
risk" and with NO warranties not even the implied warranty of FITNESS
for any particular purpose nor of MERCHANTABILITY
Driver questions and comments may be addressed to the E Mail of Johnson
Lam <johnsonlam hk@gmail com>
3 Revision Summary
19 Oct 14 UHDD now "overlaps" cache work during UltraDMA disk output
and the disk sector "gap" at I O end for greater speed
UHDD M switch deleted 256 byte binary search buffer is
now permanent Other drivers unchanged re dated only
27 Sep 14 UHDD now sets all 4 UIDE caches New UHDD M switch sets
a 512 byte binary search buffer for more speed
26 Jan 14 UIDE error handling CD DVD media changes for "stand alone"
mode is fixed UHDD offers "Common" & "CD DVD" caches
12 Jan 14 UIDE UD switch deleted many problems UIDE now offers
"User 1" and "User 2" caches "Stand alone" UHDD UDVD2
re added for use as needed
12 Dec 13 UHDD UDVD2 deleted low use UIDE N2 dismisses CD DVD
logic UIDE C switch added user caching improved
21 Nov 13 UHDD old style "stand alone" driver re added
14 Nov 13 UHDD UDVD2 "private" caches deleted unneeded and unused
25 Sep 13 BAD error fixed in UDVD2 re: locating UHDD MANY Thanks
to Japheth for his tests and exact analysis
9 Sep 13 Possible but unlikely UHDD exit errors corrected UDVD2
UIDE now use all 32 CD DVD LBA bits in caching calls
2 Sep 13 Possible UDVD2 "media change" error fixed UHDD N1 size
reduced
26 Aug 13 UHDD now has its "Common" cache and handles "private" user
driver caches UDVD2 etc can now set a private cache
28 Jul 13 UHDD UIDE binary search buffer and F switch deleted
30 Apr 13 UHDD UDVD2 can now run without XMS lower speed for tests
and FreeDOS "scripts" UDVD2 can now do "raw" input
15 Oct 12 UHDD UIDE again detect A: and B: diskettes from BIOS data
NOT from "Int 13h" calls that FAIL with an LS 120 drive
2 Aug 12 UHDD "disk only" caching driver added UDVD2 caches CD
DVD data if UHDD is also loaded UIDEJR deleted New
UD switch in UDVD2 UIDE for CD DVD directory caching
9 Jul 12 UIDE UIDEJR device select error for master + slave CD DVD
units on one IDE channel is corrected Many Thanks to
Doug Beneway for finding this error
25 Jun 12 UIDE2 deleted: Not enough added speed complex to use
17 Jun 12 UIDE UIDE2 UIDEJR A switch init of 2 "Old IDE" channels
and CD audio "Q" status data corrected Many Thanks to
Japheth for his research and audio test program
29 May 12 UIDE and UIDE2 check for diskettes via Int 13h avoid DPTE
tests if no PCI BIOS let the BIOS do I O for disks with
bad DPTE data all re: VirtualBox BUGS
24 Feb 12 UIDE UIDE2 "64K DMA boundary error" fixed may affect only
year 2000 chips or older
16 Oct 11 UIDE M switch deleted search buffer is always 512 bytes
UIDE SYS back to 7 5K UIDE S dropped UIDE2 improved
7 Oct 11 All UIDE drivers updated to avoid BIOS "DPTE" ERRORS: Bad
DPTE data for USB sticks Many Thanks to Daniel Nice
9 Sep 11 UIDE2 re added UIDE S and UIDE2 handle 6 CD DVD drives
22 Jul 11 UIDE E switch added for DOS emulators VirtualBox etc
20 May 11 UIDE S "short" UIDE added for systems with limited HMA
25 Apr 11 BAD "code mods" init error corrected for UIDE UIDEJR and
RDISK XMGR not affected
5 Dec 10 UIDE UIDEJR R15 and R63 switches added to handle old DOS
"games" Thanks Guillermo Grana Gomez
28 Nov 10 Minor updates: UIDEJR audio track number error corrected
XMGR faster in protected mode Added XMGR and UIDE Z
15 Aug 10 UIDE audio track number error corrected Thanks Nagatoshi
Uehara
10 Aug 10 UIDE binary search buffer added Using $ in CD DVD names
fixed in UIDE UIDEJR Thanks Japheth
4 Jul 10 README file update XMGR UIDE can use "Native IDE" mode
same as "Legacy" "Compatibility" for AHCI mainboards
28 Jun 10 XMGR updated for AHCI see the README sec 7 for details
10 Jun 10 UIDE now ignores "removable HARD disks" size reduced
16 Nov 09 UIDE now caches 4 GIGABYTES of data
6 Oct 09 UIDE and UIDEJR H requests HMA use "at the user"s risk"
2 Sep 09 README file updated FreeDOS users who desire full upper
memory must omit UMBPCI and load JEMM386 JEMMEX only
23 Jun 09 RDISK now a COM file RDISK : switch RDISKON program
added Corrected UIDE CD DVD handling of VDS errors
9 Jun 09 UIDE UIDEJR N3 switch added for no XMS memory Override
of D: name by UIDE$ UIDEJR$ added for no CD DVD drives
15 May 09 Added RDISK
6 May 09 Added UIDEJR
1 May 09 Fixed XMGR "Port 92h" logic error Added XMGR PA and PN
switches to control use of "Port 92h"
25 Apr 09 XMGR UIDE license and FreeDOS prohibition deleted drivers
and sources are again available to all
4 Switch Options
XMGR usually needs only its B switch if "booting" with an EMM driver
All XMGR switch options are as follows:
B Specifies "boot" mode XMGR loads in temporary memory until
upper memory is enabled Without B XMGR loads stand
alone in low memory or direct to upper memory with UMBPCI
See the CONFIG SYS examples in section 5
Mn Specifies a temporary area for loading XMGR in "boot" mode or
for UMBPCI upper memory I O before DOS posts a "workspace"
buffer Values are:
M1 64K M3 192K M5 320K M7 448K
M2 128K M4 256K M6 384K M8 512K
Without M M5 is assumed and the 320K area will be used
NOTE: DOS systems may NOT load at address 0 and may leave
temporary data anywhere in memory Mn helps to find a
"safe" area for XMGR to use M is ignored if XMGR loads
stand alone
Nnn Specifies how many XMS "Handles" can be used by DOS programs
The value nn may be 48 80 or 128 If N is omitted 48
"Handles" are used A big system doing much XMS work may
need 80 or 128 "Handles"
PA Specifies use or non use of PS 2 Port 92h logic to handle the
PN system"s "A20" line PA indicates "Always" use Port 92h
logic PN indicates "Never" use it and handle "A20" via
normal keyboard port logic If P is omitted XMGR "asks
the BIOS" if the system has Port 92h logic If not XMGR
will use normal "A20" logic NOTE: If "A20" was enabled
by DOS before XMGR loads XMGR does not handle it at all
Tn Specifies the BIOS requests to use in getting extended memory
as follows:
T0 No "E820h" nor "E801h" requests
T1 Memory list requests only Int 15h AX E820h
T2 A dual area request only Int 15h AX E801h
T3 "E820h" requests first then an "E801h" request
T can usually be omitted causing T3 to be assumed In
addition XMGR always uses an old 64 MB request to get T0
memory or if the requests denoted by T1 thru T3 are not
successful Users may need to test T1 or T2 separately
to see if their BIOS takes them A pre 1994 BIOS may not
ignore T1 thru T3 correctly and may require T0 instead
For old "QHIMEM" users T4 thru T7 may still be used and
work the same as T0 thru T3
W Specifies use of the DOS "workspace" buffer for upper memory
I O if loading with UMBPCI If W is omitted or if the
DOS system does not have proper workspace logic XMGR sets
its own buffer in low memory With PC DOS or EDR DOS W
must be omitted Without UMBPCI W is ignored
Z See Z for UIDE below
RDISK uses only S size and : drive letter switches:
Sn Specifies a desired RAM disk size in megabytes of XMS memory
Values may be any number from 2 to 2047 S1024 or more
creates a 1 to 2 GIGABYTE RAM disk If S is omitted or
invalid a 25 MB RAM disk is created by default For old
V2 0 XMS managers ROM DOS etc only S2 through S60 may
be used See section 5 below for more details
:L Specifies the DOS drive letter desired to access RDISK files
L may be any available drive letter from A to Z e g :N
assigns drive N: to all RDISK files If the drive letter
is too high or already in use RDISK will abort and users
may need "LASTDRIVE " in CONFIG SYS to set up more drives
If RDISK is loaded by CONFIG SYS or if : is omitted the
next free drive letter will be used
UIDE usually needs only a H switch to use HMA space and a S switch to
specify its cache size All UIDE switches are as follows:
A Specifies ALTERNATE addressing for "legacy IDE" controllers
The first legacy controller uses 01E8h 0168h addresses and
a second if present uses 01F0h 0170h addresses A is
only for "odd" mainboards with REVERSED addressing for the
two legacy IDE controllers Without A the first legacy
controller uses 01F0h 0170H and a second uses 01E8h 0168h
as is normal for most PC mainboards
B Requests a "basic" UltraDMA driver for disks and CDs DVDs no
caching or diskette handling This may help for tests or
diagnostics The B driver can request 128K of XMS as an
UltraDMA I O buffer and it can load in the HMA The N2
switch can be given with B to "dismiss" all CD DVD logic
Cnn Sets a separate "CD DVD" cache for higher CD DVD performance
Values for nn are the same as for the S switch and permit
up to 4 GB caches The "CD DVD" cache can be used by any
user driver devices on systems with no SATA or IDE CD DVD
drives If C is omitted data for requests addressed to
the "CD DVD" cache shall go into UIDE"s "Common" cache
D: Specifies the "device name" used by the CD DVD Redirector to
access CD DVD drives For example: D:CDROM1 D:SANYO1
etc If D: is not given or the name following a D: is
missing invalid UDVD1 is set by default If no CD DVD
drives were found UIDE$ overrides any D: name for use
with FreeDOS autoloader scripts
E Makes the driver call the BIOS for any hard disk I O request
E avoids setup trouble on some DOS emulators VirtualBox
etc that do not emulate all PC hardware logic E also
allows using hard disks on 1994 or older PCs which have no
PCI EDD BIOS E still caches disk data unlike N1 that
removes ALL disk support If B is given E is ignored
NOTE
Use of E on protected mode systems JEMM386 etc may run
VERY slow Many BIOS programs omit DOS "VDS" support for
hard disks and in protected mode they must do "PIO mode"
transfers not UltraDMA If E is required a PC should
be run in real mode UMBPCI etc whenever possible
H Loads most of the driver in "free HMA" space UIDE will use
only 928 bytes of upper DOS memory 832 when B is given
H must not be used with ROM DOS which has no HMA
NOTE
MS DOS kernels have ERRORS in posting free HMA space which
can give CRASHES Specifying H is "At the user"s risk"
No such crashes are noted with other DOS systems also HMA
usage by UIDE is under 4K bytes Users should still test
a PC system before H is given for any serious tasks with
these drivers
N1 Requests NO hard disk handling by the driver
N2 Requests NO CD DVD handling by the driver N2 will dismiss
all CD DVD routines and save 1744 bytes
N3 Requests no XMS memory N3 sets UIDE"s B "basic" driver
N3 requires loading in low memory or UIDE aborts N3
can LOSE much speed as misaligned or other I O not suited
to UltraDMA requires "calling the BIOS" for disks or using
"PIO mode" for CD DVD drives
N4 See Z below
Q Awaits a "data request" before doing UltraDMA disk transfers
Q is for "old" systems and may be used only if the driver
loads O K but seems unable to transfer data Q must be
OMITTED with SATA to IDE adapters from Sabrent and others
since they may not emulate "data request" from SATA disks
Q does not affect CD DVD drives
R15 Sets the driver"s XMS memory at 16 or 64 MB R15 reserves
R63 15 MB of XMS and R63 reserves 63 MB of XMS for DOS game
programs that require XMS memory below 16 or 64 MB The
drivers must be able to reserve this memory reserve their
own XMS above that and "free" the 15 63 MB XMS If not
the drivers display "XMS init error" and abort R15 or
R63 need the drivers to load after the XMS manager XMGR
HIMEMX etc so another driver cannot take any XMS first
and the reserved XMS is just beyond the HMA See section
7 below for further details
Snn Specifies the desired "Common" cache size in megabytes of XMS
memory UIDE"s "Common" cache holds data for hard disks
diskettes and CD DVD drives when C above is not given
Values for S can be 5 15 25 40 50 or any number from
80 to 4093 S1024 and up sets a 1 to 4 GIGABYTE cache
Suggested S values are
Below 128 MB memory: Use S5 S15 S25 or S40
With 128 MB memory: Use S25 S40 S50 or S80
With 256 MB memory: Use S80 up to S127
With 512 MB memory: Use S160 up to S255
With 1 GB memory: Use S320 up to S511
With 2 GB memory: Use S640 up to S1023
With 4 GB memory: Use S1280 up to S3072
Small systems may prefer S25 or S50 which set 1600 cache
blocks and are more efficient If S is omitted invalid
an 80 MB cache is set Except for 25 or 50 values below
80 are cut to 40 15 or 5 MB The drivers display "XMS
init error" and abort when not enough XMS memory is free
If so a smaller cache must be requested For older V2 0
XMS managers ROM DOS etc only S5 to S50 may be used
UX Disables all CD DVD UltraDMA even for drives that can do it
"PIO mode" then handles all CD DVD I O Except for a few
unusual drives by Sony etc which do not follow all ATAPI
"rules" UX is rarely needed UX does not affect hard
disks
Xnn Sets a separate "User 1" cache for user drivers Values for
nn are the same as for S above If X is omitted data
for requests addressed to the "User 1" cache shall go into
UIDE"s "Common" cache
Ynn Sets a separate "User 2" cache for user drivers Values for
nn are the same as for S above If Y is omitted data
for requests addressed to the "User 2" cache shall go into
UIDE"s "Common" cache
Z For XMGR UIDE UHDD limits XMS moves to 2K byte sections not
64K when in protected mode Z is unneeded for JEMM386
JEMMEX MS DOS EMM386 or real mode UMBPCI If other EMM
VCPI or DPMI drivers are used systems must be tested to
see if Z is required BAD schemes that allow not enough
interrupts during XMS moves can still be in use UIDE"s
old N4 switch works the same and can still be used The
"stand alone" UHDD ignores N4 or Z and will call the XMS
manager to do its XMS moves
UHDD usually needs only a H switch to load in HMA space also C S X
or Y switches to specify cache sizes A summary of all UHDD switches
is as follows:
A Sets ALTERNATE addressing for "Legacy" IDE controllers same
as UIDE A above Rarely necessary
B Requests a 1408 byte "stand alone" driver no caching same
as UIDE B above
Cnn Sets a "CD DVD" cache size for UDVD2 use same values as for
UIDE S above If C is omitted or invalid CD DVD data
will go in UHDD"s "Common" cache
E Makes the driver "call the BIOS" for hard disk I O requests
same as UIDE E above E dismisses UltraDMA disk logic
and saves 496 bytes
H Loads all but 832 bytes of the driver 640 with B into HMA
space See the note for UIDE H above
Q Awaits "data request" before beginning UltraDMA I O with old
controllers same as UIDE Q above Rarely necessary
R15 Reserves 15 MB or 63 MB of XMS for old DOS "game" programs
R63 same as UIDE R above Rarely necessary
Snn Sets a "Common" cache size same values as UIDE S above
Xnn Sets the "User 1" cache size same values for UIDE S above
If X is omitted invalid "User 1" data will go in UHDD"s
"Common" cache
Ynn Sets the "User 2" cache size same values for UIDE S above
If Y is omitted invalid "User 2" data will go in UHDD"s
"Common" cache
Z See Z above
UDVD2 normally needs only a H switch to use HMA space and a D: switch
to specify a driver "device name" A summary of all UDVD2 switches is
as follows:
A Sets ALTERNATE addressing for "Legacy" IDE controllers same
as UIDE A above Rarely necessary
D: Sets a "device name" used by the CD DVD Redirector to access
CD DVD drives same as UIDE D: above
H Puts all but 144 bytes of the driver in HMA space See the
note for UIDE H above
Rnn Reserves 15 MB or 63 MB of XMS for old DOS "game" programs
same as UIDE R above Rarely necessary
UX Disables CD DVD UltraDMA same as UIDE UX above Rarely
necessary
For all switches in each driver a dash may replace the slash and lower
case letters may be used if desired
5 Setup and Configuration
XMGR RDISK and UIDE are all loaded using the CONFIG SYS file Your
CONFIG SYS should have command lines similar to the following examples:
DEVICE C: DOSDVRS XMGR SYS N128 B
DEVICEHIGH C: DRIVERS RDISK COM S500
DEVICEHIGH C: SYSTEM UIDE SYS D:TOSHIBA1 S511 H
DEVICEHIGH C: USERDVRS UHDD SYS S500 C80 H
DEVICEHIGH C: MYDVRS UDVD2 SYS D:BLURAY1 H
Note that "Int 13h" BIOS drivers must be loaded first so UIDE UHDD can
intercept and cache their DOS Int 13h calls Also note that any user
drivers that call UIDE to do caching must be loaded after UIDE so they
will "find" UIDE in memory and can "link" to it This also applies if
UHDD followed by UDVD2 are used in place of UIDE See the CONFIG SYS
examples below
With V3 70+ UMBPCI and XMGR a "boot" procedure is not needed UMBPCI
loads first to enable upper memory then XMGR loads to offer it and XMS
to DOS then other drivers may load For V6 22 V7 10 MS DOS JEMM386
can also be loaded to offer extra upper memory in the "video graphics"
areas or if other JEMM386 features are desired
NOTE: FreeDOS and some other DOS variants will NOT "add up" the memory
found by both UMBPCI and JEMM386 like MS DOS does FreeDOS users who
want extra upper memory or other items must omit UMBPCI and load JEMMEX
or HIMEMX JEMM386 per their instructions or load XMGR JEMM386 as shown
in the 3rd example below
An example CONFIG SYS file using V3 70+ UMBPCI and XMGR is as follows:
SHELL C: DOS COMMAND COM C: DOS E:512 P
DEVICE C: BIN UMBPCI SYS
DEVICE C: BIN XMGR SYS W
DOS HIGH UMB
DEVICE C: BIN JEMM386 EXE I B000 B7FF X C800 EFFF NOEMS ;Optional
Int 13h drivers cached by UIDE load now
DEVICEHIGH C: BIN UIDE SYS D:CDROM1 S511 C250 H ;Or UHDD plus
; UDVD2 here
User drivers that call UIDE load now
DEVICEHIGH C: BIN RDISK COM S250 ;Optional
Etc
XMGR can be used "stand alone" on a small XMS only system It must be
the first DOS system driver to load and it must load in LOW memory as
in the following example:
SHELL C: DOS COMMAND COM C: DOS E:512 P
DEVICE C: BIN XMGR SYS
DOS HIGH
Int 13h drivers cached by UHDD load now
DEVICE C: BIN UHDD SYS S80 C15 ;Or UIDE in place
DEVICE C: BIN UDVD2 SYS ; of UHDD + UDVD2
User drivers that call UHDD load now
DEVICE C: BIN RDISK COM S20 ;Optional
Etc
With JEMM386 and XMGR XMGR loads first in "boot" mode then JEMM386
and then XMGR finally loads in upper memory JEMMEX can also be used
and if so XMGR can be omitted An example CONFIG SYS file which uses
the XMGR "boot" procedure is shown below Note that in this example
UIDE sets a 2 GIGABYTE disk cache plus a 700 Megabyte CD DVD cache
SHELL C: DOS COMMAND COM C: DOS E:512 P
DEVICE C: BIN XMGR SYS B ; B for "boot"
DOS HIGH UMB
DEVICE C: DOS JEMM386 EXE I B000 B7FF NOEMS ;Or JEMMEX here
DEVICEHIGH C: BIN XMGR SYS ;No "boot" here
Int 13h drivers cached by UIDE load now
DEVICEHIGH C: BIN UIDE SYS D:MYDVD S2047 C700 H ;Or UHDD plus
; UDVD2 here
User drivers that call UIDE load now
DEVICEHIGH C: BIN RDISK COM S500 ;Optional
Etc
After the above drivers are loaded further CONFIG SYS drivers SETVER
ANSI SYS etc can then load in any desired order
When a specific RDISK drive letter is required RDISK can now be loaded
by AUTOEXEC BAT and its : switch can specify any "free" drive letter
e g :Q assigns drive Q: for RDISK files Whenever RDISK is used
AUTOEXEC BAT should also include commands which copy all RDISK programs
and data up to the RAM disk This is required each time DOS loads as
XMS memory is LOST when a system shuts down Such copies usually take
little time
If RDISK and UIDE UHDD are used users must balance how much XMS memory
the drivers use RDISK must take no more XMS than its files may need
UIDE UHDD can take most remaining XMS for its caches Some XMS memory
must be saved for other programs needing it As an example on a 4 GB
system RDISK might use 500 MB UIDE UHDD might use 3 GB and 500 MB is
free for other programs These values can be adjusted so RDISK holds
programs and "fast" data files while UIDE UHDD cache "ordinary" files
Properly balanced use of XMS will give a VERY high speed DOS system
Please be sure to set each hard disk"s geometry correctly in your BIOS
Set it to "Auto" "LBA" or "LBA Assisted" but NOT to "None" "Normal"
"CHS" "ECHS" "User Cylinders Heads Sectors" "Revised ECHS" or "Bit
Shift" should run but are NOT preferred If a BIOS has a setting like
"UltraDMA" or "UDMA Capable" for a disk enable it
"Laptop" power saving items like a "drive spin down timeout" should run
O K but must be TESTED before use All these drivers allow 7 seconds
for a disk or CD DVD drive to spin up after being idle More DRASTIC
power saving items like a "drive SHUTDOWN timeout" may require "extra"
logic to restart the drive should be DISABLED or driver I O requests
may time out
Also be sure to use an 80 connector cable for any UltraDMA drive using
"mode 3" ATA 44 44 MB sec or higher When cabling a single drive to
an IDE channel note that you MUST use both "ends" of the cable NOT an
"end" and the middle connector This prevents ERRORS since an unused
cable end can pick up "noise" like a RADIO antenna
Be sure to enable all CD DVD drive s through the BIOS set up routines
A drive that is "disabled" may cause the BIOS to clear all its UltraDMA
flags and force the drive into "PIO mode" zero which is terribly SLOW
6 Error Reporting
XMGR and UIDE UHDD UDVD2 will return normal XMS and CD DVD error codes
as needed They are listed in the "V3 0 XMS Specification" and in the
Microsoft "MS DOS CD ROM Extensions 2 1" document Both are available
from Microsoft or from other Internet sources
UIDE and UHDD work as "BIOS drivers" and return whichever codes are set
for diskettes and hard disks handled by the BIOS For their SATA and
IDE hard disks UIDE UHDD can post the following error codes:
Code 0Fh DMA error CCh Disk is FAULTED
20h Controller busy E0h Hard I O error
AAh Disk not ready FFh XMS memory error
Many DOS programs display only "Disk Error" messages with NO code thus
disk errors may require running a diagnostic to get better information
7 Technical Notes
In all of the following notes "UIDE" also applies to UHDD or UDVD2 as
necessary
The JEMMEX or JEMM386 drivers are now recommended for use with UIDE if
using a DOS system that needs their extra upper memory DPMI VCPI logic
etc Other EMM drivers are essentially "abandoned" some with never
corrected ERRORS and they should NOT be used
The "VirtualBox" emulator as of 15 Oct 2012 does not set a "change line
available" bit in BIOS byte 0:48Fh for A: and B: diskettes UIDE will
IGNORE diskette drives without a "change line" normally 1985 or older
as they cannot declare "media changes" i e a NEW diskette was loaded
Until "VirtualBox" gets corrected UIDE will NOT run A: or B: diskettes
in such an environment
UIDE"s R15 or R63 switches DOS "game" programs are for a real mode
system using UMBPCI and XMGR Game players like real mode as it gives
more speed If protected mode JEMM386 EMM386 is desired UIDE using
a R switch must load prior to the "EMM" driver so the XMS reserved by
UIDE is just beyond the HMA If using UMBPCI XMGR UIDE and then an
EMM driver this works fine But FreeDOS users and others whose DOS
systems permit only one XMS provider i e UMBPCI cannot be used must
load XMGR HIMEMX first UIDE second into low memory upper memory isn"t
yet enabled then JEMM386 EMM386 last Using JEMMEX with UIDE and a
R switch is unrecommended JEMMEX must load first and takes some XMS
itself which pushes the reserved XMS above its intended 16 64 MB area
and a few DOS "games" programs may CRASH
UIDE shall NOT include any huge AHCI logic and will run hard disks in
"Legacy" "Compatibility" "Native IDE" mode when using AHCI controllers
If a "new" AHCI BIOS has no such settings UIDE with a E switch should
be able to call the BIOS and use its logic to handle AHCI disks NOTE
that much "DOS driver" code is now being omitted in AHCI BIOS programs
Thus UIDE should be TESTED before normal use with an AHCI mainboard
Also note that CD DVD drives are not supported by an AHCI BIOS for file
I O only for "boot" CDs On a system whose AHCI chips can be set for
"Legacy" "Compatibility" "Native IDE" mode CD DVD drives should be run
from AHCI ports using such modes On mainboards with no such settings
UIDE can run CD DVD drives only on the parallel IDE port 80 pin cable
or IDE capable "add on" cards from Promise etc that UIDE can "detect"
using normal PCI bus logic
UIDE handles only "Legacy" or "Native PCI" IDE controllers RAID only
chipsets Via VT6420 etc "port multiplier" chips and ADMA chipsets
are not currently supported AHCI is supported only through "Legacy"
"Compatiblity" or "Native IDE" controller settings or by UIDE "calling
the BIOS" as noted above To use UIDE a mainboard BIOS must set SATA
and IDE controllers to some form of "IDE" mode not RAID ADMA AHCI for
best speed If no "Legacy" "Compatibility" "Native IDE" BIOS setting
for disk controllers is provided a Sabrent converter card or similar
will let UIDE handle SATA hard disks or CD DVD drives from the parallel
port IDE controller channel using full UltraDMA speeds
Except if necessary for AHCI it is NOT RECOMMENDED for UIDE to run any
DOS disk using only the BIOS Many BIOS programs have no DOS "Virtual
DMA" logic If so when an EMM driver JEMM386 etc enables its "V86
protected mode" the BIOS can do only PIO mode transfers and LOSES much
speed If needed get SATA to IDE adapters for SATA disks as above
or get "Int 13h" disk drivers for SCSI or other disk models UIDE can
then handle such disks at full DMA speeds
XMGR loads in UMBPCI upper memory BEFORE that memory is declared to the
DOS system Memory displays using UMBPCI may not list XMGR since its
memory is not part of the DOS memory lists Such memory displays will
begin with a block having a 00A7h offset or greater if using 80 or 128
XMS "Handles" The upper memory skipped by this offset contains XMGR
The UMBPCI upper memory manager uses system "Shadow RAM" that CANNOT do
DMA Newer BIOS programs may use UltraDMA to load programs into upper
memory If this is UMBPCI "Shadow RAM" a CRASH will occur To stop
this and handle new BIOS programs users should follow these two RULES
for running UMBPCI together with XMGR and UIDE UHDD:
A The loading "order" for V3 70+ UMBPCI and XMGR shown in section 5
above MUST be used This lets the XMGR "I O Catcher" intercept
and process upper memory disk I O until UIDE UHDD loads and takes
over disk UltraDMA Old UMBPCI versions or other UMBPCI loading
schemes are NOT recommended
B When CHS I O is done MS DOS V6 22 or older every disk MUST have
valid CHS parameters Otherwise UIDE UHDD and the "I O Catcher"
let the BIOS deal with CHS I O If BIOS UltraDMA is not disabled
a similar "Shadow RAM" CRASH will occur
Some "CD ROM boot" programs handle the CD DVD as a "fake" hard disk and
provide incorrect EDD BIOS data for it In scanning for disks to use
UIDE may display "EDD BIOS error Unit ignored " then go on searching
for more UltraDMA disks Users who did NOT "boot" from CD DVD need to
see which disk was passed over and why Users who DID "boot" from CD
DVD where all SATA UltraDMA disks were found may IGNORE this message
It is caused by an ERROR in the "CD ROM boot" program NOT by a problem
with UIDE or its SATA UltraDMA disks
Some BIOS programs do not "configure" a mainboard controller if no user
drives are on it An unconfigured controller causes UIDE to display
"BAD controller" then it goes on looking for others to use If this
message is displayed users should verify that each SATA UltraDMA drive
was made "active" thru the BIOS set up logic If so "BAD controller"
says a chip was not set to both "Bus Master" and "I O Space" modes and
the BIOS should be UPDATED ">XMGR RDISK and UIDE DOS Device Drivers
1 Description
XMGR RDISK and UIDE are a group of DOS device drivers for a PC system
with an 80386+ CPU and using MS DOS V5 0+ or equivalent
XMGR is a DOS driver w [更多]
- 上一篇: 网络常用dos命令
- 下一篇: 批处理for语句基本用法