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
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
Comment