Announcement

Collapse
No announcement yet.

Sub Channel Data

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sub Channel Data

    Greetings All,
    I've been scouring the net and forums and have gathered what information I can on Sub Channel Data.

    I've used many copy tools (blindwrite, clonecd and a few GPL tools like readcd etc...)

    I have been analysing three sets of files with a hex editor:
    - Blindwrite (B5T and B5I)
    - CloneCD (SUB and IMG)
    - ReadCD or cdrdao (Cooked -2048, RAW -2352, RAW+96 -2448)

    I can identify some elements (sector ends and Sub Channel data) across these files, but have come across some stumbling blocks.

    Goal
    I don't like proprietry file formats, for my own reasons. I want to make 1:1 coppies of my CD's, and want to do it in a more standard and open manner. For me, this is recording RAW data and RAW Sub Channel data.

    Blindwrite
    I haven't reverse Engineered B5T and B5I, it seems quite proprietry from what I've seen internally. I'm aware there's a project out there to convert these files to ISO so I could get some information there. I do like the data collected in these files and the way they go about it, but I have to pay money to record my CD's that way and the money is better off going towards storage for the cds'.

    CloneCD
    I also like how CloneCD seperates the Sub Channel data into a seperate SUB file and then kept a RAW (2352 bytes/sector) in an IMG file. This is the concept I want to emulate, though maybe add some overhead which I've noticed in the Blindwrite files.

    ReadCD
    This is the Tool I want to use, it's open source and available on multiple platforms. I've used it to extract Raw R-W Sub Channel data with the RAW (2352) into a single image. If it got the data I want it too, I would simply write a quick tool to extract the sub channel data into a seperate file and hopefully end up with the CloneCD output.

    What I don't understand
    ReadCD will extract RAW R-W data, but I've read somewhere about RAW P-Q or something of the sorts... what's the difference? I can not find a great deal of info about the construction of sub channels. I would REALLY appreciate some links / info on the topic
    I've looked at the subchannel data in a hex editor and it is does not even come close to resembling the sub channel output of clonecd. (I'm assuming the .SUB file lists each 96byte block of Sub Channel data consecutively for all sectors on the CD, that's how it appears).

    Snippets of other Information
    I do know that the CloneCD Sub channel file is not consistent in generation and that some byte patterns will vary each record. I believe that the CD-Burner does not perform error-checking and recovery on Sub Channel data yet it's reliable enough for copy protection, CD text and other data?
    I stipulate that CloneCD extracts additional information from the CD-Recorder, which I'm not doing with ReadCD, and uses this data to decrypt the Sub Channel data.

    If You've read this far, I appreciate your efforts already.

    Edit: Updates
    Well, who would have thought that when trying to learn what "CD+G" means, I've found heaps of info on Sub Channels data... not enough yet though. Keep the help comming :-)

    Edit: Links, For those interested
    http://en.wikipedia.org/wiki/CD-G
    Last edited by MonkeyMonkey; 26.10.2005, 10:09.

  • #2
    Re: Sub Channel Data

    h**p://forums.afterdawn.com/thread_view.cfm/22344
    the modern world:
    net helpmsg 4006

    Comment


    • #3
      Veeeeeeeeeeeeery useful:

      http://www.cdrfaq.org

      If you don't read this, you'll remain in the dark forever.
      To contact me privately, pray. I might answer.

      Comment


      • #4
        Thanks for the responses. It's odd that after I wrote the post I started to find more and more.

        I'm checking out cdrfaq... At the moment I've found someone's code that will deinterlace the sub channel data for me, but alas it was written for the microsoft compilers and I don't have these (nor do I wish to buy them). I'm trying to port the code over to gcc compatable.

        Meanwhile, I'll check to see if there's enough info on cdrfaq so that maybe I can rewrite the algorythm myself.

        Thanks.

        Comment


        • #5
          Keep us posted - if you write a good enough script to use readcd / re-write readcd / develop your own CD data extractor, and GPL it, I'll definitely take a looksie at it. I am all about OSS and support the OSI.
          http://www.calendarofupdates.com | http://sevenforums.com

          sigpic

          Comment


          • #6
            I would even write an Alcohol/CloneCD-like GUI app for creating images. The only reason I didn't do so yet, is because I'm not really in the mood in learning about CDs and low-level SCSI/ATAPI access. But if some good code would exist, I would attempt it for sure.
            To contact me privately, pray. I might answer.

            Comment


            • #7
              Perhaps you oughta look at readcd since it *is* GPLd
              http://www.calendarofupdates.com | http://sevenforums.com

              sigpic

              Comment


              • #8
                Thanks everyone for the support,

                I too am interested in Open / Free software, since I use it then my development will fall under that domain.
                I want to use ReadCD so currently I'm thinking of a script which does the following:

                -Extract full data using readCD
                -Develop a program to seperate the sub-channel / image data
                -De-Interlace the Image data (software)

                It's becomming obvious that I desire to mimic similiar output to CloneCD. This way DT doesn't need adjusting.

                Where I'm up to:
                I've found some code on the internet to deinterlace the sub-channel data, however, I had to port it to AT&T Assembler .... Anyway, that's done.
                I've *de-interlaced* (using borrowed code) one sub-channel frame and the result is not what I was hoping. I hoped I would see something similiar to CloneCD's .SUB data output. Perhaps error correction is performed, I'm not sure. I'll have a look at the ReadCD parameters and see what I've got. I'm also considering viewing the red book (I think that's the right one) to verify my understanding of sub-channel data and modify my code appropriately.

                Side Note:
                As mentioned, I do appreciate people's support. I hope to invest whatever time I can into this project. It'll take me a while to complete things, however, as I usually only can spare a few hours a week. Though, this weekend is mostly free so I will devote my time to getting this done. Thanks again.

                Comment


                • #9
                  red book

                  You cannot view the red book .
                  Originally Posted by wikipedia.org
                  The standard is not freely available and must be licensed from Philips. At the time of writing, the cost as per the relevant Philips order form (document no. 28/10/04-3122 783 0027 2) is US$5000
                  Last edited by Underheaven; 02.11.2005, 09:54.
                  the modern world:
                  net helpmsg 4006

                  Comment


                  • #10
                    That does make more sense though, not being able to freely view the redbook. I was expecting this but I've read about a ton of people who have viewed it (???).

                    Thanks for the heads up.

                    Reverse Engineering it is then.

                    Comment


                    • #11
                      Well,
                      Know I'm having a look at Alcohol 120% files to see how they store the information.

                      I'm starting to realise a bit more complexity in this, looking at the alcohol settings. My plan is to still use Read CD, so I'll need to check that it supports the same reading options as Alcohol.

                      Learning a bit more about copy protections, my first thought that a 1:1 image of a CD would resolve copy protections seems to be faulty, nonetheless, that's why we have hackers. As long as I can capture enough information...

                      Comment


                      • #12
                        Does anybody know if ReadCD can read in channels P and Q? This may be part of what's causing me a problem.

                        I'm assuming ReadCD uses MMC, so I am considering checking the MMC specs and perhaps modifying ReadCD.

                        Comment


                        • #13
                          you completely lost me at "channels"

                          Comment


                          • #14
                            Originally Posted by Xristaki
                            you completely lost me at "channels"
                            I posted a link to the CD-R FAQ in this thread. It's worth a read.
                            To contact me privately, pray. I might answer.

                            Comment


                            • #15
                              Thanks, I've read a bit on cdrfaq, particularly the subchannel or subcode information.

                              I don't want this project of mine to die off, though I haven't been online for a little over a week now, so it's slow sailing. People have expressed interest in helping me, and I appreciate it. When I get some momentum going on this project, I will contact you.

                              So where am I up to?

                              Well, I'm keeping to my goal of a GPL copy program similar to blindwrite / Alcohol etc... However, the hardcore copy protection stuff I'm going to leave to other people. If anyone has reverse engineered Alcohol or blindwrite files (mainly the header files), I'd appreciate picking your brains.

                              More Notes
                              I have looked inside the Alcohol 120% files and see something similar to the contents of CloneCD, however, they have embedded subchannel data in the single image file.

                              What I'm not sure about is that the subchannel data is not the same as my RAW copy of the data or the CloneCD sub channel data, there are similarities though.

                              Questions for me or others
                              Does CloneCD / Alcohol 120% Encrypt their Subchannel rips at all?
                              I'm sure that the read-soloman error correction should not be applied to this data and that I am applying an de-interleave algorythm to the data.

                              I'm still looking for a good source for Data De-Interleaving. From what I've read the data is stored as:
                              - 8 Channels stored in 8 consecutive bytes.
                              - Each bit of each byte corresponds to a channel
                              - To "De-Interleave" the data, one Channel Byte (say P) can be extracted by collecting the first bit of each byte for eight bytes.
                              However, this doesn't necessay correspond with the algorythms I've seen other people write. If anyone can confirm or correct this, I would appreciate it.

                              Thanks.

                              Comment

                              Working...
                              X