CD-ROM Setup in MS-DOS

You will need...

  • A driver for the CD-ROM drive you wish to support. This is a file (usually a .sys file) provided by the maker of the drive, and it is likely to be found on their web site if you don't have it on a floppy, or indeed, already on your hard drive somewhere.

  • MSCDEX.EXE, a file that comes with DOS.

  • Ten minutes.
  • To complicate matters, there is an object in DOS called a "device driver", but it doesn't necessarily have anything to do with the driver mentioned above (the one supplied by the manufacturer of your CD-ROM drive). In fact, the trick is actually to associate a "device driver" (a DOS object) with your CD-ROM driver (the .sys file). This brings us to step #1.

    1.) So you need to define a device driver in DOS. This is done by adding a line to your config.sys file. The config.sys is a simple ASCII text file that should be located in the root directory of your boot drive, and should not have any hidden or read-only attributes. You may create or edit this file with Edit from DOS, or Notepad from Windows.

    If you're caught without these tools, you may use the ole "copy con" trick. This is short for "copy console". It simply tells DOS to build an ASCII file out of input from the keyboard. To begin recording, just type "copy con []" and hit enter. To end recording and write the file, type Control+Z (also available from F6 on most machines). Just note that if you already have a config.sys file it will be overwritten by this procedure.

    For example, let's say you've got a CD-ROM driver named "DINGBAT.SYS". To create a config.sys file that pair a device driver with this file, just type...


    1 file(s) copied

    What does this actually mean? To translate literally, we're saying that we want to create a device driver that uses the DINGBAT.SYS file and whose name will be "CDROM1".

    The trickiest part of this translation is probably the /D part. In DOS, many commands have options that can be set with "switches". These are one-letter abbreviations that start with a forward slash. If there is any value besides "on" that needs to be passed to the command regarding the switch, it is placed after a colon, following the switch itself. In this case, the switch is called "/D". This is unfortunate because of all the "D" words floating around (like drive, driver, and device driver)! More appropriate would have been "/N", since this switch names the device driver being created. Device drivers need names so they don't get mixed up. For example, we might want to have several CD-ROM drives on the same machine. Even if they were all the same make and model and used the same driver file, we would still need to create separate device drivers for each one (which we could name CDROM2, CDROM3, and so on). Just keep the names simple (one word), as DOS is easily confused.

    To view your new config.sys file, use the "type" command...


    ...and DOS should show you what it recorded.

    2.) So now we have a device driver set up. The next step is to tell MSCDEX about it. This is done in the autoexec.bat file. Autoexec is just another text file, like config.sys. The line you want to add looks like this...

    C:\path-to-mscdex\> MSCDEX.EXE /D:CDROM1 /L:F

    What does this mean? Well, it literally means we want MSCDEX to use the device driver named "CDROM1" to create a drive letter "F". The "/L" switch specifies the drive letter, so if you didn't want to use F, you could use any letter that doesn't already have a drive assigned to it... K, J, or maybe even... D!

    Reboot so that DOS will load the new config and autoexec files, and your CD-ROM drive should be online.

    Carl Lumma
    July 1998