How to Create Custom CD-ROM Icons in Mac OS 9
In classic Mac OS, specifically Mac OS 9, custom disk icons for
mastered CD-ROMs relied on specific structures within the Hierarchical
File System (HFS or HFS+). Creating a custom volume icon required
generating a hidden resource file named Icon\r at the root
of the volume, toggling a specific Finder flag in the volume's catalog
info, and using Mac-compatible mastering software like Roxio Toast to
preserve these metadata attributes during the burning process.
The Mechanism:
Icon\r and the Custom Icon Bit
Classic Mac OS did not use .ico files or modern asset
catalogs for volume branding. Instead, the operating system relied on
two components:
- The Invisible Icon File (
Icon\r): When an icon was pasted into a disk's "Get Info" window (Command + I) in the Finder, Mac OS created a hidden file namedIconfollowed by a carriage return character (\r, or ASCII 13) in the root directory. This file had an empty data fork, but its resource fork contained the graphical icon suites, including resource types such asICN#(32x32 1-bit),icl4(32x32 4-bit),icl8(32x32 8-bit), and the Mac OS 8.5+icnsformat for 32-bit icons with 8-bit alpha channels. - The
kHasCustomIconFinder Flag: In addition to writing the file, the Finder set bit 10 (kHasCustomIcon) of the volume's Finder attributes within the HFS volume header. This signaled the system to look for the invisibleIcon\rfile upon mounting, rather than displaying the default system optical drive icon.
The CD-ROM Creation Process
Mastering a CD-ROM with a custom icon required ensuring these elements survived the transition to read-only media.
1. Designing and Applying the Icon
Authors created the icon using graphic tools such as ResEdit, Iconographer, or Adobe Photoshop with appropriate plugins to export classic Mac OS icon suites. Once designed, the icon was copied to the clipboard, the destination volume or disk image was selected, and the icon was pasted directly onto the generic disk icon in the Finder's "Get Info" dialog.
2. Building a Master Disk Image
To ensure the volume header and invisible files remained intact, developers avoided copying loose files directly to generic burning software. Instead, they created a pre-mastered disk image using utilities like Apple's Disk Copy, Roxio Toast, or CharisMac Discribe.
The disk image was initialized using either Mac OS Standard (HFS) or
Mac OS Extended (HFS+). The files, folders, and the custom volume icon
were arranged within this mounted virtual disk. Because the disk image
mimicked an actual physical drive, the kHasCustomIcon bit
was permanently written into the image's volume header.
3. Burning and Hybrid Formats
Standard ISO 9660 formats discarded Mac-specific resource forks and file flags. To retain the custom icon, creators burned the disc using specific configurations:
- Mac Only (HFS/HFS+): The disk image was burned
directly as an HFS volume. The burner wrote the catalog tree verbatim,
ensuring the custom icon flag and the
Icon\rfile were embedded on the physical disc. - Mac/PC Hybrid: For cross-platform releases,
software like Roxio Toast allowed users to create a "Shared Hybrid"
disc. The author designated an HFS partition for Mac users and an ISO
9660 or Joliet partition for Windows users, often sharing the actual
underlying data files to save space. The Mac partition maintained the
custom icon bit, displaying the branded CD icon on Mac OS 9, while
Windows users saw the standard drive letter or an icon defined
separately via an
autorun.inffile.
Once burned, the optical disc mounted on any compatible Mac OS 9 system with the designated custom artwork in place of the standard CD-ROM icon.