The Microsoft MS-DOS CD-ROM Extensions are an extension to the MS-DOS operating system which permit reading CD-ROM discs which conform to both the High Sierra May 28th format and the ISO-9660 version of the High Sierra format. The CD-ROM disc appears just like a magnetic disk to the user and to applications software, ensuring compatibility with current software. Microsoft, as creator of the MS-DOS operating system, is able to ensure compatibility with MS-DOS.

Product Components

The complete product consists of a program supplied by Microsoft and of a hardware-dependent device driver supplied by an OEM customer. The program supplied by Microsoft is named MSCDEX.EXE. Technical documentation as well as a sample hardware-dependent device driver are also supplied by Microsoft.

Product Highlights of Version 2.20

Note:

This document contains references to example source code for a hardware dependent device driver (CD.ASM) and for the MSCDEX.EXE (MSCDEX.ASM) program.  The enclosed disk does not contain this code.  To obtain this sample code you must have an OEM license agreement for MSCDEX.  For information about obtaining this license agreement call the Microsoft Information Center at 1-800-426-9400.

Three test programs are included with this release to help test your CD-ROM drivers. The program TESTDRV is a general test that very rigorously tests your driver against the MSCDEX specifications. The programs DOSSPEED and WINSPEED are specific tests to check the transfer rate of your driver under the DOS and Windows environments. The three test programs are located on the DISK1: disk. The documentation for the test programs is in the TESTDRV.RTF and SPEED.RTF files on the DISK2: disk.

An improved version of the Hitachi example CD-ROM driver has replaced the previous example drivers. This driver complies with the specification and eliminates many of the operating anomalies associated with earlier versions. The source code for this driver places the device dependent and device independent portions of the code in separate modules (CD.ASM and MSCDEX.ASM respectively). By inspecting the device independent code module, it is now easier to understand how the driver conforms to the specification. If the test program reveals any problems with your current device driver, examine MSCDEX.ASM to see how its structure and organization conforms to the specification.  The source code for the example program is in the HITACHI directory on the DISK1: disk. A full description of the driver is located in the EXAMPLE.RTF file on the DISK2: disk.

Other changes to the Microsoft MS-DOS CD-ROM Extensions Version 2.20 include:

		- Approximately 12 kilobytes of the lower 640K memory is freed by 
		  moving the dynamic buffers to EMS memory (/E option).

		- SETUP.EXE now detects EMS memory and automatically
		   uses the /E option for installation when EMS memory is available.

		- A set "owner id" bit in the directory entry is now recognized. 

		-  The expanded memory interface now avoids writing extraneous data
		   into the expanded memory buffers of an application.  

		- Function Request #8, Absolute Disk Read, no longer returns 
		  an error when 0 sectors are requested.

		- The DOS 4.0 interface now returns the "Access denied" or "File not found" 
		   error message as required.

		-  The return value of the READ Device Status command now indicates 
		    whether reading of the R-W sub-channels is supported.  The corresponding 
		    description for obtaining the audio sub-channel information has been 
		    expanded  to cover the need for obtaining this information concurrently 
		    with audio data. 

		- The MSCDEX release files are now distributed on two disks. The 
		   contents of the distribution disks are described in the READ.ME files.

		- The descriptions of the PLAY AUDIO, STOP AUDIO,
		   and RESUME AUDIO functions have been rewritten for clarity.

		- The formatted documentation files are now in RTF format. These 
		   files are readable with Microsoft Word for Windows or 
		  Microsoft Word for DOS.

Technical Overview

Characteristics
- Requires MS-DOS 3.1 or higher (or PC-DOS 3.1 or higher)
- Implements the High Sierra May 28th format and ISO-9660
- Requires a hardware-dependent device driver

This product uses the Microsoft Networks interface to MS-DOS so it requires MS-DOS version 3.1 or higher.  MS-DOS 3.1 virtualizes the interface to drives. The entire CD-ROM (potentially all 660 megabytes) will appear to applications as a single MS-DOS drive letter. The Microsoft MS-DOS CD-ROM Extensions provide a high degree of compatibility with applications that depend on MS-DOS standard interfaces. Applications can access files on the CD-ROM just as they would on any disk.

