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. Computer programs are one component of software, which also includes documentation and other intangible components.
A computer program ...
produced by
Microsoft
Microsoft Corporation is an American multinational corporation, multinational technology company, technology corporation producing Software, computer software, consumer electronics, personal computers, and related services headquartered at th ...
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 oper ...
6.x
and certain versions of
Windows
Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
to provide
CD-ROM 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 programs to recognize, read, and control CD-ROMs using the
High Sierra and – since version 2.0 as of 1988 – also the
ISO 9660
ISO 9660 (also known as Ecma International, ECMA-119) is a file system for CD-ROM, optical disc media. The file system is an international standard available from the International Organization for Standardization (ISO). Since the specification ...
file system
In computing, file system or filesystem (often abbreviated to fs) is a method and data structure that the operating system uses to control how data is stored and retrieved. Without a file system, data placed in a storage medium would be one lar ...
s.
This requires the previous loading of an appropriate CD-ROM
device driver
In computing, 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, enabling operating systems and o ...
(example: OAKCDROM.SYS), usually from
CONFIG.SYS
CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS (typically residin ...
.
The final version of the MSCDEX program was 2.25, included with
Windows 95
Windows 95 is a consumer-oriented operating system developed by Microsoft as part of its Windows 9x family of operating systems. The first operating system in the 9x family, it is the successor to Windows 3.1x, and was released to manufactur ...
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
TSR program
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 is headquartered in Bothell, Washi ...
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 is headquartered in Bothell, Wa ...
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 virtual memory, paging and safe multi-taskin ...
through
DPMS on
286
__NOTOC__
Year 286 ( CCLXXXVI) was a common year starting on Friday (link will display the full calendar) of the Julian calendar. At the time, it was known as the Year of the Consulship of Maximus and Aquilinus (or, less frequently, year 1039 ...
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 the page table. It is the smallest unit of data for memory management in a virtual memory operating system. Similarly, a ...
, 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
CONFIG.SYS is the primary configuration file for the DOS and OS/2 operating systems. It is a special ASCII text file that contains user-accessible setup or configuration directives evaluated by the operating system's DOS BIOS (typically residin ...
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