『第 30 楼』:
 
 
使用 LLM 解释/回答一下
  
简单地翻译了一下,认为没必要译或没必要了解的地方就没去翻译。 
 
 
XMGR and UIDE -- DOS Device Drivers 
                   ======================================= 
 
1. Description 
   ----------- 
   简介 
 
   XMGR and UIDE are DOS device drivers.    They can be used with a system 
   having an 80386+ CPU and running MS-DOS V5.0+ or equivalent. 
 
   它们是Dos驱动。能用在CPU为386以上的系统(注:硬件)MSDOS5.0以上的环境(注:软件系统) 
    
   XMGR is a DOS driver that works as an XMS memory manager.   It supports 
   V3.70+ UMBPCI by Uwe Sieber.    After UMBPCI enables upper-memory, XMGR 
   can load there directly and provide both upper and XMS memory for a DOS 
   system.   XMGR uses an "I-O catcher" with UMBPCI, to intercept diskette 
   or hard disk I-O above 640K.   Such I-O is done thru a low memory area, 
   to avoid DMA trouble in UMBPCI "Shadow RAM".   XMGR also supports V4.49 
   and V4.95 EMM386 (MS-DOS V6.22 or V7.10).   With EMM386, XMGR using its 
   /B switch can first "boot" into temporary space.   After EMM386 enables 
   upper-memory, XMGR loads there with no /B switch, copies all its "boot" 
   data, and takes-over XMS work.    Only its XMS "Handles" table stays in 
   low memory, so EMM386 can always find them at fixed addresses.    For a 
   small XMS-only system, XMGR can also load entirely in low memory. 
 
   XMGR是一个DOS下的XMS内存管理器。支持V3.7以上的UMBPCI(注:也是一个内存驱动) 
   在UMBPCI打开了上位内存后,XMGR能直接加载到那里(注:应该指的是上位内存里)并 
   提供对上位内存和XMS内存的支持。XMGR在UMBPCI的支持下用一种"I-O catcher" 
   (IO捕抓)的技术来截取磁盘或硬盘的IO读写在640K以上。如此一来 I-O 通过一 
   低位内存区域就搞定,避免了DMA在UMBPCI的“Shadow RAM”里搞出问题来。。。。。。 
   后面讲在与EMM386(也是内存管理程式)配合,它有一个"/B"参数,能让自己先待在 
   一临时的地方   等EMM386打开了上位内存后再把自己复制到上位内存中去,但它的 
   “Handles”表(注:handels 句柄,这象是个Windows下的说法,DOs下还是译成 
    索引 比较好一些吧)还在低位内存,因此EMM386依然能在变更(注:Fixed,修正的, 
    这里译成 变更 好理解些吧)后的地址中找到它。在一个小的只有XMS内存的系统里, 
    它也能装载到低位内存中。 
     
    
   UIDE is a DOS "Universal IDE" caching driver.   It intercepts "Int 13h" 
   BIOS I-O requests and can cache data for up to 32 BIOS units, including 
   standard A: and B: diskettes if present, and including newer hard disks 
   with over 128-GB of data.    UIDE accepts 48-bit LBA and 24-bit CHS I-O 
   calls, thus it runs with new or old DOS systems.    It has internal IDE 
   logic for SATA and UltraDMA hard-disks, and it handles up to 8 "Legacy" 
   or "Native PCI" IDE controllers.   All possible SATA or UltraDMA I-O is 
   done through its XMS cache buffers, for faster speed.    UIDE calls the 
   BIOS for diskettes, SCSI, and other disk models, so it caches ALL disks 
   for a DOS system!    DOS "Int 13h" drivers can load before UIDE, and it 
   will intercept and cache I-O for the other drivers, as well.   (Drivers 
   using "ASPI" or I-O schemes other than Int 13h are unsupported). 
    
   UIDE 是一个DOS下的“通用IDE”缓存驱动。它接管BIOS的“int-13h”IO请求并能为 
   32位BIOS单元缓存数据,包括标准的软驱(如果有软驱的话),包括更新的超过128G 
   大小的硬盘。它接受 48位LBA和24位CHS的IO调用,因此它能在新的或老的DOS系统下 
   运行。它能把SATA和UltraDMA硬盘模拟成内部IDE(这句是意译)。它能通过XMS 
   缓存所有可能的SATA或UltraDMA的IO读写,这样更快。UIDE能在DOS系统下缓存各种 
   磁盘。。。不译了。 
    
   UIDE also supports up to 4 CD/DVD drives, including SATA, UltraDMA, and 
   older "PIO mode" drives.   After loading, it checks up to 8 "Legacy" or 
   "Native PCI" IDE controllers in order from primary-master to secondary- 
   slave, and it runs the first 4 CD/DVD drives found.   UIDE accepts file 
   input requests from SHCDX33C or other "CD-ROM Redirector" programs like 
   MSCDEX, and it caches all file data and directories for improved speed! 
   It also supports DOS "audio" requests and will "play back" an audio CD. 
   Data files on one drive, and "raw mode" audio/trackwriters (not cached) 
   on another drive can be run by UIDE at the same time! 
    
   UIDE也支持CD/DVD驱动,包括SATA,UltraDMA 和老的“PIO Mode”驱动。后面的也 
   不译了。 
    
   UIDE uses XMS memory and caches from 5-MB to 1-Gigabyte of data!   With 
   the "LZ" V7.10 MS-DOS kernel and 4DOS COMMAND.COM, UIDE loads its cache 
   logic and binary-search table in HMA space unneeded by DOS, and it uses 
   only 1.75K bytes of upper-memory for a cache up to 200-MB and only 3.5K 
   bytes for caches of 201 to 255-MB.   For larger caches, or if HMA space 
   is low, UIDE loads entirely in upper-memory.   It then uses 4.5K bytes, 
   plus 32 bytes of binary-search data for each 1-Megabyte of cache. 
 
   UIDE 用XMS内存并可缓存 5MB到1G的数据!(注:恐怖吧?) 
 
   For "boot" diskettes or other limited DOS systems, the UIDES driver can 
   be used in place of UIDE.   UIDES omits the /L switch and loads only in 
   1.75K "small" form.   This reduces its logic and lets UIDES be "packed" 
   into a 6K object file.    UIDES is a "conditional assembly" of the main 
   UIDE source file, and it does provide all other UIDE features.   Except 
   as noted below, all comments in this README about UIDE apply equally to 
   the UIDES driver as well. 
    
    
   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 discard its cache.    Data on the disk (NOT data 
   still in the cache!) can then be compared with the original output. 
 
   提供一个小工具CC.com用来帮助你校验数据。 
 
