******************************************************************
* Document type: Library reference
* Readme file name: mancdc.doc
* Library prefix: CDC
* Library name: CD Communication Interface
* Version: 1.20
* Creator: M.M.
* Created: 3/31/1995
* Comments: None
******************************************************************

1. Changes made to the CD Module (Ver. 1.10 -->Ver. 1.20)

1.1 Changes to the Header File (sega_cdc.h)

1) Change in the Constant Value

/* Special setting of the buffer partition sector range */
/* (sector position and the number of sectors) */
/* (The lower 16 bits of the sector position and number of *?
/* sectors are valid and have the same internal value 0xffff) */
#define CDC_SPOS_END -1 /* Partition's last sector position */
#define CDC_SNUM_END -1 /* Number of sectors from the specified */
                        /* sector position to the end of the */
                        /* partition */

/* Other special settings */
#define CDC_NUL_FID -1 /* Special File ID value (0xffffff) */

/* Play mode (within the CD play parameter) */
#define CDC_PM_NOCHG -1 /* Do not change play mode (0xff) */

/* Sector length */
enum CdcSctLen {
 CDC_SLEN_NOCHG = -1 /* Do not change settings (0xff) */
};

2) Addition of Constant Names

/* Other special settings */
#define CDC_PARA_DFL 0       /* Set parameter default */
#define CDC_PARA_NOCHG -1    /* Set no change parameter */

/* CD flag */
#define CDC_CDFLG_ROM 0x80   /* Decoding CD-ROM */

/* Hardware flag (within hardware data) */
#define CDC_HFLAG_MPEG 0x02  /* MPEG present */
#define CDC_HFLAG_HERR 0x80  /* Hardware error generated */

/* File attributes (within file data) */
#define CDC_ATR_DIRFG 0x02 /* Is a directory */
#define CDC_ATR_FORM1 0x08 /* Contains Form1 sector */
#define CDC_ATR_FORM2 0x10 /* Contains Form2 sector */
#define CDC_ATR_INTLV 0x20 /* Contains interleaved sector */
#define CDC_ATR_CDDA  0x40 /* CD-DA file */
#define CDC_ATR_DIRXA 0x80 /* Directory file */

/* Standby time */
#define CDC_STNBY_MIN 60  /* Minimum value */
#define CDC_STNBY_MAX 900 /* Maximum value */

/* Subcode flag */
#define CDC_SCD_PACK 0x01 /* Pack data error */
#define CDC_SCD_OVER 0x02 /* Overrun error */

/* Number of words transferred by the CD block */
#define CDC_DEND_ERR 0xffffff /* Data transfer error */

/* Actual data size */
#define CDC_ACTSIZ_ERR 0xffffff /* Unable to calculate */ 

/* Frame address search results */
/* (sector position and frame address) */
#define CDC_SPOS_ERR 0xffff   /* Search error */
#define CDC_FAD_ERR  0xffffff /* Unable to search */

3) Addition of Processing Macros

/* Fetch status code from CD status data */
#define CDC_GET_STC(stat)  (CDC_STAT_STATUS(stat) & CDC_STC_MSK)

/* Fetch number of repeats from CD status data */
#define CDC_GET_REPEAT(stat) (CDC_STAT_FLGREP(stat) & 0x0f)

1.2 Changes in Function Specifications

1) Access function for the frame address search results
  (CDC_GetFadSearch)

  If there is a search error, the sector position constant name in
  the search results is changed as follows:

    CDC_SPOS_END->CDC_SPOS_ERR

2) Register Access Function

   The following register access functions have been changed from
   Uint16 to Sint32 to avoid unnecessary zero expansion.

   Sint32  CDC_GetHirqReq(void);
   void    CDC_ClrHirqReq(Sint32 bitpat);
   Sint32  CDC_GetHirqMsk(void);
   void    CDC_SetHirqMsk(Sint32 bitpat);

1.3 Changes in processing

1) Internal Optimizations

   The internal organization was reviewed for optimization
   purposes.  The program size has been reduced as a result.

2. Inclusion of the MPEG Module

   Beginning with this version of the library, the MPEG module
   functions have been officially incorporated.  Specification
   manuals are planned for release.

3. Warnings on SCU-DMA Use

   Since access of the A-bus is prohibited during SCU DMA
   transfers, the use of all CDC functions are prohibited during
   these transfers.

   See specification No. 8., "Access prohibited to the A-Bus and 
   B-Bus from the CPU during DMA operations between the A-Bus and
   B-Bus" in the Sega Saturn Technical Bulletin #10, "SCU
   Specification Changes"

4. Supported CD-related libraries versions

   Use the following versions for CD-related libraries.

   - CD Communication Interface Library (CDC): Ver. 1.20
   - File System Library (GFS): Ver. 1.21 or later
   - Stream System Library (STM): Ver. 1.21 or later
   - MPEG Library (MPG): Ver. 1.20 or later

***************************end of file****************************
