Number 204 - May 2000
CD-ROM CD & CD-R Formats
www.ora.nsysu.edu.tw/~goldentime/cdterm12.htm
ISO 9660
    ISO 9660 is a standard which describes the file structure for putting computer files on a compact disc. This universal file structure can be read by a variety of different operating systems running on different computers. A more detailed discussion of ISO 9660 can be found in the Disc Manufacturing, Inc. paper Introduction to ISO 9660 by Clayton Summers.

    For IBM compatible PC's, a file structure called MS-DOS is used when writing to hard disks or floppy disks. Likewise, the Apple Macintosh computer uses a file structure called HFS. If a floppy disk has files written by an IBM compatible computer in MS-DOS format, it can not be read by an Apple Macintosh computer. Conversely, if a floppy disk has files written by an Apple Macintosh computer in HFS format, it can not be read by an IBM computer. (Exceptions do exist where special programs can be loaded to allow the reading of other file structures, but in general a computer can only read information written in the file structure of the operating system it is running.)

    Since CD-ROM standards do not designate which file structure to use, developers initially had to create their own file structures. This required extra time on the developers part and confusion for the user. Quite often, the user would have to restart his computer when changing applications in order to load the software for the new file structure.

    In order to resolve this problem, a group of industry representatives met at Del Webb's High Sierra Hotel & Casino in Nevada and drafted a proposal for a CD-ROM file structure. This proposal is commonly called the "High Sierra" file structure. The proposal was submitted to the International Standards Organization, and with a few enhancements, it became the "ISO 9660" standard. ISO 9660 is neither MS-DOS nor HFS; but is a file structure designed for the CD-ROM.

    In order for a computer operating system to read an ISO 9660 disc, the operating system must have software to allow it to read the ISO 9660 file structure. This software is normally an Extension to the operating system software.

    Microsoft, the originator of MS-DOS, wrote extension software to allow the MS-DOS operating system to read ISO 9660 files. The extension software, MSCDEX.EXE, must be added to an IBM compatible PC to allow it to read ISO 9660. The extension software works with the device driver software that comes with the CD-ROM drive. The extension and drive software come in two files which are included when you purchase a CD-ROM drive for the IBM compatible PC. One file will be the device driver for the CD-ROM drive, and the second file will be a copy of the Microsoft Extensions. The computer needs both of these files to access a CD-ROM drive.

    To inform the IBM compatible PC to load the device driver for the CD-ROM drive, a command must be added to a file called "CONFIG.SYS". When a PC powers up, it uses the file CONFIG.SYS to determine which additional device drivers to load.

    An additional command, MSCDEX, must be run to load the Microsoft Extensions, this command is normally put in the AUTOEXEC.BAT file.

    Once the above two things happen, any ISO 9660 CD-ROM can be put in any CD-ROM drive and the computer will be able to read the file directory and the files. This allows the computers operating system to read the file directory of the disc, and read the files from the disc. If the file is executable code (even though multiple systems can read the file) it will only run on the system it was written for.

    Similarly, Apple has written the software to allow ISO 9660 discs to be read from an Apple Computer, and UNIX vendors have written the software to allow ISO 9660 discs to be read from UNIX systems.

    By writing applications designed to work with ISO 9660 discs, the applications developer does not have to write the software to access the CD-ROM, he can use the software written to access the ISO 9660 file structure. Because each application is using the same software, the computer does not have to be restarted when the user changes applications.

    In addition to the above benefit, the ISO 9660 standard allows multiple types of computers to access the same files.

    Files on a CD-ROM disc in the ISO 9660 format can be read on IBM compatible computers, Apple Computers, and UNIX Systems. This allows a software company to make one disc that can be run on all three systems. For example, a disc could be made with the following 5 files (these are fictitious filenames):

    IBMPROG       (executable program for MS-DOS)
    MACPROG    (executable program for Apple)
    UNIXPROG  (executable program for UNIX)
    DATA1         (Data for above executable programs)
    DATA2         (Data for above executable programs)

    Assuming the file IBMPROG is a program for the IBM PC that uses the data files DATA1 and DATA2; the file MACPROG is a program for the Apple MAC that uses the data files DATA1 and DATA2; and the file UNIXPROG is a program for a UNIX based machine that uses the data files DATA1 and DATA2.

    A PC running MS-DOS with Microsoft Extensions will be able to access all 5 files on this disc. The PC can execute the program IBMPROG and access the two data files, DATA1 and DATA2. This allows the PC to run the application. Even though the user can access the programs, MACPROG and UNIXPROG; the user would not be able to run these two programs because they are written to execute under a different operating system.

    An Apple computer can also access all 5 of the files. The Apple computer can run the program MACPROG, giving the user access to the application and the two data files. Notice that the Apple program MACPROG is accessing the same two data files, so the data only has to be written on the disc once. The files, IBMPROG and UNIXPROG are written to be executed on other computers and will not run correctly on the Apple.

    Likewise, a user running UNIX can execute the UNIXPROG and have access to the application and the two data files.
    In order to allow the file structure to be usable by IBM, Apple, and UNIX computers, ISO 9660 specifies (for all three interchange levels) that all filenames and directory names must meet the following conditions:
    Capital letters "A-Z"
    Digits "0-9"
    Underscore "_"

    The number of characters in the filename plus the extension can not exceed 30. The directory name can not have extensions, or exceed 30 characters.

    ISO 9660 level 1 interchange adds the following restrictions:
    Filenames Maximum of 8 characters
    Filename Extensions Maximum of 3 characters
    Directory Names Maximum of 8 characters (no extension).

    Each file shall consist of only one file section. This means that the files must be contiguous, or cannot be recorded in interleave mode.

    ISO 9660 level 2 interchange has only the following additional restriction:

    Each file shall consist of only one file section. This means that the files must be contiguous, or cannot be recorded in interleave mode.

    ISO 9660 level 3 interchange has no additional restrictions.

