Jump to content

MSCDEX

From Wikipedia, the free encyclopedia

This is the current revision of this page, as edited by Allo002 (talk | contribs) at 17:54, 31 December 2023. The present address (URL) is a permanent link to this version.

(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)

MSCDEX
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

[edit]

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

[edit]

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

[edit]

References

[edit]
  1. ^ Wolverton, Van (2003). Running MS-DOS Version 6.22. 20th Anniversary Edition (6th revised ed.). Microsoft Press. ISBN 0-7356-1812-7.
  2. ^ "History of Microsoft MS-DOS CD-ROM Extensions (MSCDEX)". Microsoft Product Support Services. Microsoft Corporation. 2000-01-18. Q123408. Archived from the original on 2008-07-08. Retrieved 2007-11-24. [1] (NB. Has information on MSCDEX versions 2.1, 2.2, 2.21, 2.22, 2.23.)
  3. ^ Barney, Douglas (1986-09-22). "Microsoft lets micros read CD-ROMs". Computerworld: 13. Retrieved 2016-11-18.
  4. ^ Mace, Scott (1986-09-22). "Extensions to MS-DOS Run CD-ROM". InfoWorld. 8 (38): 1, 8. Retrieved 2016-11-09.
  5. ^ Johnston, Stuart J. (1988-03-07). "Microsoft Steals Show At Its CD ROM Meeting - Firm Unveils Two Business Titles". InfoWorld: 198.
  6. ^ a b "Microsoft MS-DOS CD-ROM Extensions 2.1" (MSCDEX21.DOC). Version 2.10 Beta. Microsoft. 1994-03-16 [1992-05-30]. 000080010-100-O00-1186. Archived from the original on 2018-05-11. Retrieved 2018-05-11. [2]
  7. ^ "Datalight ROM-DOS User's Guide" (PDF). Datalight, Inc. April 2005. Part No. 3010-0200-0716. Archived (PDF) from the original on 2021-12-06. Retrieved 2021-01-02. (268 pages)
  8. ^ a b c d e f 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. Release 157 (in German) (3 ed.). Archived from the original on 2016-11-04. Retrieved 2014-08-06. {{cite book}}: |work= ignored (help) (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. ^ 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. (xviii+856+vi pages, 3.5"-floppy) Errata: [4][5]
  10. ^ Paul, Matthias R. (1997-03-03) [1996]. "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 […]
  11. ^ 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. […]
  12. ^ a b 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. [6]
  13. ^ Mention of CORELCDX, retrieved 2023-12-31
  14. ^ Platt, Robert; Spiegl, W. (2008) [2003]. "Command: shsucdx". FreeDOS Spec Command HOWTO. Archived from the original on 2018-05-11. Retrieved 2018-05-11.
  15. ^ Ellis, Jack; Spiegl, W. (2011) [2007]. "Command: uide.sys / uidejr.sys". FreeDOS Spec Command HOWTO. Archived from the original on 2018-05-11. Retrieved 2018-05-11.
  16. ^ "SHSUCDX V3.03A CD-ROM Interface Driver". 2005-12-26. SHCDX33A.ZIP. Archived from the original on 2006-10-12.
  17. ^ Ralf D. Brown. Ralf Brown's Interrupt List, INTER61 as of 2000-07-16 ([7])

Further reading

[edit]
[edit]