MSCDEX

From Wikipedia, the free encyclopedia
(Redirected from NWCDEX)
Jump to navigation Jump to search

MSCDEX
DeveloperMicrosoft
Initial release1986, 39–40 years ago
Stable release
2.25 / 1995; 31 years ago (1995)
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    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 | edit source]

    The program is a driver executable which allows MS-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 | edit source]

    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 | edit source]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [1] (NB. Has information on MSCDEX versions 2.1, 2.2, 2.21, 2.22, 2.23.)
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [2]
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). (268 pages)
    8. ^ a b c d e f Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). (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. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). (xviii+856+vi pages, 3.5"-floppy) Errata: [4][5]
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). [6]
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Ralf D. Brown. Ralf Brown's Interrupt List, INTER61 as of 2000-07-16 ([7])

    Further reading

    [edit | edit source]
    • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value). (Self-extracting archive, includes Microsoft MS-DOS CD-ROM Extensions Hardware-Dependent Device Driver Specification)
    • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    • Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]