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:
- Volume Inspection: The shell scanned the disc for an ISO 9660 or Joliet file system.
- AutoRun Detection: If a file system was present,
the shell immediately checked the root directory for an
autorun.inffile. - Execution Override: If an
autorun.inffile was found, data execution took precedence. The shell parsed the file and executed the target defined under theopen=directive, completely suppressing the defaultAudioCDfile 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.icoOnce 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.