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]
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.
3 = ATA-44, 44 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.
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.
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
See also:
(atapicdd.sys)
autoexec.bat
config.sys
devload
fdconfig.sys
(gcdrom.sys)
(mscdex)
shsucdx
(udvd.sys)
uide.sys
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.