DiscImageCreator

User avatar
pablogm123
Posts: 836
Joined: Mon Jun 08, 2026 1:27 am

Re: DiscImageCreator

Post by pablogm123 »

Many thanks for continuing developing and enhancing your tool.

sarami, could you implement FUA (forced unit access) support (only real Plextor drives support this) to defeat easily and quickly the drive's cache when performing rereads, without needing to read useless data just to defeat the cache?

Read this message of MyCE as example, spath developed a tool (in the very first post) to test the FUA support and the ammount of audio data which a given drive caches, using the BE and D8 read commands:

Code: Select all

http://club.myce.com/showthread.php?p=1507770
Edit. Confirmed, my PX-755SA supports FUA, which is fine, and caches audio data, which is bad but the FUA can avoid that easily:

Code: Select all

C:\>cachex.exe -p  -c -r 0xd8 -n 20 g:

CacheExplorer 0.8 - spath@cdfreaks.com

Drive on G is  PLEXTOR  DVDR   PX-755A   1.08

[+] Plextor flush command: accepted
[+] Plextor flush tests: 20/20
[+] Testing cache line size:
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
 581 kB / 253 sectors
Last edited by pablogm123 on Thu Feb 27, 2014 10:12 am, edited 1 time in total.
On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot
User avatar
Nexy
Posts: 729
Joined: Mon Jun 08, 2026 1:26 am

Re: DiscImageCreator

Post by Nexy »

Oh good, I will test the C2.

I got a very strange bug when dumping 7th Guest disc 1. When unscrambled there were ~50000 errors because the headers were decoded wrong. Other tools dump the disc fine.
Plextor PX-760A 1.07 (+30) : Plextor PX-716SA 1.11 (+30) : Plextor PX-W5224A 1.04 (+30) : Plextor PX-W4824 1.07 (+30) : Plextor PX-W4012TA 1.07 (+98) : Plextor PX-W1610TA (+99) : Plextor PX-W1210TA 1.10 (+99) : Lite-On LTR-48246S (+6) : Lite-On LTR-52246S (+6) : Lite-On LH-20A1H LL0DN (+6) : BenQ DW1655 BCIB (+618) : ASUS DRW-2014L1 1.02 (+6) : Yamaha CRW-F1 (+733) : Optiarc SA-7290H5 1H44 (+48) : ASUS BW-16D1HT 3.02 (+6)
sarami
Posts: 1762
Joined: Mon Jun 08, 2026 1:27 am

Re: DiscImageCreator

Post by sarami »

>pablogm123
Thanks info.

>Nexy
This?
https://redump.info/disc/29777/

These bug happen C2 only?
DiscImageCreator, UmdImageCreator, Conv2multiBin, bin2wav, PS3Auth (needs login), [url=http://www.mediafire.com/file/5cgoy11x6ahc7qh/%2523recompressTo7z_20150109.bat/file]recompressTo7z_20150109.bat[/url]
User avatar
Nexy
Posts: 729
Joined: Mon Jun 08, 2026 1:26 am

Re: DiscImageCreator

Post by Nexy »

No, I didn't use the new version of DIC to dump that, I used the last one. So not with C2. Also it was the older dump I made of the OEM version.

Very strange that it happened at all and didn't give any error. There was subcode desync in the log however, maybe that was the reason.

I will do it again and see if that same bug occurs again. If it does, I will compress it all and upload it somewhere for you to look at.

A friend of mine with Plextor PX-W5224A, has problem with his drive reporting tons of C2 error. It has same firmware as mine and same hardware revision. Dumps are OK though... very strange! EAC does not report C2 error when ripping audio.
Plextor PX-760A 1.07 (+30) : Plextor PX-716SA 1.11 (+30) : Plextor PX-W5224A 1.04 (+30) : Plextor PX-W4824 1.07 (+30) : Plextor PX-W4012TA 1.07 (+98) : Plextor PX-W1610TA (+99) : Plextor PX-W1210TA 1.10 (+99) : Lite-On LTR-48246S (+6) : Lite-On LTR-52246S (+6) : Lite-On LH-20A1H LL0DN (+6) : BenQ DW1655 BCIB (+618) : ASUS DRW-2014L1 1.02 (+6) : Yamaha CRW-F1 (+733) : Optiarc SA-7290H5 1H44 (+48) : ASUS BW-16D1HT 3.02 (+6)
F1ReB4LL
Posts: 3395
Joined: Mon Jun 08, 2026 1:26 am

Re: DiscImageCreator

Post by F1ReB4LL »

Even on 40x speed it now takes more than 5 hours to dump a scratchless disc. I don't understand, how do you do your c2 reporting. Both 0xBE and 0xD8 have c2 reporing flags, when you set them, you get 2742 bytes/sector output (2352 data + 294 c2 + 96 subs), you need to:

1) Read all the sectors from LBA #0 to leadout
2) Check the 294-bytes c2 part for each sector. Each sector contains 2352 bytes of data and 294 bytes * 8 = 2352 bits of c2 errors reports. So, each byte of data has 1 c2 bit of data, which can be either 0 or 1. 0 - no c2 error in this byte, 1 - c2 error is there.
3) Make a list/array of the sectors, where at least 1 bit = 1. For each corrupted sector make a list/array of the corrupted bits.
4) Empty the cache and reread all the sectors with c2 errors. For each sector compare the new c2 part against the previous and if the sector still has c2 errors, but at least 1 sector is fixed - replace it and remove from the list of corrupted bits. If the sector doesn't have any c2 errors left, remove it from the list of corrupted sectors.
5) If the number of rereads isn't reached (you've said you want 80 times), retry the step 4).
User avatar
pablogm123
Posts: 836
Joined: Mon Jun 08, 2026 1:27 am