Apple ISO 9660 Extensions:
    The Macintosh's native file system, HFS, has many features to support its graphical user interface that are not included in the ISO 9660 standard. By defining the Apple Extensions to ISO 9660, Apple is able to define a way to add some of the above features using the system use field of the ISO 9660 directory record. Therefore by using the Apple Extensions to ISO 9660 one is able to retain some of the Macintosh look and feel; while keeping a disc in compliance with the ISO 9660 standard.

Rock Ridge Interchange Protocol (RRIP):
    The Rock Ridge Interchange Protocol was designed to allow users of POSIX and other UNIX like systems to retain much of the directory information that is in the native file system. This is important because these systems use directory entries for much more than just pointing to files. Directory entries can point to other entries (symbolic links) or to device drivers that are linked to peripheral devices such as hard disks, tape drives and CD-ROM drives (device files). The directory entry includes information that lets the system know what type of file it is dealing with, whether it is a regular file, directory, symbolic link, or device file. It also has information regarding who has permission to read, write and execute each file. Most of these systems are multi-user systems, and you would not want just anyone to be able to write to the device file that contains your operating system, because they could accidentally (or purposely?) erase the entire operating system.

    The Frankfurt Group Proposal:
    The Frankfurt Group Proposal is a volume and file structure proposal that expands upon ISO 9660. It is a superset of the ISO 9660 standard. In particular it is a volume and file structure that not only supports ISO 9660 CD-ROMS but also CD-WO (compact disc-write once) and CD-WO Hybrid discs. CD-WO and CD-WO Hybrid are both part of the Orange Book (Page 26). The Frankfurt Group Proposal helps to address the differences that arise due to an incrementally recorded disc.

    The proposal defines two types of volume and file structures:

    Type I is the original ISO 9660 volume and file structure discussed at the beginning of this section (ISO 9660). Type I is readable by any ISO 9660 compliant system.

    Type II is a superset follow-on of Type I. It allows for incremental recording of CD-WO as well as updates to an existing CD-WO volume.

Non ISO 9660
    Although ISO 9660 discs provide universal access and a standard file structure for the files, not all CD-ROMS are in the ISO 9660 format.

Example 1: High Sierra
    When the High Sierra proposal was issued, it took a period of time before the ISO committee issued the ISO 9660 standard. In the meantime, several applications came out in the High Sierra proposal format. To date, some applications have still not converted over to ISO 9660.

    Microsoft Extensions Version 1.0 was written to work with the High Sierra proposal. When the ISO 9660 standard was issued, Microsoft updated the software to Version 2.0. Anyone who still has a copy of Microsoft Extensions Version 1.0 or 1.1 should upgrade to version 2.0 or higher, because version 1.0 CAN NOT read ISO 9660 discs. (To get an updated copy of Microsoft Extensions, contact the company you purchased your CD-ROM drive from.)

Example 2: HFS
    Apple has written drivers to allow the Apple Macintosh computer to read CD-ROM in any of three formats: ISO 9660, High Sierra, and HFS. When the CD-ROMS is being produced to run only on Macintosh computers, some developers prefer to use the HFS structure instead of the ISO 9660 structure. This gives them the standard Macintosh file naming characteristics and maintains the desktop "look and feel".

Example 3: Custom File Formats
    Some discs are still being written in other file formats either because they have not converted to ISO 9660 or they are using other operating system formats.

    In general, most discs are being made in ISO 9660.

Packet Writing
    A method of writing data on a CD in small increments, as opposed to writing large blocks of information required by the Track-at-once and Disk-at-once methods. Packet Writing (also "packet resourcing") allows small packets or pieces of data to be written one packet at a time, lessening the chance of buffer underrun. Packet writing is good only for data tracks.

TOGGLE Editor's Note:
    For further on this subject see the slide show presentation by clicking on CD Burners at:
www.toggle.org/html/bob_con.htm
  Number 204 - May 2000