The program MSCDEX.EXE is an installable file system driver implemented as a terminate and stay resident module. The user will load this program using AUTOEXEC.BAT when the computer is booted. The hardware-dependent device driver implements basic functions to read the CD-ROM disc and is loaded with the MS-DOS CONFIG.SYS file.

The Microsoft MS-DOS CD-ROM Extensions implement both the May 28th High Sierra file format and the ISO-9660 version of that standard.  All features defined in May 28th proposal for Level 1 are implemented.  In addition the following are implemented:

Features Beyond High Sierra Level 1
- Support for CD-ROM XA Interleaved Files
- Support for 31 Character File Names when possible through truncation
- Support for Hidden Files
- Support for Access to VTOC
- Ignores Higher Level Files and Functions when present on the disk:
- Associated Files
- Protection Bits
- Record Bits
- File Version Numbers
- Support for shift-JIS Kanji (Japanese character) filenames

With respect to CD-ROM XA, the Extensions provide support for the First Release of the CD-ROM XA specification (March 1989) developed by Microsoft, Philips and Sony. To receive a copy of this specification, please call Microsoft Product Support Services, 206-454-2030 and ask for the CD-ROM Extensions Information Packet.

Hardware-Dependent Device Driver

This product requires a hardware-dependent device driver that interfaces to a specific OEM drive or drives. A detailed specification for the device driver as well as a sample driver are included. The driver implements the basic functions of reading the CD-ROM and is installed using the DOS CONFIG.SYS conventions. A minimum set of functions for reading the CD-ROM disc are required to be in the device driver. Optional additional functions for increased performance when supported by the CD-ROM drive and controller may also be implemented in the driver. These functions are detailed in the Microsoft MS-DOS CD-ROM Extensions Hardware-Dependent Device Driver Specification included with the CD-ROM Extensions.

The device driver is written by the OEM customer for the MS-DOS CD-ROM Extensions. Development of the device driver is estimated to take approximately 1-3 man-months. This estimate assumes an engineer experienced in 80x86 assembler programming and familiar with MS-DOS and the CD-ROM drive hardware. If a previous device driver has already been written, less time will probably be needed to implement the driver for the Microsoft MS-DOS CD-ROM Extensions. There are third party companies who will write the hardware-dependent device drivers on a consulting basis.

Licensing the Microsoft MS-DOS CD-ROM Extensions

Microsoft will license the MS-DOS CD-ROM Extensions to manufacturers and marketers of CD-ROM disc drives. The license agreement allows the use of the product on a personal computer to which a licensed disc drive is attached. Developers of CD-ROM discs will not need to acquire any license or pay any royalty in order to develop or sell CD-ROM discs, and will not be entitled to distribute the MS-DOS CD-ROM Extensions. The end user will purchase the driver from drive manufacturer or marketer, not the CD-ROM disc developer.

The Microsoft MS-DOS CD-ROM Extensions will be delivered to licensees on a 5-1/4" MS-DOS diskette. Licensees are expected to distribute the Extensions to their customers on a floppy diskette containing both MSCDEX.EXE and the hardware-dependent device driver written by the licensee. The floppy would be included in the package containing the CD-ROM drive.

Creating CD-ROM Discs in the High Sierra Format

The Microsoft MS-DOS CD-ROM Extensions provide for reading CD-ROM discs in the High Sierra/ISO-9660 format on MS-DOS computers. They do not create CD-ROM discs in the High Sierra/ISO-9660 format. Microsoft does not manufacture CD-ROM discs, nor provide pre-mastering services.  Third party companies can create CD-ROM discs in the High Sierra/ISO-9660 format and provide other pre-mastering services. Microsoft can supply a list of companies providing or planning to provide these services upon request.

Software developers do not need the MS-DOS CD-ROM Extensions to create either applications software that reads CD-ROM discs, or to create CD-ROM discs. Once the software is ready and a disc has been pressed, developers will want a copy of the Extensions for testing; however, they are not needed to start development.

Software developers need do nothing special for accessing CD-ROM discs; they issue the same MS-DOS OPEN and READ calls as for opening any magnetic disks. Programmers can develop CD-ROM applications using standard MS-DOS tools.  They need to be aware that they cannot create any temporary files or write any files in either the directory or on the entire CD-ROM disc. Software developers will want to minimize the number of seeks to the CD-ROM because of the comparatively long seek times of CD-ROM drives.