Re: DiscImageCreator

Post by pablogm123 »

Just a warning for sarami, when dumping Main + C2 + Sub you have to correct the offset of main channel and the offset of the C2 pointers.

For example, if the autodetected offset correction for the main channel is +48 samples / + 192 bytes, you have to apply 192 bits (192 bytes / 8) offset correction to the C2 pointers provided by the drive.

@F1ReB4LL: what's about the method used by the dBpoweramp CD Ripper? And perhaps is useful as inspiration for sarami. It's the commercial program (I bought a licence a year ago) I use to rip my music CDs into my music library.

Roughly it does this:

-Read one given track once. If no C2 error reported, encode to the final file. If C2 errors are detected, will make rereads taking into account the C2 pointers.

-It will try to get 10 identical reads and not marked as bad by the C2 pointers, until it can get those identical 10 reads not marked as bad or reach the maximum number of rereads allowed (you can configure any extreme numbers of rereads, like 2000/5000/10000 rereads, the developer suggests 750 if you own a drive with decent C2 error reporting). If cannot obtain 10 identical rereads not marked as bad, but could obtain a certain reread not marked as bad, it will use this one.

-Of course, the program needs to know the ammount of audio that the drive caches (can autodetect that) to defeat properly the cache when performing the rereads. Or if you own a real Plextor drive, you can enable the FUA mode to defeat fastly the cache without rereading useless data.

For example, ripping this music track detected 10 bad sectors (according to C2 pointers), and reread these ones until it could obtain 10 identical rereads not marked as bad. c2 dropped n means the number of rereads discarded because at least there is one corrupted byte.

Code: Select all

Track 4:  Ripped LBA 71463 to 94145 (5:02) in 9:07. Filename: C:\Extraído\Prodigy, The\Music for the Jilted Generation\04.wav
  Secure (Warning)  [Pass 1, Ultra 1 to 1, Re-Rip 10 Frames]
  CRC32: A7A75304
    Re-rip Frame: 72283 (00:00:10,920) matched 10 / 12  (c2 dropped 156)
    Re-rip Frame: 74723 (00:00:43,453) matched 10 / 12  (c2 dropped 4)
    Re-rip Frame: 81020 (00:02:07,413) matched 10 / 12  (c2 dropped 473)
    Re-rip Frame: 81021 (00:02:07,426) matched 10 / 12  (c2 dropped 763)
    Re-rip Frame: 81480 (00:02:13,546) matched 10 / 12  (c2 dropped 5460)
    Re-rip Frame: 81876 (00:02:18,826) matched 10 / 11  (c2 dropped 1)
    Re-rip Frame: 82211 (00:02:23,293) matched 10 / 11
    Re-rip Frame: 83303 (00:02:37,853) matched 10 / 11  (c2 dropped 2)
    Re-rip Frame: 84605 (00:02:55,213) matched 10 / 12  (c2 dropped 123)
    Re-rip Frame: 90379 (00:04:12,200) matched 10 / 12  (c2 dropped 75)
