Jump to content

MSCDEX: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
AnomieBOT (talk | contribs)
m Dating maintenance tags: {{Dead link}}
No edit summary
 
(39 intermediate revisions by 13 users not shown)
Line 1: Line 1:
{{Redirect|Microsoft CD-ROM Extensions|Microsoft's extension to the ISO 9660 format|Joliet (file system)}}
{{Redirect|Microsoft CD-ROM Extensions|Microsoft's extension to the ISO 9660 format|Joliet (file system)}}
{{Use dmy dates|date=June 2019|cs1-dates=y}}
[[File:Windows 98 startup disk screenshot.png|thumb|MSCDEX as seen from a [[Windows 98]] installation CD]]
{{Use list-defined references|date=January 2022}}
'''MSCDEX''' or '''Microsoft CD-ROM Extensions''' is a [[Computer program|software program]] produced by [[Microsoft]] and included with [[MS-DOS]] 6.x and certain versions of [[Microsoft Windows]].<ref>[http://support.microsoft.com/kb/q123408/ History of Microsoft MS-DOS CD-ROM Extensions]</ref> Earlier versions of MSCDEX since 1986 were installable add-ons for MS-DOS 3.1 and higher.<ref name="Barney_1986">{{cite journal |title=Microsoft lets micros read CD-ROMs |journal=[[Computerworld]] |author-first=Douglas |author-last=Barney |date=1986-09-22 |page=13 |url=https://books.google.de/books?id=vrrvpxLbx7UC&pg=PA13&lpg=PA13 |access-date=2016-11-18}}</ref><ref name="Mace_1986">{{cite journal |title=Extensions to MS-DOS Run CD-ROM |author-first=Scott |author-last=Mace |journal=[[InfoWorld]] |volume=8 |issue=38 |date=1986-09-22 |pages=1, 8 |url=https://books.google.com/books?id=ZS8EAAAAMBAJ&pg=PA1 |access-date=2016-11-09}}</ref>
{{Infobox software
| name = MSCDEX
| logo =
| screenshot = Windows 98 startup disk screenshot.png
| screenshot size =
| caption = MSCDEX as seen from a [[Windows 98]] installation CD
| developer = [[Microsoft]]
| released = {{Release year|1986|df=yes}}
| latest release version = 2.25
| latest release date = {{Start date and age|1995|df=yes}}
| operating system = [[DOS]], [[Microsoft Windows|Windows]]
| platform = [[x86]]
| genre = [[Command (computing)|Command]]
| license = [[Proprietary software|Proprietary]] [[commercial software]]
| website =
}}
'''MSCDEX''' or '''Microsoft CD-ROM Extensions''' is a [[Computer program|software program]] produced by [[Microsoft]] and included with [[MS-DOS]]&nbsp;6.x<ref name="Wolverton_2003"/> and certain versions of [[Microsoft Windows|Windows]] to provide [[CD-ROM]] support.<ref name="Microsoft_2000_History"/> Earlier versions of MSCDEX since 1986 were installable add-ons for [[MS-DOS&nbsp;3.1]] and higher.<ref name="Barney_1986"/><ref name="Mace_1986"/>


==Overview==
It is a driver executable which allows DOS programs to recognize, read, and control [[CD-ROM]]s using the [[High Sierra file system|High Sierra]] and - since version 2.0 as of 1988 - also the [[ISO 9660]] [[file system]]s.<ref name="Johnston_1988">{{cite journal |url=https://books.google.com/books?id=CD8EAAAAMBAJ&pg=PA20&lpg=PA20 |journal=[[InfoWorld]] |date=1988-03-07 |page=198 |author-first=Stuart J. |author-last=Johnston |title=Microsoft Steals Show At Its CD ROM Meeting - Firm Unveils Two Business Titles}}</ref><ref>[http://docs.ruudkoot.nl/mscdex21.doc ''Apparently release notes for Microsoft MS-DOS CD-ROM Extensions 2.1]{{dead link|date=May 2017 |bot=InternetArchiveBot |fix-attempted=yes }}</ref> This requires the previous loading of an appropriate CD-ROM [[device driver]] (example: OAKCDROM.SYS), usually from [[CONFIG.SYS]].
The program is a driver executable which allows [[DOS]] programs to recognize, read, and control CD-ROMs using the [[High Sierra file system|High Sierra]] and since version 2.0 as of 1988 also the [[ISO&nbsp;9660]] [[file system]]s.<ref name="Johnston_1988"/><ref name="Microsoft_1994_CDEX21"/> 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.96, 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 final version of the MSCDEX program was 2.25,{{cn|date=January 2020|reason=Various editors have changed this to 2.25, 2.95 and 2.96.<!-- 2.25 is shown in Windows 98 screenshot -->}} included with [[Windows&nbsp;95]] and used when creating bootable floppy disks with CD-ROM support. Starting with Windows&nbsp;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<!-- really 3.1, not 3.31? --> of MS-DOS is required. The driver essentially looks similar<!-- not identical --> to a network drive from the system perspective. It is implemented as a [[terminate-and-stay-resident program]]<ref name="Microsoft_1994_CDEX21"/> and an extension to the [[Network redirector|redirector]] interface ('''CDEX''').
A cloaked variant of MSCDEX was provided as part of [[Helix Software]]'s [[Multimedia Cloaking]] product. It uses [[Helix Cloaking|Cloaking]] to relocate and run in [[protected mode]] on 386 processors.


[[Datalight]] [[ROM-DOS]] includes an implementation of MSCDEX.<ref name="Datalight_2005_ROM-DOS"/>
The driver uses the Microsoft Networks interface in MS-DOS. This is the reason that at least version 3.1<!-- really 3.1, not 3.31? --> of MS-DOS is required. The driver essentially looks like a network drive from the system perspective. It's implemented as a [[Terminate and Stay Resident|TSR]] program<ref>[http://cybermax.tripod.com/mscdex.txt cybermax.tripod.com - Subject: Microsoft MS-DOS CD-ROM Extensions 2.1]</ref> and an extension to the [[Network redirector|redirector]] interface ('''CDEX''').


==Alternatives==
==Alternatives==
{{anchor|NWCDEX}}[[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 [[DOS Protected Mode Services|DPMS]] on [[Intel 80286|286]] and higher processors, thereby leaving only a 7&nbsp;KB stub in conventional or upper memory (in comparison to MSCDEX, which occupies some 16&nbsp;KB).<ref name="Paul_1997_NWDOSTIP">{{cite book |title=NWDOS-TIPs &mdash; Tips &amp; Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds |work=MPDOSTIP |author-first=Matthias |author-last=Paul |date=1997-07-30 |orig-year=1994 |edition=3, release 157 |language=German |format=e-book |url=http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |access-date=2014-08-06 |dead-url=no |archive-url=https://web.archive.org/web/20161104235829/http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |archive-date=2016-11-04}} 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.</ref> Using [[Expanded Memory|EMS]] with a page frame, NWCDEX can reduce its footprint even down to a few bytes<!-- really bytes, not Kilobytes --> in conventional memory.<ref name="Paul_1997_NWDOSTIP"/> In contrast to MSCDEX, the driver does not depend on undocumented DOS APIs<ref name="Paul_1997_NWDOSTIP"/><ref name="Schulman_1994_Undocumented-DOS">{{cite book |author-first1=Andrew |author-last1=Schulman |author-first2=Ralf D. |author-last2=Brown |author-link2=Ralf D. Brown |author-first3=David |author-last3=Maxey |author-first4=Raymond J. |author-last4=Michels |author-first5=Jim |author-last5=Kyle |title=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 |publisher=[[Addison Wesley]] |edition=2 |year=1994 |ISBN=978-0-201-63287-3}}</ref> and therefore, with a third-party helper tool named '''INSTCDEX''',<ref name="Paul_1997_NWDOSTIP"/> can be loaded via <tt>[[INSTALL (CONFIG.SYS directive)|INSTALL]]</tt> statements and be fully functional in [[CONFIG.SYS]] to increase chances to load the driver high and, under these operating systems<!-- not under MS-DOS/PC DOS-->, allow to load other drivers not only from hard disk but also from CD-ROM while the operating system is still processing CONFIG.SYS.<ref name="Paul_1997_NWDOSTIP"/>
{{anchor|NWCDEX}}[[Novell&nbsp;DOS&nbsp;7]], [[Caldera OpenDOS&nbsp;7.01]] and [[DR-DOS&nbsp;7.02]] and higher provide a functional equivalent to MSCDEX named '''NWCDEX''', which also runs under MS-DOS and [[PC&nbsp;DOS]]. It has more flexible [[loadhigh|load-high]] capabilities, also allowing to [[self-relocation|relocate]] and run in [[protected mode]] through [[DOS Protected Mode Services|DPMS]] on [[Intel 80286|286]] and higher processors, thereby leaving only a 7&nbsp;KB stub in [[conventional memory|conventional]] or [[upper memory]] (in comparison to MSCDEX, which occupies some 16&nbsp;KB).<ref name="Paul_1997_NWDOSTIP"/> Using [[Expanded memory|EMS]] with a [[page frame]], NWCDEX can reduce its footprint even down to a few bytes<!-- really bytes, not Kilobytes --> in conventional memory.<ref name="Paul_1997_NWDOSTIP"/> In contrast to MSCDEX, the driver does not depend on undocumented [[DOS API]]s<ref name="Paul_1997_NWDOSTIP"/><ref name="Schulman_1994_Undocumented-DOS"/> and therefore, with a third-party helper tool named '''INSTCDEX''',<ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_1997_INSTCDEX"/><ref name="Paul_1997_NWCDEX"/><ref name="Paul_1997_OD-A3"/> can be loaded via {{mono|[[INSTALL (CONFIG.SYS directive)|INSTALL]]}} statements and be fully functional in [[CONFIG.SYS]] thereby increasing chances to load the driver high and, under these operating systems<!-- not under MS-DOS/PC DOS -->, allow to load other drivers not only from hard disk but also from CD-ROM while the operating system is still processing CONFIG.SYS.<ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_1997_OD-A3"/> 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 <code>[[<!--HI-->INSTALLLAST (CONFIG.SYS directive)|<!--[HI]-->INSTALLLAST]]</code>.


{{anchor|IMSCDEX}}Based on NWCDEX, [[Intelligent Micro Software|IMS]] [[REAL/32]], a successor to [[Novell]]'s [[Multiuser DOS]] and [[Digital Research]]'s [[Concurrent DOS]], provides a similar driver named '''IMSCDEX'''.<ref name="Paul_1997_NWDOSTIP"/>
{{anchor|IMSCDEX}}Based on NWCDEX, [[Intelligent Micro Software|IMS]] [[REAL/32]], a successor to [[Novell]]'s [[Multiuser&nbsp;DOS]] and [[Digital Research]]'s [[Concurrent&nbsp;DOS]], provides a similar driver named '''IMSCDEX'''.<ref name="Paul_1997_NWDOSTIP"/>


{{anchor|CLOAKING}}A cloaked variant of MSCDEX was provided as part of [[Helix Software]]'s [[Multimedia Cloaking]] product. It uses [[Helix Cloaking|Cloaking]] to relocate and run in protected mode on [[Intel 80386|386]] and higher processors.
{{anchor|SHSUCDEX}}There's a free alternative called '''SHSUCDX'''<ref name="BOOTCD">[http://help.fdos.org/en/hhstndrd/base/shsucdx.htm SHSUCDX]</ref> that is used with the IDE/ATA driver [http://www.bootablecd.de/FreeDOS/help/en/hhstndrd/base/uide.htm UIDE.SYS] first released in 2005<ref name="SHSUCDEX">[https://web.archive.org/web/20061012083434/http://johnson.tmfc.net/dos/shsucdx.html tmfc.net - SHSUCDX V3.03E CD-ROM Redirector]</ref> that is often used with [[FreeDOS]] and works with other DOSes as well.


{{anchor|CORELCDX}}[[Corel]] offered '''CORELCDX.COM''' as alternative to MSCDEX.<ref name="Corel"/>
In 1998 [[Caldera UK|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.


{{anchor|SHSUCDEX}}There's a free alternative called '''SHSUCDX'''<ref name="BOOTCD"/> that is used with the [[Integrated Drive Electronics|IDE]]/[[AT Attachment|ATA]] driver UIDE.SYS<ref name="UIDE.SYS"/> first released in 2005.<ref name="SHSUCDEX"/> It is often used with [[FreeDOS]] and works with other DOSes as well.
[[Corel]] also offered '''CORELCDX.COM''' as their alternative.<ref>{{cite |title=About CorelCDX Version 1.0 |url=http://contents.driverguide.com/content.php?id=129238&path=CORELCDX.TXT |access-date=2016-11-18 |dead-url=no |archive-url=https://web.archive.org/web/20161118202721/http://contents.driverguide.com/content.php?id=129238&path=CORELCDX.TXT |archive-date=2016-11-18}}</ref>

In 1998, [[Caldera UK|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.<ref name="Brown_RBIL"/>

==See also==
* [[List of DOS commands]]


==References==
==References==
{{Reflist|refs=
{{reflist}}
<ref name="Wolverton_2003">{{Cite book |author-last=Wolverton |author-first=Van |title=Running MS-DOS Version 6.22 |version=20th Anniversary Edition |edition=6th revised |date=2003 |publisher=[[Microsoft Press]] |isbn=0-7356-1812-7}}</ref>
<ref name="Microsoft_2000_History">{{cite web |title=History of Microsoft MS-DOS CD-ROM Extensions (MSCDEX) |publisher=[[Microsoft Corporation]] |date=2000-01-18 |id=Q123408 |work=Microsoft Product Support Services |url=http://support.microsoft.com/kb/q123408/ |access-date=2007-11-24 |url-status=dead |archive-url=https://web.archive.org/web/20080708235428/http://support.microsoft.com/kb/q123408/ |archive-date=2008-07-08}} [https://www.infania.net/ms6kb/Q123408.htm] (NB. Has information on MSCDEX versions 2.1, 2.2, 2.21, 2.22, 2.23.)</ref>
<ref name="Barney_1986">{{cite journal |title=Microsoft lets micros read CD-ROMs |journal=[[Computerworld]] |author-first=Douglas |author-last=Barney |date=1986-09-22 |page=13 |url=https://books.google.com/books?id=vrrvpxLbx7UC&pg=PA13 |access-date=2016-11-18}}</ref>
<ref name="Mace_1986">{{cite journal |title=Extensions to MS-DOS Run CD-ROM |author-first=Scott |author-last=Mace |journal=[[InfoWorld]] |volume=8 |issue=38 |date=1986-09-22 |pages=1, 8 |url=https://books.google.com/books?id=ZS8EAAAAMBAJ&pg=PA1 |access-date=2016-11-09}}</ref>
<ref name="Paul_1997_OD-A3">{{cite web |author-first=Matthias R. |author-last=Paul |title=Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT |url=http://www.uni-bonn.de/~uzs180/download/ibmbioa3.zip |date=1997-10-02 |access-date=2009-03-29 |url-status=dead |archive-url=https://web.archive.org/web/20031004074600/http://www-student.informatik.uni-bonn.de/~frinke/ibmbioa3.zip |archive-date=2003-10-04}} [https://web.archive.org/web/20181225154705/http://mirror.macintosharchive.org/max1zzz.co.uk/+Windows%20&%20DOS/DOS/System/Novell/Support/Bins/Op702src.zip<!-- Op702src.zip is an unofficial renamed distribution of the ibmbioa3.zip file -->]</ref>
<ref name="Brown_RBIL">[[Ralf D. Brown]]. ''[[Ralf Brown's Interrupt List]]'', INTER61 as of 2000-07-16 ([https://www.cs.cmu.edu/~ralf/files.html])</ref>
<ref name="Corel">{{citation |title=Mention of CORELCDX|url=http://files.mpoli.fi/unpacked/drivers_1/cd/teac/4x/teac4.zip/readme.txt|access-date=2023-12-31}}</ref>
<ref name="Johnston_1988">{{cite journal |url=https://books.google.com/books?id=CD8EAAAAMBAJ&pg=PA20 |journal=[[InfoWorld]] |date=1988-03-07 |page=198 |author-first=Stuart J. |author-last=Johnston |title=Microsoft Steals Show At Its CD ROM Meeting - Firm Unveils Two Business Titles}}</ref>
<ref name="Microsoft_1994_CDEX21">{{cite web |title=Microsoft MS-DOS CD-ROM Extensions 2.1 |version=Version 2.10 Beta |date=1994-03-16 |orig-year=1992-05-30 |type=MSCDEX21.DOC |id=000080010-100-O00-1186 |publisher=[[Microsoft]] |url=http://cybermax.tripod.com/mscdex.txt |access-date=2018-05-11 |url-status=live |archive-url=https://web.archive.org/web/20180511084215/http://cybermax.tripod.com/mscdex.txt |archive-date=2018-05-11}} [https://web.archive.org/web/20180511085639/http://ftp.lyx.org/pub/pc/garbo/windows/doc/mscdex21.zip]</ref>
<ref name="Paul_1997_NWDOSTIP">{{cite book |title=NWDOS-TIPs &mdash; Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds |work=MPDOSTIP |author-first=Matthias R. |author-last=Paul |date=1997-07-30 |orig-year=1994-05-01 |edition=3 |version=Release 157 |language=de |url=http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |access-date=2014-08-06 |url-status=live |archive-url=https://web.archive.org/web/20161104235829/http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |archive-date=2016-11-04}} (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<!-- still named TIPS_MP.ZIP between 1991 and 1996-11 --> 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.) [https://web.archive.org/web/20190601152204/https://www.sac.sk/download/text/mpdostip.zip<!-- A yet older version 155 from 1997-05-13 of the 1997-07-15 distribution archive. -->]</ref>
<ref name="Schulman_1994_Undocumented-DOS">{{cite book |author-first1=Andrew |author-last1=Schulman |author-first2=Ralf D. |author-last2=Brown |author-link2=Ralf D. Brown |author-first3=David |author-last3=Maxey |author-first4=Raymond J. |author-last4=Michels |author-first5=Jim |author-last5=Kyle |title=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 |publisher=[[Addison Wesley]] |edition=2 |date=1994 |orig-year=November 1993<!-- first printing --> |isbn=0-201-63287-X |url=https://archive.org/details/undocumenteddosp00andr_0}} (xviii+856+vi pages, 3.5"-floppy) Errata: [https://web.archive.org/web/20190417215556/https://www.cs.cmu.edu/afs/cs/user/ralf/pub/books/UndocumentedDOS/errata.ud2][https://web.archive.org/web/20190417212906/https://www.pcjs.org/pubs/pc/programming/Undocumented_DOS/#errata-2nd-edition]</ref>
<ref name="BOOTCD">{{cite web |title=Command: shsucdx |date=2008 |orig-year=2003 |author-first1=Robert |author-last1=Platt |author-first2=W. |author-last2=Spiegl |work=[[FreeDOS]] Spec Command HOWTO |url=http://help.fdos.org/en/hhstndrd/base/shsucdx.htm |access-date=2018-05-11 |url-status=live |archive-url=https://web.archive.org/web/20180511081140/http://help.fdos.org/en/hhstndrd/base/shsucdx.htm |archive-date=2018-05-11}}</ref>
<ref name="UIDE.SYS">{{cite web |title=Command: uide.sys / uidejr.sys |date=2011 |orig-year=2007 |author-first1=Jack |author-last1=Ellis |author-first2=W. |author-last2=Spiegl |work=[[FreeDOS]] Spec Command HOWTO |url=http://www.bootablecd.de/FreeDOS/help/en/hhstndrd/base/uide.htm |access-date=2018-05-11 |url-status=live |archive-url=https://web.archive.org/web/20180511081202/http://www.bootablecd.de/FreeDOS/help/en/hhstndrd/base/uide.htm |archive-date=2018-05-11}}</ref>
<ref name="SHSUCDEX">{{cite web |title=SHSUCDX V3.03A CD-ROM Interface Driver |id=SHCDX33A.ZIP |date=2005-12-26 |url=http://johnson.tmfc.net/dos/shsucdx.html |url-status=dead |archive-url=https://web.archive.org/web/20061012083434/http://johnson.tmfc.net/dos/shsucdx.html |archive-date=2006-10-12}}</ref>
<ref name="Paul_1997_INSTCDEX">{{cite web |title=INSTCDEX v2.12 |author-first=Matthias R. |author-last=Paul |date=1997-03-03 |orig-year=1996 |url=http://www.uni-bonn.de:80/~uzs180/mpdokeng.html#M.INSTCDEX |url-status=dead |archive-url=https://web.archive.org/web/20090215001349/http://www.uni-bonn.de/~uzs180/mpdokeng.html#M.INSTCDEX |archive-date=2009-02-15 |quote=[…] load CD-ROM drivers like NWCDEX.EXE/MSCDEX.EXE in CONFIG.SYS by using INSTCDEX […] more flexibility […] loading order of drivers […] more free [[upper memory block|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 […] |access-date=2018-07-16}}</ref>
<ref name="Paul_1997_NWCDEX">{{cite web |title=NWCDEX |author-first=Matthias R. |author-last=Paul |date=1997-06-26 |work=[[OpenDOS]] |url=http://www.delorie.com/opendos//archives/browse.cgi?p=opendos/1997/06/26/06:13:28 |access-date=2018-05-10 |url-status=live |archive-url=https://web.archive.org/web/20180510211627/http://www.delorie.com/opendos//archives/browse.cgi?p=opendos%2F1997%2F06%2F26%2F06%3A13%3A28 |archive-date=2018-05-10 |quote=[…] Since [[Novell DOS]] the pre-[[Current Directory Structure|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 (CONFIG.SYS directive)|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]]. […]}}</ref>
<ref name="Datalight_2005_ROM-DOS">{{cite web |title=Datalight ROM-DOS User's Guide |date=April 2005 |publisher=[[Datalight, Inc.]] |id=Part No. 3010-0200-0716 |url=https://www.datalight.com/assets/files/ROM-DOS_Users_Guide.pdf |access-date=2021-01-02 |url-status=live |archive-url=https://web.archive.org/web/20211206062213/https://www.datalight.com/assets/files/ROM-DOS_Users_Guide.pdf |archive-date=2021-12-06}} (268 pages)</ref>
}}

==Further reading==
* {{Cite web |title=MS-DOS CD-ROM Extensions 2.2 Information Pack |id=DR0498.EXE |publisher=[[Microsoft]] |date=1991-11-01 |url=http://ftpmirror.your.org/pub/misc/ftp.microsoft.com/Softlib/MSLFILES/DR0498.EXE<!-- ftp://ftp.microsoft.com/Softlib/MSLFILES/DR0498.EXE --> |access-date=2018-05-11 |url-status=live |archive-url=https://web.archive.org/web/20180511080837/http://ftpmirror.your.org/pub/misc/ftp.microsoft.com/Softlib/MSLFILES/DR0498.EXE |archive-date=2018-05-11}} (Self-extracting archive, includes ''Microsoft MS-DOS CD-ROM Extensions Hardware-Dependent Device Driver Specification'')
* {{Cite web |title=Command-Line Switches for MSCDEX.EXE |publisher=[[Microsoft]] |date=2007-01-18 |version=2.4 |id=KB87165, Q87165 |url=http://support.microsoft.com/kb/87165 |url-status=dead |archive-url=https://web.archive.org/web/20071117234429/http://support.microsoft.com/kb/87165 |archive-date=2007-11-17}}
* {{Cite web |title=MSCDEX - Examples |url=http://2dos.homepage.dk/batutil/help/MSCDEX_E.HTM |url-status=dead |archive-url=https://web.archive.org/web/20071125174303/http://2dos.homepage.dk/batutil/help/MSCDEX_E.HTM |archive-date=2007-11-25}}
* {{Cite book |author-last=Cooper |author-first=Jim |title=Using MS-DOS 6.22 |version=Special Edition |edition=3 |date=2001 |publisher=[[Que Publishing]] |isbn=978-0-7897-2573-8}}
* {{Cite book |author-first1=Tim |author-last1=O'Reilly |author-link1=Tim O'Reilly |author-first2=Troy |author-last2=Mott |author-first3=Walter |author-last3=Glenn |date=1999 |title=Windows 98 in a Nutshell: A Desktop Quick Reference |publisher=[[O'Reilly Media|O'Reilly]] |isbn=978-1-56592-486-4 |url=https://archive.org/details/windows98innutsh00orei}}


==External links==
==External links==
{{Wikibooks|Guide to Windows Commands}}
*[http://support.microsoft.com/kb/87165 Command-Line Switches for MSCDEX.EXE]{{dead link|date=September 2017}}
* [https://www.computerhope.com/mscdex.htm MS-DOS and Windows command line MSCDEX command]
*[ftp://ftp.microsoft.com/Softlib/MSLFILES/DR0498.EXE MS-DOS CD-ROM Extensions 2.2 Information Pack] (self-extracting archive, includes ''Microsoft MS-DOS CD-ROM Extensions Hardware-Dependent Device Driver Specification'')

*[https://web.archive.org/web/20071125174303/http://2dos.homepage.dk/batutil/help/MSCDEX_E.HTM Examples of use in CONFIG.SYS]
{{Windows commands}}


[[Category:External DOS commands]]
[[Category:External DOS commands]]
[[Category:Windows commands]]

Latest revision as of 17:54, 31 December 2023

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]