MSCDEX or Microsoft CD-ROM Extensions is a
software program
A computer program is a sequence or set of instructions in a programming language for a computer to execute. It is one component of software, which also includes documentation and other intangible components.
A ''computer program'' in its h ...
produced by
Microsoft
Microsoft Corporation is an American multinational corporation and technology company, technology conglomerate headquartered in Redmond, Washington. Founded in 1975, the company became influential in the History of personal computers#The ear ...
and included with
MS-DOS
MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
6.x
and certain versions of
Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
to provide
CD-ROM
A CD-ROM (, compact disc read-only memory) is a type of read-only memory consisting of a pre-pressed optical compact disc that contains computer data storage, data computers can read, but not write or erase. Some CDs, called enhanced CDs, hold b ...
support.
Earlier versions of MSCDEX since 1986 were installable add-ons for
MS-DOS 3.1 and higher.
Overview
The program is a driver executable which allows
DOS
DOS (, ) is a family of disk-based operating systems for IBM PC compatible computers. The DOS family primarily consists of IBM PC DOS and a rebranded version, Microsoft's MS-DOS, both of which were introduced in 1981. Later compatible syste ...
programs to recognize, read, and control CD-ROMs using the
High Sierra and – since version 2.0 as of 1988 – also the
ISO 9660 file systems.
This requires the previous loading of an appropriate CD-ROM
device driver
In the context of an operating system, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabli ...
(example: OAKCDROM.SYS), usually from
CONFIG.SYS.
The final version of the MSCDEX program was 2.25, included with
Windows 95 and used when creating bootable floppy disks with CD-ROM support. Starting with Windows 95, CD-ROM access became possible through a 32-bit CDFS driver.
The driver uses the Microsoft networks interface in MS-DOS. This is the reason that at least version 3.1 of MS-DOS is required. The driver essentially looks similar to a network drive from the system perspective. It is implemented as a
terminate-and-stay-resident program
A terminate-and-stay-resident program (commonly TSR) is a computer program running under DOS that uses a system call to return control to DOS as though it has finished, but remains in computer memory so it can be reactivated later. This techni ...
and an extension to the
redirector interface (CDEX).
Datalight
Datalight was a privately held software company specializing in power failsafe and high performance software for preserving data integrity in embedded systems. The company was founded in 1983 by Roy Sherrill, and its headquarters is in Bothell, W ...
ROM-DOS
Datalight was a privately held software company specializing in power failsafe and high performance software for preserving data integrity in embedded systems. The company was founded in 1983 by Roy Sherrill, and its headquarters is in Bothell, ...
includes an implementation of MSCDEX.
Alternatives
Novell DOS 7,
Caldera OpenDOS 7.01 and
DR-DOS 7.02 and higher provide a functional equivalent to MSCDEX named NWCDEX, which also runs under MS-DOS and
PC DOS. It has more flexible
load-high capabilities, also allowing to
relocate and run in
protected mode
In computing, protected mode, also called protected virtual address mode, is an operational mode of x86-compatible central processing units (CPUs). It allows system software to use features such as Memory_segmentation, segmentation, virtual mem ...
through
DPMS on
286 and higher processors, thereby leaving only a 7 KB stub in
conventional or
upper memory (in comparison to MSCDEX, which occupies some 16 KB).
Using
EMS with a
page frame
A page, memory page, or virtual page is a fixed-length contiguous block of virtual memory, described by a single entry in a page table. It is the smallest unit of data for memory management in an operating system that uses virtual memory. Simila ...
, NWCDEX can reduce its footprint even down to a few bytes in conventional memory.
In contrast to MSCDEX, the driver does not depend on undocumented
DOS APIs
and therefore, with a third-party helper tool named INSTCDEX,
can be loaded via statements and be fully functional in
CONFIG.SYS thereby increasing chances to load the driver high and, under these operating systems, allow to load other drivers not only from hard disk but also from CD-ROM while the operating system is still processing CONFIG.SYS.
An alternative solution, but less flexible, some versions of DR-DOS offer to delay the installation of a driver in CONFIG.SYS until after the DOS data segment relocation via