# Command: udma.sys / udmajr.sys

      UDMA.SYS / UDMAJR.SYS are DOS hard-disk caching driver for UltraDMA
      hard-disks. UDMA.SYS / UDMAJR.SYS has to be loaded in CONFIG.SYS /
      FDCONFIG.SYS.
      When FreeDOS is already running, you can load UDMA.SYS / UDMAJR.SYS
      later with DEVLOAD.
      UDMA.SYS / UDMAJR.SYS are out of date. There is NO MORE support
      by the author! You should use UIDE.SYS instead.

## Syntax:

      DEVICE[HIGH] = [path]UDMA.SYS [/A] [/Q] [/R] [/Sn] [/U]
      DEVICE[HIGH] = [path]UDMAJR.SYS [/A] [/Q] [/R] [/Sn] [/U]

#### [Main menu] [top] (Syntax) [Options] [Comments] [Examples] [See also] [File]

## Options:

      UDMA.SYS / UDMAJR.SYS normally needs no switches. Its switch options
      are as follows:
        /A   Specifies use of the old alternate EIDE controller addresses,
             01E8h-01EFh on the primary channel, and 0168h-016Fh on the
             secondary channel. If /A is omitted, the driver will use
             normal controller addresses of 01F0h-01F7h or 0170h-0177h.
             /A is only for an "odd" SATA BIOS or other unusual cases.
        /Q   Enables awaiting "data request" before starting UltraDMA data
             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 UDMA loads O.K. but seems unable to transfer data.
        /R   Restricts UDMA 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.
        /Sn  Specifies the desired cache size, as follows:
               /S0     5-MB cache,  1280-byte table size,  8K blocks.
               /S1    10-MB cache,  2560-byte table size,  8K blocks.
               /S2    20-MB cache,  2560-byte table size, 16K blocks.
               /S3    40-MB cache,  2560-byte table size, 32K blocks.
               /S4    80-MB cache,  2560-byte table size, 64K blocks.
               /S5   120-MB cache,  3840-byte table size, 64K blocks.
               /S6   160-MB cache,  5120-byte table size, 64K blocks.
               /S7   200-MB cache,  6400-byte table size, 64K blocks.
               /S8   250-MB cache,  8000-byte table size, 64K blocks.
               /S9   400-MB cache, 12800-byte table size, 64K blocks.
               /SL   750-MB cache, 24000-byte table size, 64K blocks.
             When /S is omitted, /S4 is assumed. The driver logic and
             stack take a fixed 2544 bytes along with the binary-search
             table sizes above. UDMA sets its binary-search table and
             1088 bytes of logic in the HMA unless /R is given or under
             3648 bytes of HMA are free (2368 bytes with /S0), in which
             case regular memory will be used. When not enough HMA or
             regular memory for a given /S is "free", the largest cache
             that fits in "free" memory is used. UDMA loads in 4K, so
             at least a 5-MB cache in regular memory can always be set.
             The 400-MB and 750-MB caches cannot use the HMA and always
             take 15K or 26K of regular memory. For no UltraDMA disks
             UDMA dismisses its UltraDMA logic during init, to save 368
             bytes of HMA. For an old V2.0 XMS manager (ROM-DOS etc.)
             the maximum is /S3 or 40-MB. /S0 is for ancient 8-MB DOS
             systems and may lose efficiency caching today's big files.
             At least /S1 is recommended. Enough free XMS memory must
             be available for the cache size to be set, or UDMA aborts!
        /U   Requests the "stand alone" UltraDMA driver only (no caching),
             which may be of help in running a disk diagnostic program.
      For each switch, a dash may replace the slash, and lower-case letters
      may be used.

#### [Main menu] [top] [Syntax] (Options) [Comments] [Examples] [See also] [File]

## Comments:

      UDMA.SYS is offered for those who wish to remain "compatible" with
      older versions of that driver. It uses the same 640 byte resident
      "core" as UDMA2.SYS or UDMAJR.SYS. As with all prior versions,
      UDMA.SYS is the only driver in the set which displays the UltraDMA
      controller "names" and PCI-bus data at load-time, for those desiring
      to see which chip will be run. UDMA.SYS offers the full set of load-
      time tests same as UDMA2.SYS.
      UDMAJR.SYS is offered for "RAM disk" or "embedded" systems which
      require an absolute minimum-size UltraDMA driver. It has the same
      640 byte resident "core" as UDMA2S.SYS or UDMA.SYS with the same
      run-time capability.
      UDMAJR.SYS omits an 80386 test, "read tests" and the controller and
      disk "names" at load-time (the controller I/O address IS shown!),
      thus it achieves an object-file size of 2048 bytes.

#### [Main menu] [top] [Syntax] [Options] (Comments) [Examples] [See also] [File]

## Examples:

      In CONFIG.SYS / FDCONFIG.SYS:
        DEVICE=C:\FDOS\BIN\UDMA.SYS
        DEVICEHIGH=C:\FDOS\BIN\UDMA.SYS
        DEVICE=C:\FDOS\BIN\UDMAJR.SYS
        DEVICEHIGH=C:\FDOS\BIN\UDMAJR.SYS

#### [Main menu] [top] [Syntax] [Options] [Comments] (Examples) [See also] [File]

## See also:

      autoexec.bat
      config.sys
      devload
      fdconfig.sys
     (udma2.sys)
      uide.sys
     (xdma.sys)

#### [Main menu] [top] [Syntax] [Options] [Comments] [Examples] (See also) [File]

## File:

      Please read this command's lsm file also.
      You will find the updated version (internet) here and
      the version described in this manual page here.
      The lsm file contains information about the name of the programmer,
      the download site, and some other command related information.

#### [Main menu] [top] [Syntax] [Options] [Comments] [Examples] [See also] (File)

      Copyright © 2007 Jack Ellis, updated 2011 by W. Spiegl.

      This file is derived from the FreeDOS Spec Command HOWTO.
      See the file H2Cpying for copying conditions.