Ringed Disc Dumping Guide
From Redump Wiki
Ringed Discs have physical separators, preventing the disc from being properly dumped by typical means.
- Note: this guide is not for Dreamcast / GD-ROMs which also have rings, see GD-ROM Dumping Guide.
- Warning: This is a long process, make sure you have set aside adequate time before using this guide. Ring dumping is exceptionally difficult and can take multiple days of work.
- This guide assumes you are using Windows and have basic Windows Command Prompt knowledge, if you are having difficulties, consult the Redump forums for assistance.
- Any DIC Compatible Drive
- Liteon/HP SOHD-167T (Firmware appears to matter, needs testing)
- CloneCD (Free Trial)
- ECCEDC.exe (Old Version)
- OpenHashTab (Or any other hashing software with CRC32, MD5, and SHA-1 support.)
Step 0: First determine if your disc is actually ring protected. To do this, examine the data side of the disc and look for visible dark circle(s). If you are unsure, attempt a normal dump or post an image in the Redump forums for assistance.
Step 1: Before dumping, first we will acquire metadata for submission using DIC. Begin a normal dumping process with your DIC-compatible drive with /c2 disabled. When it encounters the ring errors (it'll get stuck) click in the console window to freeze the process. Eject the disc at this time, and then continue the DIC process by hitting enter. After 10000 or so sectors (it doesn't have to be precise), freeze the process again, re-insert the disc, and then start the process again. Allow DIC to finish normally at this time and save the output info and logs for later. If multiple rings are present, you may be required to do the eject method multiple times.
Step 2: Move the disc over to the SOHD-167T drive, this will be used for the rest of the guide. Open CloneCD, select the "Read to Image file" button, and select the SOHD-167T drive. Right click the "Protected PC Game" profile. Go to the "Error Handling" tab and disable all options including "Intelligent Bad Sector Scanner" and "Fast Error Skip Settings" then hit OK, select the profile, and proceed to the next screen. IMPORTANT: Check the box where it asks to create a Cue-Sheet (.CUE) file, this is required for future steps. Save the IMAGE file wherever you'd like in an easy to access spot for future Command Prompt access. Begin the dumping process at this time. Allow CloneCD to finish dumping, this will take a while and may appear like it is making no progress, but let it continue, this may take a day or two. CloneCD will 0x55 error the ring protected sectors and generate a (nearly) complete dump. The drive will eject the disc on completion, remember to insert it back when the dump is complete. Before closing CloneCD, be sure to save the log output for submission.
Step 3: Now we will be using ECCEDC.exe to detect what sectors have errors in our CloneCD IMG file. Open a Command Prompt in the location you placed ECCEDC.exe and run the following command:
ECCEDC.exe checkex <location of IMAGE.cue file>
ECCEDC.exe should have generated a log file (IMAGE.cue_EdcEcc_Track_1.txt). Open and search for the first line that says "2336 bytes have been already replaced at 0x55." The LBA of this line is your first ring sector. Scroll to the last uninterrupted instance and that is your last ring sector. Document this range somewhere, and repeat if there are multiple rings.
Step 4: Open an elevated (admin) Command Prompt window where you placed CDArchive.exe and run the following command after filling in the required information:
cdarchive.exe --mode=ext --extrdrive=<DriveLetter> --extrstart=<FIRSTRingSector> --extrend=<LASTRingSector> --extroverread=0 --extrretries=100 --extrskip=1000 --extrdirection=<f or b> --extrdiscmode="cd" --extrsectdir="<SectorExtractionDirectory>" --extrrefcue="<PathToIMAGE.cue>"
"SectorExtractionDirectory" is where the successfully read new sectors into the ring will be placed. "extrdirection" can be f for forward or b for backwards, supposedly the SOHD drive reads better backwards but this is unconfirmed. Once the command is run, CDArchive will attempt to read sectors at the edges of the ring protection (the end if you used b, the start if you used f). If CDArchive is not able to read a sector after multiple attempts, it is safe to assume that's all that can be read. The drive may get hot, if this happens give the drive a break, as it will not read as well when it is overheating. Attempt to read into the start and end of every ring present. When you are satisfied, move on to the next step.
Step 5: While still in the Command Prompt and navigated to where CDArchive.exe is, run the following command after filling in the required information:
cdarchive.exe --mode=mer --merdiscmode=cd --mersrcdir="<SectorExtractionDirectory>" --meroutcue="<PathToIMAGE.cue>"
This will merge all the newly acquired sectors by CDArchive into the CloneCD IMG. Copy all of the acquired sectors into your .ZIP DIC log file for staff examination.
Step 6: IMPORTANT: Before starting this step, create a backup copy of the IMG, CCD, SUB, and CUE files. Store them somewhere safe as this step can compromise your dump. After that is done, open CDMage and drag your copy of the .CUE file into the window. Click the "Action" tab at the top, then "Scan For Corruption." Click Scan and allow CDMage to check all sectors. If any are found to be corrupt, click "Action" again then "Repair Corrupted Sectors". If none are found to be corrupt, or none are repaired, you can delete your backup copy of the files and move to the next step. If any are repaired, save the file and the files created by CDMage become your new main files for the rest of the process. Please include a note in your submission if sectors were repaired with CDMage.
Step 6.5: (Only required if CDMage repaired any sectors) Open a Command Prompt and navigate back to ECCEDC.exe is placed. Run the following command on your CDMage repaired .CUE file:
ECCEDC.exe fixex <location of IMAGE.cue file>
This will repair sectors corrupted by a CDMage bug (Sectors which are already filled with 0x55 pattern are edited to fill a reserved field with 0x00 value).
Step 7: Now we will be using ECCEDC.exe to gather updated ring sector ranges. Open a Command Prompt in the location you placed ECCEDC.exe and run the following command again:
ECCEDC.exe checkex <location of IMAGE.cue file>
ECCEDC.exe should have generated a log file (IMAGE.cue_EdcEcc_Track_1.txt). Open and search for the first line that says "2336 bytes have been already replaced at 0x55." The LBA of this line is your first ring sector. Scroll to the last uninterrupted instance and that is your last ring sector. Document this range somewhere, and repeat if there are multiple rings. These are your final ranges and must be included in your Redump submission comments. The final error count from this log should be used for your Redump submission.
Step 8: If you have installed OpenHashTab, right click your latest IMG file and click "Hashes." OpenHashTab will generate new hashes for you to include in your !submissioninfo file and Redump submission.
Step 9: Submit the disc and all logs gathered to Redump normally. Include updated ring ranges in comments.
--mode -> Could be "ext" (extract) or "mer" (merge), to extract or merge sectors; --extrdrive -> Drive Letter for SOHD-167T --extrstart -> Start of sector range you want CDArchive to scan --extrend -> End of sector range you want CDArchive to scan --extroverread -> Read X amount of sectors before/after the range (Helpful for resetting drive to a "valid" state) --extrretries -> Number of times CDArchive will attempt to read a sector before moving on --extrskip -> Number of unread sectors until stopping, count resets upon successful sector read. --extrdirection -> Can be "f" (Forwards) or "b" (Backwards) for which direction you want CDArchive to scan. Backwards is recommended. --extrdiscmode -> Media type (CD or DVD) --extrsectdir -> Folder where you will place the extracted sectors (remember to create this folder before running this application) --extrrefcue -> is for the CloneCD cue file related to the previous image file
- Any DVD-ROM Drive (Unconfirmed)
CDArchive is used for dumping Ring Protected DVDs. As it's explained here in the command line you'll have to use "--extrdiscmode=dvd" and a special cue file with this information:
FILE "FILE.ISO" BINARY TRACK 01 MODE3/2048 INDEX 01 00:00:00
See the CD Dumping section for command examples and templates.