home *** CD-ROM | disk | FTP | other *** search
- DOCUMENT:Q105189 14-OCT-1993 [W_NT]
- TITLE :Contents of READTOC.DOC for Kodak Photo CD Compatibility
- PRODUCT :Windows NT
- PROD/VER:3.10
- OPER/SYS:WINDOWS
- KEYWORDS:
-
- ----------------------------------------------------------------------
- The information in this article applies to:
-
- - Microsoft Windows NT operating system version 3.1
- - Microsoft Windows NT Advanced Server version 3.1
- ----------------------------------------------------------------------
-
- SUMMARY
- =======
-
- In an effort to help facilitate the compatibility of a Kodak
- Multisession Photo CD with Windows NT and future Windows operating
- systems, this document will help outline the necessary details to
- enable this compatibility through the Read TOC command.
-
- If the drive's firmware does not or cannot implement the Read TOC
- Command in this way, a filter driver needs to be written to enable
- your CD-ROM drives to be multisession-capable.
-
- For additional information on the Kodak Photo CD and Windows NT, query
- on the following words in the Microsoft Knowledge Base:
-
- kodak and windows and nt and support
-
- MORE INFORMATION
- ================
-
- To identify the Photo CD TOC information, the most significant two
- bits of the control field of the CDB of the Read TOC Command has been
- assigned to identify this information. In order to maintain
- compatibility with ANSI SCSI-2 specification, the Format Field is
- assigned to 00b for SCSI-II compatible read TOC commands. For handling
- the Kodak Photo CD multisession, format 01b can be used. This will
- give the start address of the last session which is required when the
- driver calculates the offset to the file descriptor block of the last
- session. Format 10b is used to return all Q subcode data in the TOC
- area.
-
- Please enable ALL of the Formats to ensure future compatibility. Mode
- 01 must report a data length of 0A for a multisession-capable drive.
- And Mode 00 must report a data length greater than 0A.
-
- A mode 01 TOC command that returns a data length of greater than 0A
- will be considered incapable of reading multisession discs. The data
- length represents the length of the returned data not including the
- size of the data length field.
-
- READ TOC Command (43h)
-
- ======================================================================
- Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
- Byte | | | | | | | | |
- ======================================================================
- 0 | Operation Code (43h) |
- -----|---------------------------------------------------------------|
- 1 | Logical Unit Number | Reserved | MSF | Rsvd |
- -----|---------------------------------------------------------------|
- 2 | Reserved |
- -----|---------------------------------------------------------------|
- 3 | Reserved |
- -----|---------------------------------------------------------------|
- 4 | Reserved |
- -----|---------------------------------------------------------------|
- 5 | Reserved |
- -----|---------------------------------------------------------------|
- 6 | Starting Track/Session Number |
- -----|---------------------------------------------------------------|
- 7 | (MSB) |
- -----|--- Allocation Length ---|
- 8 | (LSB) |
- -----|---------------------------------------------------------------|
- 9 | Format | Control Byte |
- ======================================================================
-
- The READ TOC command requests the target to transfer the table of
- contents (TOC) data to the initiator.
-
- This command is modified from the SCSI-2 Read TOC command with the
- addition of the Format field and the Session Number field to support a
- multisession disc.
-
- The following are definitions for the Format Field:
-
- Format:
-
- 00b
-
- Same definition as in SCSI-2. The start Track/Session Number field
- specifies the starting track number for which the data will be
- returned. For multisession Photo CD, this command will return the TOC
- data for all sessions.
-
- 01b
-
- This format returns the first session number, last session number and
- the last session starting address. In this format, the Starting
- Track/Session Number field is reserved and should be set to 00h.
-
- NOTE: This format provides the host to access the last session
- starting address quickly.
-
- 10b
-
- This format returns all Q subcodes data in the lead in (TOC) area
- starting from a specified session number as specified in the Session
- Number field. In this mode, the drive will support Q Subcode Point
- field value of A0h, A1h, A2h, Track numbers, B0h, B1h, B2h, B3h, B4h,
- and C0h.
-
- 11b
-
- Reserved.
-
- The starting track field specifies the starting track number for which
- the TOC data will be returned. The data is returned in contiguous
- ascending order. Valid values for the starting track field are 0h to
- 63h. A value of AAh requests that the starting address of the lead out
- area be returned. If this value is zero, the table of contents data
- will begin with the first track on the disc.
-
- If the track number field is not valid for he disc inserted, the
- command will be terminated with a CHECK CONDITION status. The sense
- key is set to ILLEGAL REQUEST. The additional sense code is set to
- ILLEGAL VALUE in CDB.
-
- NOTE:
-
- CD-I disc format does not have track descriptor for CD-I tracks. It
- has track descriptor for each CD-DA tracks.
-
- For Format = 00b, the returned data of READ TOC Command is defined as
- follows.
-
- TOC Data with Format Field = 00b
-
- ======================================================================
- 0 | (MSB) |
- ---|-------------- TOC Data Length -----------|
- 1 | (LSB) |
- ---|-----------------------------------------------------------------|
- 2 | First Track Number |
- ---|-----------------------------------------------------------------|
- 3 | Last Track Number |
- ======================================================================
-
- TOC Track Descriptor(s)
-
- ======================================================================
- 0 | Reserved |
- ---|-----------------------------------------------------------------|
- 1 | ADR | Control |
- ---|-----------------------------------------------------------------|
- 2 | Track Number |
- ---|-----------------------------------------------------------------|
- 3 | Reserved |
- ---|-----------------------------------------------------------------|
- 4 | (MSB) |
- ---|---- Absolute CD-ROM Address ----|
- 7 | (LSB) |
- ======================================================================
-
- The TOC data returned is a four-byte header followed by one or more
- TOC track descriptors. The last track descriptor is for the lead-out
- area. The format of the CD address is determined by the MSF bit in the
- CDB.
-
- The TOC data length specifies the length in bytes of the available
- table of contents data. The value of TOC data length does not include
- TOC data length field itself.
-
- The first track number field indicates the first track number in the
- table of contents.
-
- The last track number field indicates the last track number in the
- table of contents before the lead-out track number.
-
- Implementor's Note:
-
- A disc may start at any track number greater than zero. The track
- numbers between the first track number and the last track number are
- in contiguous ascending order, except for the lead-out track which has
- a track number of AAh.
-
- The ADR field is defined in the Read Q Sub-Channel command.
-
- The control field indicates the attributes of the track. It is defined
- in the Read Q Sub-channel command.
-
- The track number field indicates the track number for which the data
- in the TOC track descriptor is valid.
-
- The absolute CD-ROM address contains the address of the first block
- with user information for that track number as read from the table of
- contents. An MSF bit of zero indicates that the absolute CD-ROM
- address field contains a logical block address. An MSF bit of one
- indicates the absolute CD-ROM address field contains an MSF address.
-
- Implementor's Note:
-
- The starting logical block address value recovered from the TOC has a
- tolerance of zero for data tracks and plus or minus 75 CD sectors for
- audio tracks. This tolerance is multiplied by a factor dependent on
- the logical block length.
-
- For format = 01b, the returned data of READ TOC command is defined as
- follows:
-
- TOC Data with Format Field = 01b
-
- ======================================================================
- 0 | (MSB) |
- ---|------------- TOC Data Length -------|
- 1 | (0Ah) (LSB) |
- ---|-----------------------------------------------------------------|
- 2 | First Session Number |
- ---|-----------------------------------------------------------------|
- 3 | Last Session Number |
- ======================================================================
-
- TOC Track Descriptor
-
- ======================================================================
- 0 | Reserved |
- ---|-----------------------------------------------------------------|
- 1 | ADR | Control |
- ---|-----------------------------------------------------------------|
- 2 | First Track Number in Last Session |
- ---|-----------------------------------------------------------------|
- 3 | Reserved |
- ---|-----------------------------------------------------------------|
- 4 | (MSB) |
- ---|----- Absolute CD-ROM Address -------|
- 7 | of First Track in Last Session (LSB) |
- ======================================================================
-
- For Format - 10b, the returned data of READ TOC Command is defined as
- follows:
-
- TOC Data with Format Field = 10b
-
- ======================================================================
- 0 | (MSB) |
- ---|----------- TOC Data Length ------------|
- 1 | (LSB) |
- ---|-----------------------------------------------------------------|
- 2 | First Session Number |
- ---|-----------------------------------------------------------------|
- 3 | Last Session Number |
- ======================================================================
-
- TOC Track Descriptor(s)
-
- ======================================================================
- 0 | Session Number |
- ---|-----------------------------------------------------------------|
- 1 | ADR | Control |
- ---|-----------------------------------------------------------------|
- 2 | Byte 1 or TNO |
- ---|-----------------------------------------------------------------|
- 3 | Byte 2 or Point |
- ---|-----------------------------------------------------------------|
- 4 | Byte 3 or Min |
- ---|-----------------------------------------------------------------|
- 5 | Byte 4 or Sec |
- ---|-----------------------------------------------------------------|
- 6 | Byte 5 or Frame |
- ---|-----------------------------------------------------------------|
- 7 | Byte 6 or Zero |
- ---|-----------------------------------------------------------------|
- 8 | Byte 7 or Min |
- ---|-----------------------------------------------------------------|
- 9 | Byte 8 or PSec |
- ---|-----------------------------------------------------------------|
- 10| Byte 9 or PFrame |
- ======================================================================
-
- For Format field of 10b, the drive should return TOC data for Q-
- subcode modes (ADR field) 1 and 5 (except mode 5, point 1 through 40)
- in the lead in area.
-
- The First Session Number is equal to the Last Session Number for
- single session discs.
-
- The returned TOC data of a multisession disc is arranged in ascending
- order of the session number. The TOC data within a session is arranged
- in the order of Q Subcode Point field value of A0h, A1h, A2h, Track
- Numbers, B0h, B1h, B2h, B3h, B4h, and C0h.
-
- REFERENCES
- ==========
-
- Kodak Photo CD Multisession Compatibility with Microsoft Windows NT
- and future Windows Operating Systems. (READTOC.DOC)
- ⌐ 1993 Microsoft Corporation. All rights reserved.
- DRAFT 1.1 - July 1993:
-
- Information contained in this document represents the current view of
- Microsoft Corporation on the issues discussed as of the date of
- publication. Because Microsoft must respond to changing market
- conditions, it should not be interpreted to be a commitment on the
- part of Microsoft, and Microsoft cannot guarantee the accuracy of any
- information presented after the date of publication. This document is
- for informational purposes only. Neither Microsoft or its suppliers
- make any warranties, expressed or implied, in this document. Microsoft
- is a registered trademark and Windows and Windows NT are trademarks of
- Microsoft Corporation. Kodak is a registered trademark and Photo CD is
- a trademark of Eastman Kodak Company.
-
- The products included here are manufactured by vendors independent of
- Microsoft; we make no warranty, implied or otherwise, regarding these
- products' performance or reliability.
-
- Additional reference words: 3.10 3rdparty 3rd-party third-party third
- party
- KBCategory:
- KBSubcategory: hrdwr
-
- =============================================================================
-
- THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
- PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS
- ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
- OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO
- EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
- ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
- CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
- MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION
- OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
- SO THE FOREGOING LIMITATION MAY NOT APPLY.
-
- Copyright Microsoft Corporation 1993.