Windows 95 Mixed-Mode CD AutoRun Explained

Windows 95 revolutionized removable media handling by introducing AutoPlay and AutoRun, but hybrid discs containing both ISO 9660 data and Red Book audio tracks required a specific handling pipeline. This article examines how the Windows 95 shell detected mixed-mode and Enhanced CDs, resolved conflicts between audio playback and program execution, and used the filesystem layer alongside the Media Control Interface (MCI) to redirect media handling.

The Challenge of Mixed-Mode Media

Prior to standardized dual-format discs, mixed-mode CDs (defined under the Yellow Book standard) placed digital data on Track 1 and standard Red Book CD-DA audio on subsequent tracks. When inserted into a computer, these discs presented a dual identity: a mountable data storage device and a playable music album.

Windows 95 needed to distinguish between a standard music CD—which should automatically open the default media player (cdplayer.exe)—and an interactive disc containing games or software with Red Book background music that should run a software launcher.

Detection and Shell Priority

When a disc was inserted, the 32-bit CD-ROM file system driver (CDFS.VXD) mounted the volume and notified the operating system. The Windows 95 shell (SHELL32.DLL) intercepted this arrival via the WM_DEVICECHANGE message and executed a strict priority hierarchy:

  1. Volume Inspection: The shell scanned the disc for an ISO 9660 or Joliet file system.
  2. AutoRun Detection: If a file system was present, the shell immediately checked the root directory for an autorun.inf file.
  3. Execution Override: If an autorun.inf file was found, data execution took precedence. The shell parsed the file and executed the target defined under the open= directive, completely suppressing the default AudioCD file type association.

If a mixed-mode disc lacked an autorun.inf file, Windows 95 refrained from launching the CD player to play Track 1, preventing the playback of raw computer data as screeching static. Instead, the OS mounted the disc as a data drive in My Computer and suppressed automatic music playback unless the user manually targeted the audio tracks.

Application-Level Audio Redirection via MCI

Because the Windows 95 AutoRun facility itself only launched an executable, handling the audio tracks fell to the executed program. Discs did not redirect audio via autorun.inf directly; instead, developers pointed the AutoRun configuration to an intermediary launcher:

[autorun]
open=launcher.exe
icon=launcher.ico

Once executed, launcher.exe took direct programmatic control of the drive's audio capabilities through the Media Control Interface (MCI). By issuing commands to the cdaudio device driver (using functions such as mciSendString("play cdaudio from 2", ...)), the application instructed the CD-ROM drive to bypass Track 1 and stream the audio tracks directly to the sound card via the internal analog audio cable.

The Shift to Enhanced CD (CD Extra)

The fragility of Track 1 data on standard home audio players led to the Blue Book "CD Extra" standard. These discs placed audio tracks in the first session and data files in a second session.

Windows 95 natively supported multi-session CDFS. When a CD Extra disc was inserted into a PC, Windows bypassed the first audio session, addressed Session 2 to locate the directory table, parsed autorun.inf, and launched the software. If inserted into a standard consumer CD player, the hardware read only Session 1, playing the music tracks normally without encountering the data layer.