Misc small formatting changes and corrections. Work on references.

This commit is contained in:
R. Bernstein
2012-02-04 15:51:28 -05:00
parent 89c9facdf8
commit 96d735f31f

View File

@@ -60,7 +60,6 @@ identified by a single-byte code:
@table @kbd
@item 0x80
Title
@item 0x81
Performers
@item 0x82
@@ -114,18 +113,17 @@ of their block. Either as ISO-8859-1 single byte characters, or as 7-bit
ASCII single byte characters, or as MS-JIS double byte characters. More
info on @kbd{0x8e} is given below.
Pack type @kbd{0x86} (Disc Identification) is documented by Sony as
"Catalog Number: (use ASCII Code) Catalog Number of the album". So it is
Pack type @kbd{0x86} (Disc Identification) Sony documents as
``Catalog Number: (use ASCII Code) Catalog Number of the album''. So it is
not really binary but might be non-printable, and should contain only
bytes with bit7 = 0.
bytes with bit 7 set to zero.
Pack type 0x87 contains 2 binary bytes, followed by 0-terminated cleartext.
The two binary bytes form a big-endian index to the following list.
The two binary bytes form a Big-endian index to the following list.
@table @kbd
@item 0x0000
Not Used --- Sony prescribes to use this if no genre applies.
Not Used --- Sony prescribes this if no genre applies.
@item 0x0001
Not Defined
@item 0x0002
@@ -198,21 +196,21 @@ type SAO, because the CUE SHEET format offers no way to express Mode-5
Q. See below, Format of CD-TEXT packs, for an example of this pack
type.
Pack type @kbd{0x8d} is documented by Sony as "Closed Information: (use
Pack type @kbd{0x8d} Sony documentes as ``Closed Information: (use
8859-1 Code) Any information can be recorded on disc as
memorandum. Information in this field will not be read by CD TEXT
players available to the public." Always ISO-8859-1 encoded.
players available to the public.'' It is always ISO-8859-1 encoded.
Pack type 0x8e is documented by Sony as ``UPC/EAN Code'' (POS Code) of
the album. This field typically consists of 13 characters." Always
ASCII encoded. It applies to tracks as "ISRC code [which] typically
consists of 12 characters" and is always ISO-8859-1 encoded. MMC calls
Pack type 0x8e is documented by Sony as ``UPC/EAN Code (POS Code) of the
album. This field typically consists of 13 characters.'' This is always
ASCII encoded. It applies to tracks as ``ISRC code [which] typically
consists of 12 characters'' and is always ISO-8859-1 encoded. MMC calls
these information entities Media Catalog Number and ISRC. The catalog
number consists of 13 decimal digits. ISRC consists of 12 characters: 2
country code [0-9A-Z], 3 owner code [0-9A-Z], 2 year digits (00 to 99),
5 serial number digits (00000 to 99999).
Pack type 0x8f summarizes the whole list of text packs of a block.
Pack type @kbd{0x8f} summarizes the whole list of text packs of a block.
See the next section for details.
@node CD-TEXT Packet Format
@@ -223,8 +221,9 @@ the Lead-in of the disc. The file @file{doc/cookbook.txt} of the
libburnia distribution ddescribe write the readily formatted CD-TEXT
pack array to CD, and how to read CD-TEXT packs from CD.
The format is explained in part in MMC-3 (mmc3r10g.pdf, Annex J)[2] and in
part by the documentation in Sony's cdtext.zip[3].
The format is explained in part in MMC-3 @xref{mmc3r10g.pdf,,
mmc3r10g.pdf Annex J}, and in part by the documentation in Sony's
@xref{cdtext.zip,,cdtext.zip}.
Each pack consists of a 4-byte header, 12 bytes of payload, and 2 bytes
of CRC.
@@ -244,7 +243,7 @@ The third byte is a sequential counter.
The fourth byte is the Block Number and Character Position Indicator.
It consists of three bit fields:
@table @var
@table @dfn
@item bits 0-3
Character position. Either the number of characters which the current
text inherited from the previous pack, or 15 if the current
@@ -252,26 +251,28 @@ text started before the previous pack.
@item bits 4-6
Block Number (groups text packs in language blocks)
@item bit 7
Double Bytes Character Code (0= single byte characters)
Is Double Byte Character? Is 0 if single byte characters, 1 if double-byte
characters.
@end table
The 12 payload bytes contain pieces of 0-terminated texts or binary data.
A text may span over several packs. Unused characters in a pack are used for
the next text of the same pack type. If no text of the same type follows,
then the remaining text bytes are set to 0.
The 12 payload bytes contain pieces of NULL- or @code{\0}-terminated texts or
binary data. A text may span over several packs. Unused characters in a
pack are used for the next text of the same pack type. If no text of the
same type follows, then the remaining text bytes are set to 0.
The CRC algorithm uses divisor @kbd{0x11021}. The resulting 16-bit
residue of the polynomial division is zero extended in the upper bits
(xor-ed with @kbd{0xffff}) and written as big-endian number in bytes 16
(xor-ed with @kbd{0xffff}) and written as Big-endian number in bytes 16
and 17 of the pack.
The text packs are grouped in up to 8 blocks of at most 256 packs. Each block
is in charge for one language. Sequence numbers of each block are counted
separately. All packs of block 0 come before the packs of block 1.
The text packs are grouped in up to 8 blocks of at most 256 packs. Each
block is in charge for one language. Sequence numbers of each block are
counted separately. All packs of block 0 come before the packs of block
1.
The limitation of block number and sequence numbers imply that there are at
most 2048 text packs possible. (READ TOC/PMS/ATIP could retrieve 3640 packs,
as it is limited to 64 kB - 2.)
The limitation of block number and sequence numbers imply that there are
at most 2048 text packs possible. (READ TOC/PMS/ATIP could retrieve 3640
packs, as it is limited to 64 KB - 2.)
If a text of a track (pack types @kbd{0x80} to @kbd{0x85} and
@kbd{0x8e}) repeats identically for the next track, then it may be
@@ -302,9 +303,10 @@ PFRAME of POINT A2 = Start position of Lead-Out
unknown, 0 in Sony example
@end table
The following packs record PMIN, PSEC, PFRAME of the POINTs between the
lowest track number (min 01h) and the highest track number (max 63h).
The payload of the last pack is padded by 0s.
The following packs record @kbd{PMIN}, @kbd{PSEC}, @kbd{PFRAME} of the
POINTs between the lowest track number (1 or @code{01h}) and the highest
track number (99 or @code{63h}). The payload of the last pack is padded
by 0s.
The Sony .TOC example:
@smallexample
@@ -327,9 +329,10 @@ yields:
88 0d 27 00 35 18 19 39 03 19 00 00 00 00 00 00 ea af
@end smallexample
Pack type @kbd{0x89} is yet quite unclear. Especially what the information shall
mean to the user of the CD. The time points in the Sony example are in the
time range of the tracks numbers that are given before the time points:
Pack type @kbd{0x89} is yet quite unclear. Especially what the
information shall mean to the user of the CD. The time points in the
Sony example are in the time range of the tracks numbers that are given
before the time points:
@smallexample
01 02:41:48 01 02:52:58
@@ -793,17 +796,24 @@ TITLE "Joyful Nights"
@chapter References
@enumerate
@item Correspondence with Leon Merten L\"ohse
@item Correspondence with Leon Merten L@"ohse
in @email{libcdio-devel@@gnu.org} circa 2011
@item @url{http://www.t10.org/cgi-bin/ac.pl?t=f&f=mmc3r10g.pdf}
@item @url{http://www.sonydadc.com/file/}
by docs and results of cdtext.zip from
@item http://digitalx.org/cue-sheet/syntax
@item source code for libcdio @url{http://www.gnu.org/s/libcdio}
@item source code fro cdrecord @url{ftp://ftp.berlios.de/pub/cdrecord/alpha}
@item cdrecord manual page.1 @url{http://cdrecord.berlios.de/private/man/cdrecord/cdrecord.1.html}
@item @url{http://tech.ebu.ch/docs/tech/tech3264.pdf} CD Text Language codes
@item @url{http://helpdesk.audiofile-engineering.com/index.php?pg=kb.page&id=123} Genre codes
@anchor{mmc3r10g.pdf}
@item MMC3 Revision 10 Reference
@url{http://www.t10.org/cgi-bin/ac.pl?t=f&f=mmc3r10g.pdf}
@anchor{cdtext.zip}
@item Documents inside Sony's @file{cdtext.zip}
@url{http://www.sonydadc.com/file/}
@item CDRWIN Cue Sheet information
@url{http://digitalx.org/cue-sheet/syntax}
@item libcdio source code @url{http://www.gnu.org/s/libcdio}
@item cdrecord source code @url{ftp://ftp.berlios.de/pub/cdrecord/alpha}
@item cdrecord manual page.
@url{http://cdrecord.berlios.de/private/man/cdrecord/cdrecord.1.html}
@item CD Text Language codes
@url{http://tech.ebu.ch/docs/tech/tech3264.pdf}
@item Genre codes
@url{http://helpdesk.audiofile-engineering.com/index.php?pg=kb.page&id=123}
@end enumerate
@bye