# Command: xcdrom.sys

      XCDROM.SYS is an UDMA and non-UDMA CD-ROM driver for DOS.
      XCDROM.SYS has to be loaded in CONFIG.SYS / FDCONFIG.SYS.
      When FreeDOS is already running, you can load XCDROM.SYS
      later with DEVLOAD. XCDROM.SYS is out of date. There is
      NO MORE support by the author! You should use UIDE.SYS
      instead.

## Syntax:

      device=xcdrom.sys [options]
      devicehigh=xcdrom.sys [options]

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

## Options:

      /AX  Excludes ALL audio functions. This makes the driver report on a
           Device-Status request that it reads DATA tracks only! /AX reduces
           the resident driver by 448 bytes. UltraDMA, multi-drives, and other
           driver features are NOT affected!
      /D:  Specifies the desired "device name" which SHSUCDX or MSCDEX
           will use during their initialization to address the CD-ROM drives.
           Examples are: /D:CDROM1 /D:MYCDROM etc.
           The device name must be from 1 to 8 bytes valid for use in DOS
           filenames. If /D: is omitted, or the "device name" after
           a /D: is missing or invalid, "XCDROM" will be the default.
      /L   Limits UltraDMA to "low memory" below 640K. /L is REQUIRED to use
           UMBPCI or a similar driver whose upper-memory areas cannot do
           UltraDMA. If /L is given, the driver must load in LOW memory so its
           DMA command-lists can fetch properly, or driver loading will ABORT!
           /L causes any I/O requests above 640K to use "PIO mode" input. Note
           that /L will be IGNORED if /UX is also given.
      /Mn  Specifies the MAXIMUM UltraDMA "mode" to be set for a CD-ROM drive,
           where n is a number between 0 and 6, as follows:
             0 = ATA-16,   16 MB/sec.     4 = ATA-66,   66 MB/sec.
             1 = ATA-25,   25 MB/sec.     5 = ATA-100, 100 MB/sec.
             2 = ATA-33,   33 MB/sec.     6 = ATA-133, 133 MB/sec.
           A CD-ROM drive designed to use "modes" LESS than the given value
           will be limited to its own highest "mode". /M will be IGNORED for
           CD-ROM drives which cannot do UltraDMA, and it will be ignored for
           ALL drives if /UX is also given.
      /PM  Requests the driver to check the IDE primary-master unit for a
           CD-ROM drive during driver init. If a CD-ROM drive is NOT found as
           primary-master, driver loading will ABORT!
      /PS  Same as /PM but tests the primary-slave unit only.
      /SM  Same as /PM but tests the secondary-master unit only.
      /SS  Same as /PM but tests the secondary-slave unit only.
           --- NOTE ---
           Using multiple drives, multiple /PM /PS /SM /SS switches can be
           given. The first-specified drive is addressed as "unit 0", the
           second as "unit 1", etc. If fewer switches than drives are given,
           the unreferenced drives will NOT be used. If NO such switches are
           given, the driver "scans" for CD-ROM drives, from primary-master
           to secondary-slave. The first drive found will be "unit 0", the
           second will be "unit 1", etc.
      /UF  Enables "Fast UltraDMA". Data input requests that cross an UltraDMA
           "64K boundary" are executed using a 2-element DMA command list, one
           for data up to the boundary, and one for data beyond it. CD-ROM
           speed is increased significantly. "PIO mode" input is still needed
           for user buffers that are misaligned (not at an even 4-byte address).
           /UF will be IGNORED for CD-ROM drives which cannot do UltraDMA.
           --- NOTE ---
           Despite any UltraDMA specs, NOT ALL chipsets or mainboards can run
           multi-element DMA commands properly! Although it is valuable, /UF
           must be TESTED on every system, and "Fast UltraDMA" should be
           enabled with CARE!!
      /UX  Disables ALL UltraDMA, even for CD-ROM drives capable of it. The
           driver then uses "PIO mode" for all data input. /UX should be
           needed only for tests and diagnostic work.
      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:

      The CD-ROM driver was named XCDROM.SYS until version 2.2. Later it was
      named UDVD.SYS and at the end UIDE.SYS.
      XCDROM.SYS supports NLS (national language support), see xcdmsgs.eng.
      It only has to be compiled in the corresponding language.

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

## Examples:

      IN CONFIG.SYS / FDCONFIG.SYS:
        DEVICE=c:\fdos\bin\XCDROM.SYS
        DEVICEHIGH=c:\fdos\bin\XCDROM.SYS /D:CDROM001 /SM /SS
      IN AUTOEXEC.BAT:
        c:\fdos\bin\SHSUCDX /D:CDROM001

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

## See also:

     (atapicdd.sys)
      autoexec.bat
      config.sys
      devload
      fdconfig.sys
     (gcdrom.sys)
     (mscdex)
      shsucdx
     (udvd.sys)
      uide.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 © 2006 Jack Ellis, updated 2011 by W. Spiegl.

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