Software:MSCDEX

From HandWiki

MSCDEX
Windows 98 startup disk screenshot.png
MSCDEX as seen from a Windows 98 installation CD
Developer(s)Microsoft
Initial release1986, 37–38 years ago
Stable release
2.25 / 1995; 29 years ago (1995)
Operating systemDOS, Windows
Platformx86
TypeCommand
LicenseProprietary commercial software

MSCDEX or Microsoft CD-ROM Extensions is a software program produced by Microsoft and included with MS-DOS 6.x[1] and certain versions of Windows to provide CD-ROM support.[2] Earlier versions of MSCDEX since 1986 were installable add-ons for MS-DOS 3.1 and higher.[3][4]

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 file systems.[5][6] 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,[citation needed] 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[6] and an extension to the redirector interface (CDEX).

Datalight ROM-DOS includes an implementation of MSCDEX.[7]

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 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).[8] Using EMS with a page frame, NWCDEX can reduce its footprint even down to a few bytes in conventional memory.[8] In contrast to MSCDEX, the driver does not depend on undocumented DOS APIs[8][9] and therefore, with a third-party helper tool named INSTCDEX,[8][10][11][12] 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.[8][12] 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 INSTALLLAST.

Based on NWCDEX, IMS REAL/32, a successor to Novell's Multiuser DOS and Digital Research's Concurrent DOS, provides a similar driver named IMSCDEX.[8]

A cloaked variant of MSCDEX was provided as part of Helix Software's Multimedia Cloaking product. It uses Cloaking to relocate and run in protected mode on 386 and higher processors.

Corel offered CORELCDX.COM as alternative to MSCDEX.[13]

There's a free alternative called SHSUCDX[14] that is used with the IDE/ATA driver UIDE.SYS[15] first released in 2005.[16] It is often used with FreeDOS and works with other DOSes as well.

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.[17]

See also

References

  1. Running MS-DOS Version 6.22 (6th revised ed.). Microsoft Press. 2003. ISBN 0-7356-1812-7. 
  2. "History of Microsoft MS-DOS CD-ROM Extensions (MSCDEX)". Microsoft Product Support Services. Microsoft Corporation. 2000-01-18. http://support.microsoft.com/kb/q123408/.  [1] (NB. Has information on MSCDEX versions 2.1, 2.2, 2.21, 2.22, 2.23.)
  3. "Microsoft lets micros read CD-ROMs". Computerworld: 13. 1986-09-22. https://books.google.com/books?id=vrrvpxLbx7UC&pg=PA13. Retrieved 2016-11-18. 
  4. "Extensions to MS-DOS Run CD-ROM". InfoWorld 8 (38): 1, 8. 1986-09-22. https://books.google.com/books?id=ZS8EAAAAMBAJ&pg=PA1. Retrieved 2016-11-09. 
  5. "Microsoft Steals Show At Its CD ROM Meeting - Firm Unveils Two Business Titles". InfoWorld: 198. 1988-03-07. https://books.google.com/books?id=CD8EAAAAMBAJ&pg=PA20. 
  6. 6.0 6.1 "Microsoft MS-DOS CD-ROM Extensions 2.1". Microsoft. 1994-03-16. http://cybermax.tripod.com/mscdex.txt.  [2]
  7. "Datalight ROM-DOS User's Guide". Datalight, Inc.. April 2005. https://www.datalight.com/assets/files/ROM-DOS_Users_Guide.pdf.  (268 pages)
  8. 8.0 8.1 8.2 8.3 8.4 8.5 (in de) NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds (3 ed.). 1997-07-30. http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm. 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.) [3]
  9. 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. 1994. ISBN 0-201-63287-X. https://archive.org/details/undocumenteddosp00andr_0.  (xviii+856+vi pages, 3.5"-floppy) Errata: [4][5]
  10. "INSTCDEX v2.12". 1997-03-03. http://www.uni-bonn.de:80/~uzs180/mpdokeng.html#M.INSTCDEX. "[…] 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 […]" 
  11. "NWCDEX". OpenDOS. 1997-06-26. http://www.delorie.com/opendos//archives/browse.cgi?p=opendos/1997/06/26/06:13:28. "[…] 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. […]" 
  12. 12.0 12.1 "Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT". 1997-10-02. http://www.uni-bonn.de/~uzs180/download/ibmbioa3.zip.  [6]
  13. Mention of CORELCDX, http://files.mpoli.fi/unpacked/drivers_1/cd/teac/4x/teac4.zip/readme.txt, retrieved 2023-12-31 
  14. "Command: shsucdx". FreeDOS Spec Command HOWTO. 2008. http://help.fdos.org/en/hhstndrd/base/shsucdx.htm. 
  15. "Command: uide.sys / uidejr.sys". FreeDOS Spec Command HOWTO. 2011. http://www.bootablecd.de/FreeDOS/help/en/hhstndrd/base/uide.htm. 
  16. "SHSUCDX V3.03A CD-ROM Interface Driver". 2005-12-26. http://johnson.tmfc.net/dos/shsucdx.html. 
  17. Ralf D. Brown. Ralf Brown's Interrupt List, INTER61 as of 2000-07-16 ([7])

Further reading

External links