Files
2024-02-19 00:25:23 -05:00

594 lines
28 KiB
HTML

<html>
<head>
<title>Joliet Specification</title>
</head>
<body bgcolor="#ffffff">
<a name="top"></a><center>
<h1>Joliet Specification</h1>
<b>
<p>CD-ROM Recording Spec ISO 9660:1988</b> </center> <br>
</p>
<p>Extensions for Unicode Version 1; May 22, 1995 </p>
<p>Copyright 1995, Microsoft Corporation All Rights Reserved <br>
Contact Microsoft Developer Relations Group <br>
MAC@avca.com </p>
<hr>
<h2><a name="contents">CONTENTS</a></h2>
<ul>
<li><a href="#preface">Preface</a>
<ul>
<li><a href="#scope">Purpose and Scope</a> </li>
<li><a href="#overview">Overview </a> </li>
<li><a href="#terms">Terminology and Notation</a> </li>
</ul>
</li>
<li><a href="#recording">Joliet Recording Specification</a>
<ul>
<li><a href="#change">Change Summary </a> </li>
</ul>
</li>
<li><a href="#unicode">Identifying an ISO 9660 SVD as Unicode
(UCS-2)</a>
<ul>
<li><a href="#escapes">SVD Escape Sequences Field</a> </li>
<li><a href="#flags">SVD Volume Flags Field</a> </li>
<li><a href="#resolution">Resolution of ISO 9660
Ambiguities for Wide Characters </a> </li>
<li><a href="#wide">Wide Character Byte Ordering</a> </li>
<li><a href="#allowed">Allowed Character Set </a> </li>
<li><a href="#identifiers">Special Directory
Identifiers</a> </li>
<li><a href="#separator">Separator Characters</a> </li>
<li><a href="#sort">Sort Ordering</a> </li>
<li><a href="#relaxation">Relaxation of ISO 9660
Restrictions on UCS-2 Volumes </a> </li>
</ul>
</li>
<li><a href="#extension">Extensions to Joliet</a>
<ul>
<li><a href="#multisession">Joliet for Multisession
Media</a> </li>
<li><a href="#cdxa">CD-XA Extensions to Joliet</a> </li>
<li><a href="#other">Other Extensions to Joliet </a> </li>
</ul>
</li>
<li><a href="#bibliography">Bibliography 14 </a> </li>
</ul>
<h2><a name="preface">Preface</a></h2>
<h3><a name="scope"></a>Purpose and Scope </h3>
<p>While the CD-ROM media provides for cost-effective software
distribution, the existing ISO 9660 file system contains a number
of restrictions which interfere with simple and efficient
distribution of files on a CD-ROM. </p>
<p>The read-only nature of CD-ROM media has led content authors
to continue to use traditional magnetic media as their main
avenue for creating applications. Each of the existing file
systems for magnetic media contain various features which can not
be represented on CD-ROM media using an unenhanced version of ISO
9660. </p>
<p>As content authors attempt to transfer their applications to
the CD-ROM, they are likely to find that some of their work
cannot be distributed on the CD-ROM media due to restrictions in
the ISO 9660 format. This frustrates some content authors. </p>
<p>Because the CD-ROM media is mainly a distribution media,
rather than a creative (read/write) media, it is necessary for
the CD-ROM file system to support a superset of the creative
media features. This fundamental flaw in the design of ISO 9660
has prompted several operating systems vendors to extend ISO 9660
in several ways. Some examples are Rock Ridge Interchange
Protocol and Apple's use of the System Use Area to store finder
flags. </p>
<p>Some of the ISO 9660 problems which are addressed by this
specification include: </p>
<ul>
<li>Character Set limitations. </li>
<li>File Name Length limitations </li>
<li>Directory Tree Depth limitations </li>
<li>Directory Name Format limitations </li>
<li>Wide Character (16-bit character) ambiguities </li>
</ul>
<p>The general design approach used in the Joliet specification
is to relax restrictions and resolve ambiguities in the ISO
9660:1988 specification so the practical goals can be met. </p>
<h3><a name="overview"></a>Overview </h3>
<p>The Joliet specification utilizes the supplementary volume
descriptor (SVD) feature of ISO 9660 to specify a set of files
recorded within the Unicode character set. </p>
<p>The ISO 10646 character set specification may be identified by
an ISO 2022 escape sequence. By recording this escape sequence in
an ISO 9660 SVD, this technique for identifying the Unicode SVD
is compliant with the ISO 9660 specification. It also retains
interchange by not disrupting the files referenced through the
primary volume descriptor (PVD). </p>
<p>All that remains is to resolve minor technical ambiguities
within ISO 9660 which arise as the result of the use of wide
characters. </p>
<p>Because the use of this particular escape sequence in an ISO
9660 SVD is unprecedented up to this time, several of the
restrictions which are imposed by ISO 9660 may be relaxed without
significantly disrupting information interchange between existing
systems from a practical standpoint. </p>
<p>This design approach has several benefits. For instance, the
use of the existing ISO 9660 standard allows for straightforward
integration with existing extensions to ISO 9660. The designs for
the System Use Sharing Protocol, Rock Ridge extensions for POSIX
semantics, CD-XA System Use Area Semantics, Apple's Finder Flags
and Resource Forks, all port in a straightforward manner to the
Joliet specification. </p>
<p>Also, the use of a new SVD eliminates the danger of breaking
software compatibility with existing ISO 9660 systems. Existing
software will simply ignore the Unicode SVD, and will simply use
the PVD instead. This compatibility &quot;safety-valve&quot;
makes the goal of relaxing the file system's restrictions easier. </p>
<p>This document describes how a CD-ROM may be constructed so
that names on the volume can be recorded in Unicode while
remaining in compliance with ISO 9660. The particular ISO 10646
character sets used here are UCS-2 Level 1, UCS-2 Level 2, and
UCS-2 Level 3. </p>
<p>The basic strategy of CD-ROM volume recognition is the Volume
Recognition Sequence, which is a sequence of volume descriptors,
recorded one per sector, starting at Sector 16 in the first track
of the last session on the disc. A receiving system reads these
sectors and chooses a particular volume descriptor from the
sequence. This volume descriptor acts as a kind of anchor upon
which the remainder of the volume is constructed. </p>
<h3><a name="terms">Terminology and Notation</a></h3>
<p>Joliet is based on the ISO 9660:1988 standard. Unless defined
in this document, the terminology used shall be as defined in ISO
9660:1988. </p>
<p>The following notation is used in this document. </p>
<ul>
<li>Decimal and Hexadecimal Notation
<ul>
<li>Numbers in decimal notation are represented by
decimal digits, namely 0 to 9. </li>
<li>Numbers in hexadecimal notation are represented
by hexadecimal digits, namely 0 to 9 and A to F,
shown in parentheses. For instance, the
hexadecimal number D0 shall be written as (D0). </li>
</ul>
</li>
<li>A literal sequence of ASCII characters will be
represented by those characters within single quotes. For
instance, 'ABC' means the byte sequence (41)(42)(43). </li>
<li>References to characters in the ISO 2022 escape sequence
will be given in comma-separated decimal nibble/nibble
format, in hexadecimal format, and as ASCII characters,
with equal signs between each format, all enclosed within
parenthesis. For instance, the 3-byte ISO 2022 escape
sequence for Shift-JIS is (2/4, 2/11, 3/10 =
(24)(2B)(3A)= '$+:'). </li>
</ul>
<p><a name="recording"></a><a href="#contents">return to the
table of contents</a> </p>
<h2>Joliet Recording Specification</h2>
<h3><a name="change"></a>Change Summary</h3>
<p>The Joliet specification resolves the following ISO 9660
ambiguities for UCS-2 volumes: </p>
<ul>
<li>Use a SVD with a UCS-2 (UNICODE) Escape Sequence. </li>
<li>The UCS-2 escape sequences used are: (25)(2F)(40),
(25)(2F)(43), or (25)(2F)(45). </li>
<li>The default setting of bit 0 of the SVD &quot;Volume
Flags Field&quot; is ZERO. </li>
<li>The Unicode Wide characters shall be recorded in
&quot;Big Endian&quot; (Motorola) format. </li>
<li>Special Directory Identifiers are recorded as single byte
names containing (00) or (01). </li>
<li>SEPARATOR 1 and SEPARATOR 2 are encoded using an
equivalent 16-bit code point. </li>
<li>Sort ordering is unchanged, except that all justification
pad bytes are to be set to (00). </li>
</ul>
<p>The Joliet specification recommends that several ISO 9660
restrictions be lifted on UCS-2 volumes. The Joliet specification
allows for the following interchange rules: </p>
<ul>
<li>The File or Directory Identifiers may be up to 128 bytes
(64 unicode characters) in length. </li>
<li>Directory Identifiers may contain file name extensions. </li>
<li>The Directory Hierarchy may be recorded deeper than 8
levels. </li>
<li>The volume recognition sequence supports multisession.
This is compatible with the CD-Bridge specification. </li>
</ul>
<p>The Joliet specification may be extended through the use of
the following specifications: </p>
<ul>
<li>Mode 2 Form 2 extents and CD-DA extents, (&quot;System
Description CD-ROM XA&quot;) </li>
<li>System Use Sharing Protocol (not explicitly specified
here) </li>
<li>RockRidge Interchange Protocol (not explicitly specified
here) </li>
<li>Other future CD-ROM file system formats </li>
</ul>
<p> <a name="unicode"></a> </p>
<p><a href="#contents">return to the table of contents</a> </p>
<h2>Identifying an ISO 9660SVD as Unicode (UCS-2)</h2>
<h3><a name="escapes">SVD Escape Sequences Field</a></h3>
<p>The Escape Sequences field of an ISO 9660 Supplementary Volume
Descriptor (ISO 9660 section 8.5.6) shall identify the character
set used to interpret descriptor fields related to the Directory
Hierarchy identified by the Volume Descriptor. </p>
<p>If the Escape Sequences field of an ISO 9660 SVD identifies
any of the following UCS-2 escape sequences, then the descriptor
fields related to the Directory Hierarchy identified by that
Volume Descriptor shall be interpreted according to the
identified UCS-2 character set. </p>
<p> </p>
<hr>
<b>
<p>Table 1 - ISO 2022 UCS-2 Escape Sequences</b> </p>
<pre>
ISO 2022 Escape Sequence as recorded in the ISO 9660 SVD
Standard Level Decimal Hex Bytes ASCII
UCS-2 Level 1 2/5, 2/15, 4/0 (25)(2F)(40) '%\@'
UCS-2 Level 2 2/5, 2/15, 4/3 (25)(2F)(43) '%\C'
UCS-2 Level 3 2/5, 2/15, 4/5 (25)(2F)(45) '%\E'
</pre>
<hr>
<p>A &quot;Unicode Volume&quot; refers to the Volume Descriptor
and Directory Hierarchy identified by a Supplementary Volume
Descriptor containing an Escape Sequences field which identifies
any of the above UCS-2 character sets. </p>
<h3><a name="flags">SVD Volume Flags Field</a></h3>
<p>The UCS-2 Level 1, UCS Level 2, and UCS-2 Level 3 escape
sequences are considered to be registered according ISO 2735 for
purposes of setting bit 0 of the Volume Flags field of the SVD. </p>
<p>The nominal value of Bit 0 of the Volume Flags field for a
Unicode SVD shall be ZERO. </p>
<h3><a name="resolution">Resolution of ISO 9660 </a>Ambiguities
for Wide Characters</h3>
<p>This specification resolves ISO 9660 ambiguities with respect
to wide (16-bit) character sets, such as the UCS-2 character set. </p>
<h3><a name="wide">Wide Character Byte Ordering</a> </h3>
<p>All UCS-2 characters shall be recorded according to ISO
9660:1988 section 7.2.2, 16-bit numerical value, most significant
byte first (&quot;Big Endian&quot;). </p>
<h3><a name="allowed">Allowed Character Set</a> </h3>
<p>All UCS-2 code points shall be allowed except for the
following UCS-2 code points: </p>
<ul>
<li>All code points between (00)(00) and (00)(1F), inclusive.
(Control Characters) </li>
<li>(00)(2A) '*'(Asterisk) </li>
<li>(00)(2F) '/' (Forward Slash) </li>
<li>(00)(3A) ':' (Colon) </li>
<li>(00)(3B) ';' (Semicolon) </li>
<li>(00)(3F) '?' (Question Mark) </li>
<li>(00)(5C) '\' (Backslash) </li>
</ul>
<p><a name="identifiers"></a> </p>
<p><a href="#contents">return to the table of contents</a> </p>
<h3>Special Directory Identifiers </h3>
<p>Section 7.6 of ISO 9660 describes the recording of reserved
directory identifiers for the root, current, and parent directory
identifiers as single (00) or single (01) bytes. </p>
<p>In a wide character set, it is not possible to represent a
character in a single byte. The following portions of the ISO
9660:1988 specification referring to reserved directory
identifiers are ambiguous. </p>
<p>The ISO 9660:1988 sections in question are as follows: </p>
<ul>
<li>6.8.2.2 Identification of directories </li>
<li>7.6.2 Reserved Directory Identifiers </li>
<li>9.1.11 File Identifier </li>
<li>9.4.5 Directory Identifier </li>
</ul>
<p>These special case directory identifiers are not intended to
represent characters in a graphic character set. These characters
are placeholders, not characters. Therefore, these definitions
remain unchanged on a volume recorded in Unicode. </p>
<p>Simply put, Special Directory Identifiers shall remain as
8-bit values, even on a UCS-2 volume, where other characters have
been expanded to 16-bits. </p>
<dl>
<dt>Root Directory </dt>
<dt><dfn>The Directory Identifier of a Directory Record
describing the Root Directory shall consist of a single
(00) byte.</dfn> </dt>
<dt>Current Directory </dt>
<dt><dfn>The Directory Identifier of the first Directory
Record of each directory shall consist of a single (00)
byte.</dfn> </dt>
<dt>Parent Directory </dt>
<dt><dfn>The Directory Identifier of the second Directory
Record of each directory shall consist of a single (01)
byte.</dfn> </dt>
</dl>
<h3><a name="separator">Separator Characters</a> </h3>
<p>The separator characters SEPARATOR 1 and SEPARATOR 2 are
specified as 8-bit characters, which can not be represented in a
wide character set, so the ISO 9660:1988 specification sections
referring to SEPARATOR 1 and SEPARATOR 2 are ambiguous. </p>
<p>The ISO 9660:1988 sections in question are as follows: </p>
<ul>
<li>7.4.3 Separators </li>
<li>7.5.1 File Identifier format </li>
<li>7.5.2 File Identifier length </li>
<li>8.4.24 Abstract File Identifier </li>
<li>8.4.25 Bibliographic File Identifier </li>
<li>8.5.17 Copyright File Identifier </li>
<li>8.5.19 Bibliographic File Identifier </li>
<li>9.1.11 File Identifier </li>
</ul>
<p>The values SEPARATOR 1 and SEPARATOR 2 shall be represented
differently depending on the d1 character set. </p>
<p>In the case of an SVD identifying a UCS-2 character set, the
values of SEPARATOR 1 and SEPARATOR 2 shall be recorded as a
UCS-2 character with an equivalent code point value. </p>
<p>Otherwise, the definitions of SEPARATOR 1 and SEPARATOR 2
shall be recorded according to section 7.4.3 of ISO 9660:1988. </p>
<p>Simply put, SEPARATOR 1 and SEPARATOR 2 shall be expanded to
16-bits. </p>
<p> </p>
<hr>
<b>
<p>Table 2 - Separator Representations</b> </p>
<pre>
ISO 9660:1988 Volume Unicode Volume
Separator Bit Combination UCS-2 Codepoint
SEPARATOR 1 (2E) (00)(2E)
SEPARATOR 2 (3B) (00)(3B)
</pre>
<hr>
<p><a name="sort"></a><a href="#contents">return to the table of
contents</a> </p>
<h3>Sort Ordering</h3>
<p>ISO 9660 specifies the order of path table records within a
path table, and specifies the order of directory records within a
directory. These sorting algorithms assume an 8-bit character set
is used. These sorting algorithms are ambiguous when used with
wide characters. </p>
<p>The ISO 9660:1988 sections in question are as follows: </p>
<ul>
<li>6.9.1 Order of Path Table Records </li>
<li>9.3 Order of Directory Records </li>
</ul>
<p>The only change required is to redefine the value of the sort
justification pad byte to zero (00). </p>
<p>Simply put, comparing the byte contents in all positions
remains a suitable sorting algorithm for the descriptor fields
recorded in a UCS-2 SVD Directory Hierarchy. This is one of the
primary reasons for selecting the Big Endian format to represent
all UCS-2 characters. </p>
<p><b>Natural Language Sorting</b> </p>
<p>On a Unicode volume, the 16-bit UCS-2 code points are used to
determine the Order of Path Table Records and the Order of
Directory Records. </p>
<p>No attempt will be made to provide natural language sorting on
the media. Natural language sorting may optionally be provided by
a display application as desired. </p>
<p><b>Justification Pad Bytes</b> </p>
<p>The sort ordering algorithms as specified in ISO 9660:1988
sections 6.9.1 and 9.3 are acceptable except for the value of the
justification &quot;pad byte&quot;. </p>
<p>The value of the justification &quot;pad byte&quot; as
specified in ISO 9660:1988 section 6.9.1 shall be (00). This is
changed from a value of (20) as specified in that same section. </p>
<p>The value of the justification &quot;pad byte&quot; as
specified in ISO 9660:1988 section 9.3 subsections (a) and (b)
shall be (00). This is changed from a value of (20) as specified
in those same sections. </p>
<p>The value of the justification &quot;pad byte&quot; as
specified in ISO 9660:1988 section 9.3 subsections (c) shall be
(00). This is changed from a value of (30) as specified in that
same section. </p>
<p>Simply put, set all the justification &quot;pad bytes&quot; to
zero to simplify sorting. </p>
<p> <b>Mandatory Sort Ordering.</b> </p>
<p>Correct sort ordering is mandatory on UCS-2 volumes. </p>
<p><b>Descriptor Fields affected by the UCS-2 Escape Sequence</b> </p>
<p>If a UCS-2 escape sequence is detected in a supplementary
volume descriptor, the following descriptor fields referenced
from that supplementary volume descriptor shall contain UCS-2
characters. </p>
<ul>
<li>ISO 9660:1988 Section 8.5.4 System Identifier </li>
<li>ISO 9660:1988 Section 8.5.5 Volume Identifier </li>
<li>ISO 9660:1988 Section 8.5.13 Volume Set Identifier </li>
<li>ISO 9660:1988 Section 8.5.14 Publisher Identifier </li>
<li>ISO 9660:1988 Section 8.5.15 Data Preparer Identifier </li>
<li>ISO 9660:1988 Section 8.5.16 Application Identifier </li>
<li>ISO 9660:1988 Section 8.5.17 Copyright File Identifier </li>
<li>ISO 9660:1988 Section 8.5.18 Abstract File Identifier
(missing section) </li>
<li>ISO 9660:1988 Section 8.5.19 Bibliographic File
Identifier </li>
<li>ISO 9660:1988 Section 9.1.11 File Identifier </li>
<li>ISO 9660:1988 Section 9.4.5 Directory Identifier </li>
<li>ISO 9660:1988 Section 9.5.11 System Identifier (of
Extended Attribute Record) </li>
</ul>
<p><a name="relaxation"></a><a href="#contents">return to the
table of contents</a> </p>
<h3>Relaxation of ISO 9660 Restrictions on UCS-2 Volumes </h3>
<p>Several ISO 9660 restrictions will be relaxed to achieve a
more useful recording specification. Joliet receiving systems
shall be capable of receiving media recorded with restrictions
which have been relaxed relative to ISO 9660. </p>
<p> <b>Maximum File Identifier Length Increased</b> </p>
<p>Joliet receiving systems shall receive directory hierarchies
recorded with file identifiers longer than those allowed by ISO
9660 receiving systems. </p>
<p>ISO 9660 (Section 7.5.1) states that the sum of the following
shall not exceed 30: </p>
<ul>
<li>If there is a file name, the length of the file name. </li>
<li>If there is a file name extension, the length of the file
name extension. </li>
</ul>
<p>On Joliet compliant media, however, the sum as calculated
above shall not exceed 128, to allow for longer file identifiers. </p>
<p>The above lengths shall be expressed as a number of bytes. </p>
<p><b>Maximum Directory Identifier Length Increased</b> </p>
<p>Joliet receiving systems shall receive directory hierarchies
recorded with file names longer than those allowed by ISO 9660
receiving systems. </p>
<p>ISO 9660 (Section 7.6.3) states that the length of a directory
identifier shall not exceed 31. </p>
<p>On Joliet compliant media, however, the length of a directory
identifier shall not exceed 128, to allow for longer directory
identifiers. </p>
<p>The above lengths shall be expressed as a number of bytes. </p>
<p> <b>Directory Names May Have File Name Extensions</b> </p>
<p>ISO 9660 does not allow directory identifiers to contain file
name extensions. </p>
<p>On Joliet compliant media, however, directory identifiers may
contain file name extensions. </p>
<p>The Joliet directory identifier format shall be calculated
according to ISO 9660 section 7.5.1 &quot;File Identifier
format&quot;, with the exception that the length of a directory
identifier may exceed 31, but shall not exceed 128. </p>
<p>In addition, the Joliet directory identifier format shall
comply with ISO 9660 section 7.6.2 &quot;Reserved Directory
Identifiers&quot;. </p>
<p>The directory identifier length shall be calculated according
to ISO 9660 section 7.5.2 &quot;File Identifier length&quot;. </p>
<p>The above lengths shall be expressed as a number of bytes. </p>
<p>Maximum Directory Hierarchy Depth May Exceed 8 Levels </p>
<p>ISO 9660 (Section 6.8.2.1) specifies restrictions regarding
the Depth of Directory Hierarchy. This section of ISO 9660
specifies that this number of levels in the hierarchy shall not
exceed eight. </p>
<p>On Joliet compliant media, however, the number of levels in
the hierarchy may exceed eight. </p>
<p>Joliet compliant media shall comply with the remainder of ISO
9660 section 6.8.2.1, so that for each file recorded, the sum of
the following shall not exceed 240: </p>
<ul>
<li>the length of the file identifier; </li>
<li>the length of the directory identifiers of all relevant
directories; </li>
<li>the number of relevant directories. </li>
</ul>
<p>The above lengths shall be expressed as a number of bytes. </p>
<p><a name="extension"></a><a href="#contents">return to the
table of contents</a> </p>
<h2>Extensions to Joliet </h2>
<h3><a name="multisession"></a>Joliet for Multisession Media </h3>
<p>Multisession Recordings are Received </p>
<p>When provided with CD-ROM reader hardware with multisession
capability, Joliet receiving systems shall receive media recorded
using the multisession recording technique. </p>
<p>The details of this technique are provided below </p>
<p><b>Logical Sector Addressing on Multisession Recordings</b> </p>
<p>Each sector on the media is assigned a unique Logical Sector
Address. </p>
<p>Logical Sector Addresses zero and above increase linearly
across the surface of the disc, regardless of session boundaries. </p>
<p>Logical Sector Address zero references the sector with
Minute:Second:Frame address 00:02:00 in the first session. All
other Logical Sector Addresses are relative to
Minute:Second:Frame address 00:02:00 in the first session. </p>
<p>The conversion between Logical Sector Addresses and
Minute:Second:Frame addresses is Logical Sector Address =
(((Minute*60)+Seconds)*75) - 150. </p>
<p>Simply put, the Logical Sector Address on a multisession disc
describes a flat address space. </p>
<p> <b>Multisession Addressability</b> </p>
<p>The data area for a volume may span multiple sessions. </p>
<p>For example, if a disc is recorded with 3 sessions, the
directory hierarchy described by a volume descriptor in session 3
may reference logical sectors recorded in session 1, 2, or 3. </p>
<p><b>Multisession Volume Recognition Sequence</b> </p>
<p>The Volume Recognition Sequence shall begin at the 16th
logical sector of the first track of the last session on the
disc. </p>
<p>This volume recognition sequence supersedes all other volume
recognition sequences on the disc. The interpretation of the
Volume Recognition Sequence is otherwise unchanged. </p>
<p>For example, consider a disc that contains 3 sessions, where
session 1 starts at 00:00:00, session 2 starts at 10:00:00, and
session 3 starts at 20:00:00. The Volume Recognition Sequence for
this disc would start at Minute:Second:Frame address 20:00:16. </p>
<p>This technique is compatible with the CD-Bridge multisession
technique. </p>
<p><b>Track Modes and Sector Forms</b> </p>
<p>The data area for a Joliet volume on a CD-ROM shall be
comprised of either Mode 1 or Mode 2 Form 1 sectors. CD-ROM media
utilizing the multisession recording techniques outlined above
may not contain any Mode 1 sectors anywhere on the media. Mode 1
sectors are allowed only on single-session media. </p>
<p>Mode 2 Form 2 sectors and CD-Digital Audio tracks may be
recorded on the same media as a Joliet volume. In this case, the
CD-XA extensions to Joliet may be utilized to identify Mode 2
Form 2 extents and CD-Digital Audio extents. </p>
<p>CD-Digital Audio tracks may not be recorded in sessions 2 and
higher. If any CD-Digital Audio tracks are recorded, all the
CD-Digital Audio tracks shall be recorded in the first session. </p>
<h3><a name="_Toc305607052"></a><a name="cdxa"></a>CD-XA
Extensions to Joliet </h3>
<p>CD-ROM discs utilizing the Joliet extensions to ISO 9660 and
which also identify mode 2 form 2 extents or CD-Digital Audio
extents shall be marked with a CD-ROM XA Label as specified in
&quot;System Description CD-XA&quot; section 2.1. </p>
<p>The CD-ROM XA Label shall be located at offset 1024 (byte
position 1025) in the Joliet Supplementary Volume Descriptor. The
identifying signature 'CD-XA001' shall be recorded starting at
offset 1024 in the Joliet Supplementary Volume Descriptor. This
identifying signature is equivalent to the hex bytes
(43)(44)(2D)(58)(41)(30)(30)(31). </p>
<p>Mode 2 form 2 extents shall be identified using recording
rules outlined in &quot;System Description CD-XA&quot;, section
2.7. In this case, bit 12 of the Attributes field of the &quot;XA
System Use Information&quot; shall be set to one to identify that
the file contains mode 2 form 2 sectors. See below for additional
information regarding Data Length. </p>
<p>CD-Digital Audio extents shall be identified using recording
rules outlined in &quot;System Description CD-XA&quot;, section
2.7. In this case, bit 14 of the Attributes field of the &quot;XA
System Use Information&quot; shall be set to one to identify that
the file is comprised of an extent of CD-Digital Audio. See below
for additional information regarding Data Length. </p>
<p>If a file is marked such that either bit 12 is set to one or
bit 14 is set to one in the Attributes field of the &quot;XA
System Use Information&quot;, then the Data Length field of the
Directory Record shall be set to 2048 times the number of sectors
contained in the extent. </p>
<p>See ISO 9660:1988 section 9.1.4. </p>
<h3><a name="_Toc305607053"></a><a name="other"></a>Other
Extensions to Joliet </h3>
<p>The Joliet Extensions to ISO 9660 are designed to coexist with
other extensions such as the &quot;System Use Sharing
Protocol&quot; and &quot;RockRidge Interchange Protocol&quot;.
However, these protocols are not an integral part of the Joliet
specification. </p>
<p>The method used to integrate these other protocols into Joliet
is not defined here. </p>
<p><a name="bibliography"></a><a href="#contents">return to the
table of contents</a> </p>
<h2>Bibliography </h2>
<p><u>ISO 2022 - <i>Information processing </i>- ISO 7-bit and
8-bit coded character sets - Code extension techniques</u>,
International Organization for Standardization, </p>
<p><u>ISO 9660 - <i>Information processing </i>- Volume and file
structure of CD-ROM for information interchange</u>,
International Organization for Standardization, 1988-04-15 </p>
<p><u>ISO 10149 : 1989 (E) - <i>Information technology</i> - Data
interchange on read-only 120mm optical data discs (CD-ROM)
&quot;YellowBook&quot;, </u>International Organization for
Standardization, 1989-09-01 </p>
<p><u>ISO 10646 - Information technology - Universal
Multiple-Octet Coded Character Sets (UCS)</u>, International
Organization for Standardization, </p>
<p><u>The Unicode Standard - <i>Worldwide Character Encoding </i>Version
1.0,</u> The Unicode Consortium, Addison-Wesley Publishing
Company, Inc, 1990-1991 Unicode, Inc., Volume 1 </p>
<p><u>Orangebook</u>, N. V. Philips and Sony Corporation,
November 1990 </p>
<p><u>System Description CD-XA, </u>N. V. Philips and Sony
Corporation, March 1991 </p>
<p><u>System Use Sharing Protocol</u> </p>
<p><u>RockRidge Interchange Protocol</u> </p>
<p>
<hr>
<p><b>Copyright &#169; 1995 Microsoft Corporation unless
otherwise specified. All Rights Reserved.<br>
</b> </center> </p>
</body>
</html>