4. Switch Options 
   -------------- 
   参数选项 
    
   XMGR usually needs only its /B switch if "booting" with EMM386.    XMGR 
      switch options are as follows: 
   如果在和EMM386配合使用时,通常只需要/B这个参数(开关,译成参数比较好吧) 
    它的参数如下: 
      /B     Specifies "boot" mode.   XMGR loads in temporary memory until 
                upper-memory is enabled by EMM386.   Without /B, XMGR will 
                load stand-alone in low memory or directly in upper-memory 
                with UMBPCI.   See the CONFIG.SYS examples in section 5. 
               如果不加这个参数,它将加载在低位内存中或跟UMBPCI配合使用时会 
               直接加载到高位内存(上位内存) 
      /Mn    Specifies the temporary area used to load XMGR in "boot" mode 
                and used for UMBPCI upper memory I-O before DOS can post a 
                "workspace" buffer.   Values are: 
                
                    /M1 = 64K.    /M3 = 192K.   /M5 = 320K.   /M7 = 448K. 
                    /M2 = 128K.   /M4 = 256K.   /M6 = 512K.   /M8 = 512K. 
 
                Without /M, /M5 is assumed and the 320K area will be used. 
                NOTE:  A DOS system often may NOT load at address 0 up and 
                may leave temporary data anywhere in memory!   /Mn changes 
                the temporary area to find a "safe" place 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 and work fine for most systems.   A big 
                system doing much XMS work may need 80 or 128 "Handles". 
               指定多少XMS“索引”能被DOS程序使用。忽略的话,默认为48. 
      /Tn    Specifies the BIOS requests to use in getting extended memory 
                as follows:   
              指定在扩展内存中使用的BIOS请求。 默认是T3 
                   /T0   Neither "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, which causes /T3 to be assumed. 
                In addition, XMGR always uses an old 64-MB request, to get 
                extended memory for /T0, or if the requests specified with 
                /T1 through /T3 are unsuccessful.   Users may need to test 
                /T1 and /T2 separately, to see if their BIOS accepts them. 
                A pre-1994 BIOS may not "ignore" /T1 thru /T3 properly and 
                may require /T0 to be used.   For compatibility with older 
                QHIMEM drivers, /T4 thru /T7 may 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 will 
                set its own buffer in low memory.   An EDR-DOS system must 
                OMIT this switch!   Without UMBPCI, /W will be ignored. 
              指定DOS的“工作区域”缓冲,如果不全UMBPCI一起使用,/W参数会不起作用 
             -------------------- 
 
   UIDE usually needs only its /Sn size switch and /D: to specify a device 
      name for the SHCDX33C CD-ROM Redirector.   UIDE switch options are: 
      通常只需要 /sn 和/d: 参数。 
 
      /A     Specifies use of ALTERNATE "legacy IDE" I-O addresses.    The 
                first legacy controller will use alternate 01E8h/03EEh and 
                0168h/036Eh addresses, and a second legacy controller will 
                use normal 01F0h/03F6h and 0170h/0376h I-O addresses.   If 
                /A is omitted, the first legacy controller uses normal and 
                the second legacy controller uses alternate addresses, the 
                usual case with most mainboards and BIOS programs.   /A is 
                for "odd" cases where "legacy IDE" addresses are REVERSED. 
                /A does not affect "native PCI" controllers. 
 
      /B     Requests the "basic" stand-alone UltraDMA driver for disks or 
                CD/DVD drives only (no caching or diskettes), which may be 
                of help in running a diagnostic program. 
 
      /D:    Specifies the desired device name, used by SHCDX33C to access 
                the CD/DVD drives.   Example:  /D:CDROM1  /D:MYCDROM  etc. 
                Device names must be from 1 to 8 bytes O.K. for use in DOS 
                filenames.   If /D: is omitted, or the device name after a 
                /D: is missing or invalid, UDVD1 is used as a default, for 
                compatibility with CONFIG.SYS files run with the old UDVD. 
                指定驱动器的名称,名称必须是不超过8个字符的字符串,如果忽略 
                此参数或丢失名称,或名称不合法,默认名称是UDVD。 
      /L     Requests the "large" 3.5K upper-memory driver, even for cache 
                sizes under 200-MB.    If /L is omitted, the "small" 1.75K 
                upper-memory driver will be used by default for HMA caches 
                less than 200-MB.   /L saves 2K of HMA space, for a system 
                with limited "free HMA".    /L is ignored when /R is given 
                or when the UIDES driver is used. 
 
      /N1    Requests NO handling of any hard-disk drives.    /N1 is meant 
                for diagnostics or special situations, not for normal use! 
 
      /N2    Requests NO handling of any CD or DVD drives.    /N2 is meant 
                for diagnostics or special situations, not for normal use! 
 
      /Q     Enables awaiting "data request" before starting UltraDMA disk 
                transfers.   /Q must be OMITTED with a SATA-to-IDE adapter 
                by Sabrent etc., as such cards do not emulate data request 
                from SATA disks!   /Q is not needed with newer controllers 
                or IDE disks.   It is for "old" systems and should be used 
                only if UIDE loads O.K. but seems unable to transfer data. 
                /Q does not affect CD/DVD drives. 
                在开始UltraDMA磁盘的传输前等待“请求数据” ,它只为了“老”系统 
                并只在加载正确但不能传输数据时。对CD/DVD不起作用。 
 
      /R     Restricts UIDE to "regular" memory and avoids the HMA for its 
                binary-search table.   /R may be required with DOS systems 
                that will NOT allocate memory until after CONFIG.SYS loads 
                drivers!   /R is unneeded with V7.10 MS-DOS, V6.22 MS-DOS, 
                V7.1 PC-DOS, PTS-DOS, or EDR-DOS.   /R is REQUIRED to work 
                with ROM-DOS!   Other DOS variants should be tested first. 
                只在ROM-DOS下用。 
 
      /Sn    Specifies a cache size in Megabytes of XMS memory as follows: 
                指定XMS内存中缓存的大小 
                /S5         5-MB cache,  1280-byte table size,  8K blocks. 
 
                /S10       10-MB cache,  2560-byte table size,  8K blocks. 
                /S20       20-MB cache,  2560-byte table size, 16K blocks. 
                /S40       40-MB cache,  2560-byte table size, 32K blocks. 
 
                /S80       80-MB cache,  2560-byte table size, 64K blocks. 
                  .        .              . 
                  .  thru  .              . (32 bytes per MB) 
                  .        .              . 
                /S1023   1023-MB cache, 32736-byte table size, 64K blocks. 
 
                Values for /S may be 5, 10, 20, 40, or a large-cache value 
                from 80 thru 1023 (1023 = 1-Gigabyte!).   If /S is omitted 
                or invalid, an 80-MB large cache is assumed.    Except for 
                old systems with less memory, /S127 or more should be used 
                with today's BIG files!   Some memory must remain free for 
                other applications, thus with current system memory sizes, 
                suggested UIDE /S values are: 
                默认为/s80,建议值 为: 
 
                     256-MB memory:  /S127      1-GB memory:   /S511 
                     512-MB memory:  /S255      2-GB or more:  /S1023 
                          
                For more about UIDE and cache sizes, see section 7 below. 
 
      /UX    Disables ALL UltraDMA for CD/DVD drives, even for those which 
                are capable of it.   The driver then uses PIO-mode for all 
                CD/DVD I-O requests.   Except for certain "unusual" drives 
                by Sony, etc. which do not follow all ATAPI standards, /UX 
                is rarely needed and is intended for tests or diagnostics. 
                /UX has no effect on hard-disk requests. 
              
             -------------------- 
 
 Last edited by ko20010214 on 2008-10-19 at 17:24 ] 
 
    
 
  
  |