Last edited by pablogm123 on Sun Sep 29, 2013 11:26 am, edited 1 time in total.
On semi-vacation. MSF/AMSF to LBA/offset and viceversa calculator: link
To write properly occidental characters contained in japanese titles: screenshot
Spaces must be the fullwidth variant: link / screenshot
F1ReB4LL
Posts: 3395
Joined: Mon Jun 08, 2026 1:26 am

Re: DiscImageCreator

Post by F1ReB4LL »

pablogm123 wrote:@F1ReB4LL: what's about the method used by the dBpoweramp CD Ripper? And perhaps is useful as inspiration for sarami. It's the commercial program (I bought a licence a year ago) I use to rip my music CDs into my music library.

Roughly it does this:

-Read one given track once. If no C2 error reported, encode to the final file. If C2 errors are detected, will make rereads taking into account the C2 pointers.

-It will try to get 10 identical reads and not marked as bad by the C2 pointers, until it can get those identical 10 reads not marked as bad or reach the maximum number of rereads allowed (you can configure any extreme numbers of rereads, like 2000/5000/10000 rereads, the developer suggests 750 if you own a drive with decent C2 error reporting). If cannot obtain 10 identical rereads not marked as bad, but could obtain a certain reread not marked as bad, it will use this one.
If it's possible to get 2 different results without c2 errors (or, at least, without c2 error bit in the questionable sector), then, of course, it is needed to check for multiple matches, I agree.
sarami
Posts: 1762
Joined: Mon Jun 08, 2026 1:27 am

Re: DiscImageCreator

Post by sarami »

>pablogm123
Thanks info.
>F1ReB4LL
Thanks advice.

WIP2
http://www.mediafire.com/download/u0olo2c51f2qv13/
-Support C2 error Flag on D8 command.
-if C2 error bit off & 2 different results, reread.
DiscImageCreator, UmdImageCreator, Conv2multiBin, bin2wav, PS3Auth (needs login), [url=http://www.mediafire.com/file/5cgoy11x6ahc7qh/%2523recompressTo7z_20150109.bat/file]recompressTo7z_20150109.bat[/url]
User avatar
Nexy
Posts: 729
Joined: Mon Jun 08, 2026 1:26 am

Re: DiscImageCreator

Post by Nexy »

When trying to dump Daytona USA championship circuit edition, with previous test version I got this error. The disc is scratch free, and dumped without c2 matches database entry.

Code: Select all

Creating img(LBA)  10375/223372
SCSI bus status codes:02-CHECK_CONDITION [F:CheckC2Error][L:231]
Sense data, Key:Asc:Ascq:03:02:83(MEDIUM_ERROR. VENDER UNIQUE ERROR)
LBA 10379 Read error [L:237]
Couldn't check C2 error
Maybe related to what pablo said about c2 offset correction.
Plextor PX-760A 1.07 (+30) : Plextor PX-716SA 1.11 (+30) : Plextor PX-W5224A 1.04 (+30) : Plextor PX-W4824 1.07 (+30) : Plextor PX-W4012TA 1.07 (+98) : Plextor PX-W1610TA (+99) : Plextor PX-W1210TA 1.10 (+99) : Lite-On LTR-48246S (+6) : Lite-On LTR-52246S (+6) : Lite-On LH-20A1H LL0DN (+6) : BenQ DW1655 BCIB (+618) : ASUS DRW-2014L1 1.02 (+6) : Yamaha CRW-F1 (+733) : Optiarc SA-7290H5 1H44 (+48) : ASUS BW-16D1HT 3.02 (+6)
F1ReB4LL
Posts: 3395
Joined: Mon Jun 08, 2026 1:26 am

Re: DiscImageCreator

Post by F1ReB4LL »

Looks good here, but you've done it not the way I've said. You're trying to fix each sector right after the error was found. And I still think it's better to read all the sectors "as is", make a list of incorrect ones and reread them after all the sectors were read. That should give better results, since when you read 1 sector many times, it may return cached results and when you reread all bad sectors in a batch after you have dumped the whole disc, you can be sure no caching is involved Image As I've said already, Subdump works exactly this way and it's usually good in fixing read errors.

Other than that, it definetely works now.
Post Reply