About CloneCD CCD file format questions

Discussion in 'CloneCD' started by DocMX7, Jul 26, 2018.

  1. DocMX7

    DocMX7 Member

    Hello everyone,

    I have some questions about the meaning of some keywords attributes in a common CCD file for CloneCD 3 or 4.

    I have crawled the web but I found no clearly accurate information about that.

    Question 1)

    In the session section of CCD file there are always two keywords “PreGapMode” and “PreGapSubC” like below :

    [Session 1]
    PreGapMode=N
    PreGapSubC=M

    where N is in [0,1,2]
    where M is in [0,1]

    What is the meaning of each value of each keywords ?

    Question 2)

    Each track of each session described in CCD file use the descriptive block below :

    [TRACK 1]
    MODE=2
    INDEX 1=0

    I know that it means Track one is Mode 2 data type and start at sector 0.

    But sometimes the descriptive block comes like these :

    [TRACK 1]
    MODE=0
    INDEX 0=M
    INDEX 1=N

    Now I suppose INDEX 0 means a sort of pregap starting at sector M for audio track 1 where sound really start at sector N, but it’s a guess.
    Is it right ?

    Is it possible to have something like that :

    [TRACK 1]
    MODE=0
    INDEX 0=0
    INDEX 1=N
    INDEX 2=M
    ans so one …

    If yes, what could mean all those indexes ?

    Is it possible to have the same layout for a track in mode = 1 or mode = 2 or is it only for audio tracks ?

    Thanks for helping me better understanding CCD file structure and description.

    Good day to all
     
  2. Faye

    Faye Well-Known Member

    If you look at the subcode, you'll see that Index 0 occurs during the P blanking period and Q contains a timecode which is counting down frames from 1.75 or thereabouts. This is the Pregap (It's configurable but defaults to 2s or 150 sectors). 1 is the track itself which starts on the last P sector with all 1 data and timecode 0. I've seen Index2 used as the postgap marker in which case it's joined by a P blanking period but it is really just like a bookmark in a track - more often used during classical music where you might want to skip to a movement within a single piece.

    If you're looking to convert to another format, then iso is just the 2048 byte part of the data track and PREGAP in a cue file should only be used if the data sectors for it are not in the binary image. It shouldn't be used before the first track and the best thing to do is to subtract 2s from the values if you're writing a cue file as there is no subcode channel in bin/cue to let it know any better.

    Mode 0 is audio (I guess)
    Mode 1 is 2048 byte per sector error corrected data mode
    Mode 2 is 2336 byte per sector YOLO data mode.

    The lovely people at RedFox have already converted the bitstream Subcode into bytes for you so that you don't have to worry about that. There are 96 bytes of subcode per sector, and 8 channels labelled from P each containing 12 bytes of data.

    Data tracks can be detected by the Sync frame at the start (0x00, 10x0xff. 0x00) and a timecode. Because the timecode starts at 2s I'm assuming it's absolute (to the session).
    Mode 1 can be detected via the CRC32 which appears after the 2064'th byte of the sector which covers all the previous bytes in the sector. The last bytes are error correction data which I know nothing about.