MSCDEX as seen from a Windows 98 installation CD
|Initial release||1986, 32–33 years ago|
2.96 / 1995
|Operating system||DOS, Windows|
|License||Proprietary commercial software|
MSCDEX or Microsoft CD-ROM Extensions is a software program produced by Microsoft and included with MS-DOS 6.x and certain versions of Windows to provide CD-ROM support. Earlier versions of MSCDEX since 1986 were installable add-ons for MS-DOS 3.1 and higher.
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 file systems. This requires the previous loading of an appropriate CD-ROM device driver (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 TSR program and an extension to the redirector interface (CDEX).
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 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, 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 INSTALL 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.
In 1998, Caldera provided a DRFAT32 driver for DR-DOS to dynamically mount and unmount FAT32 volumes on DOS versions otherwise not natively supporting FAT32. DRFAT32 uses a variation and extension of the CDEX API in order to achieve this and work with older DOS versions.
- Wolverton, Van (2003). Running MS-DOS Version 6.22 (20th Anniversary Edition), 6th Revised edition. Microsoft Press. ISBN 0-7356-1812-7.
- "History of Microsoft MS-DOS CD-ROM Extensions". Microsoft. q123408. Archived from the original on 2008-07-08. Retrieved 2007-11-24.
- Barney, Douglas (1986-09-22). "Microsoft lets micros read CD-ROMs". Computerworld: 13. Retrieved 2016-11-18.
- Mace, Scott (1986-09-22). "Extensions to MS-DOS Run CD-ROM". InfoWorld. 8 (38): 1, 8. Retrieved 2016-11-09.
- Johnston, Stuart J. (1988-03-07). "Microsoft Steals Show At Its CD ROM Meeting - Firm Unveils Two Business Titles". InfoWorld: 198.
- "Release notes for Microsoft MS-DOS CD-ROM Extensions 2.1". Microsoft. 1994-03-16 [1992-05-30]. MSCDEX21.DOC. Archived from the original on 2018-05-11. Retrieved 2018-05-11.
- "Subject: Microsoft MS-DOS CD-ROM Extensions 2.1". Microsoft. Archived from the original on 2018-05-11. Retrieved 2018-05-11.
- Paul, Matthias R. (1997-07-30) [1994-05-01]. NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. MPDOSTIP. Release 157 (in German) (3 ed.). Archived from the original on 2016-11-04. Retrieved 2014-08-06. (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.) 
- Schulman, Andrew; Brown, Ralf D.; Maxey, David; Michels, Raymond J.; Kyle, Jim (1994) [November 1993]. Undocumented DOS: A programmer's guide to reserved MS-DOS functions and data structures - expanded to include MS-DOS 6, Novell DOS and Windows 3.1 (2 ed.). Addison Wesley. ISBN 0-201-63287-X. ISBN 978-0-201-63287-3. (xviii+856+vi pages, 3.5"-floppy) Errata: 
- Paul, Matthias R. (1997-03-03) . "INSTCDEX v2.12". Archived from the original on 2009-02-15. Retrieved 2018-07-16.
[…] load CD-ROM drivers like NWCDEX.EXE/MSCDEX.EXE in CONFIG.SYS by using INSTCDEX […] more flexibility […] loading order of drivers […] more free UMB-RAM during installation […] better highloading memory consuming redirector drivers […] install […] other drivers […] from CD-ROM during execution of CONFIG.SYS […] setting the local CD-ROM flag […]
- Paul, Matthias R. (1997-06-26). "NWCDEX". OpenDOS. Archived from the original on 2018-05-10. Retrieved 2018-05-10.
[…] Since Novell DOS the pre-CDS […] is an internal array containing 26 entries located at the upper end of the conventional memory, although the lastdrive entries in SYSVARS only report a lower value. LASTDRIVE= is one of those directives taking effect only *after* CONFIG.SYS, and the CDS array will be moved to its target position and will be reduced down to the LASTDRIVE= (or other minimum) or will be expanded up to 32 entries. […] INSTCDEX […] free already assigned drive slots for NWCDEX and thus allows NWCDEX to load in CONFIG.SYS. However, it will be unlinked after CONFIG.SYS, since the CDS-array is moved. INSTCDEX also provides means to save the status of the CDS-entry in CONFIG.SYS and relink […] NWCDEX to the new CDS in AUTOEXEC.BAT. […]
- Paul, Matthias R. (1997-10-02). "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". Archived from the original on 2003-10-04. Retrieved 2009-03-29. 
- About CorelCDX Version 1.0, archived from the original on 2016-11-18, retrieved 2016-11-18
- Platt, Robert; Spiegl, W. (2008) . "Command: shsucdx". FreeDOS Spec Command HOWTO. Archived from the original on 2018-05-11. Retrieved 2018-05-11.
- Ellis, Jack; Spiegl, W. (2011) . "Command: uide.sys / uidejr.sys". FreeDOS Spec Command HOWTO. Archived from the original on 2018-05-11. Retrieved 2018-05-11.
- "SHSUCDX V3.03A CD-ROM Interface Driver". 2005-12-26. SHCDX33A.ZIP. Archived from the original on 2006-10-12.
- Ralf D. Brown. Ralf Brown's Interrupt List, INTER61 as of 2000-07-16 ()
- "MS-DOS CD-ROM Extensions 2.2 Information Pack". Microsoft. 1991-11-01. DR0498.EXE. Archived from the original on 2018-05-11. Retrieved 2018-05-11. (Self-extracting archive, includes Microsoft MS-DOS CD-ROM Extensions Hardware-Dependent Device Driver Specification)
- "Command-Line Switches for MSCDEX.EXE". 2.4. Microsoft. 2007-01-18. KB87165, Q87165. Archived from the original on 2007-11-17.
- "MSCDEX--Examples". Archived from the original on 2007-11-25.
- Cooper, Jim (2001). Special Edition Using MS-DOS 6.22 (3 ed.). Que Publishing. ISBN 978-078972573-8.
- O'Reilly, Tim; Mott, Troy; Glenn, Walter (1999). Windows 98 in a Nutshell: A Desktop Quick Reference. O'Reilly. ISBN 978-1-56592486-4.
|Wikibooks has a book on the topic of: Guide to Windows Commands|