Could you post here a sub file made with another tool: CloneCD or Alcohol. I want to see what's in the subs...
176 2017-05-16 22:32:39
Re: Problem with Ridge Racer (Japan) dump (18 replies, posted in General discussion)
177 2017-05-16 19:41:35
Re: Problem with Ridge Racer (Japan) dump (18 replies, posted in General discussion)
LBA[001559, 0x00617], Data, Copy NG, Track[01], Idx[01], RelTime[00:20:59], AbsTime[00:22:59], RtoW[Zero, Zero, Zero, Zero]
LBA[001560, 0x00618], Data, Copy NG, Track[01], Idx[01], RelTime[00:20:60], AbsTime[00:22:60], RtoW[Zero, Zero, Zero, Zero]
Should be audio, not data. That explains shifted tracks. There must be a bug somewhere. Always use the newest build...
178 2017-05-16 12:02:00
Re: Problem with Ridge Racer (Japan) dump (18 replies, posted in General discussion)
Post image_sub.txt somewhere. It compresses well, maybe it would fit in attachment.
179 2017-05-15 22:48:48
Re: Settlers III Mission CD copy protected by Sysiphus (25 replies, posted in General discussion)
It's Ring PROTECH and it's very heavy disc to dump in terms of difficulty. You need at least 2 drives to dump it. A Plextor and something else with good reading capabilities like Sony OptiARC. If you want to start dumping I suggest you start with something less evil...
180 2017-05-15 19:36:56
Re: Settlers III Mission CD copy protected by Sysiphus (25 replies, posted in General discussion)
Normally it's protected by Ring PROTECH. What's Sysiphus?
181 2017-05-11 19:45:44
Re: DiscImageCreator (3,488 replies, posted in General discussion)
Nvm. Everything ok ![]()
182 2017-05-08 20:04:30
Re: DiscImageCreator (3,488 replies, posted in General discussion)
Yes, but I know in advance which sectors are bad and ideally the drive shouldn't touch such sectors at all to speed up the process as much as possible...
183 2017-05-08 18:15:29
Re: DiscImageCreator (3,488 replies, posted in General discussion)
I have a small idea related to dumping protected discs with Plextors. We all know when it comes to dumping LaserLock or RingProtech Plextors are not the best choice. Other drives perform better in this field. How about specifying in command line sector ranges that should be failed (replaced with 0x55). It would greatly improve dumping speed. Missing data can later be patched-in to the image (patching is always necessary in case of Plextors).
RingProtech requires one sector range
LaserLock requires 12 sector ranges
Maybe comma delimited argument is good enough like: /fl 100-200,300-400
What do you think?
184 2017-04-28 18:20:11
Re: DiscImageCreator (3,488 replies, posted in General discussion)
SectorType EDC::detectSector(ULONG lsn, PUCHAR sector, SIZE_T sectorSize, SectorType & sectorType, BOOL & isEdcAndMsfValid) {
isEdcAndMsfValid = FALSE;
if (sectorSize == CDIO_CD_FRAMESIZE_RAW) {
if (sector[0x000] == 0x00 && sector[0x001] == 0xFF && sector[0x002] == 0xFF && sector[0x003] == 0xFF &&
sector[0x004] == 0xFF && sector[0x005] == 0xFF && sector[0x006] == 0xFF && sector[0x007] == 0xFF &&
sector[0x008] == 0xFF && sector[0x009] == 0xFF && sector[0x00A] == 0xFF && sector[0x00B] == 0x00) { // Sync (12 bytes)
MSFAddress referenceMsf = MSFAddress(lsn) + CDIO_PREGAP_SECTORS;
MSFAddress sectorMsf;
BOOL isMValid = StringUtils::asciiByteToUchar(sector[0x00C], sectorMsf.iMinute);
BOOL isSValid = StringUtils::asciiByteToUchar(sector[0x00D], sectorMsf.iSecond);
BOOL isFValid = StringUtils::asciiByteToUchar(sector[0x00E], sectorMsf.iFrame);
if(!isMValid || !isSValid || !isFValid || referenceMsf != sectorMsf)
return SectorTypeBadMsf;
if (sector[0x00F] == 0x01) { // Mode (1 byte)
if (sector[0x814] == 0x00 && sector[0x815] == 0x00 && sector[0x816] == 0x00 && sector[0x817] == 0x00 &&
sector[0x818] == 0x00 && sector[0x819] == 0x00 && sector[0x81A] == 0x00 && sector[0x81B] == 0x00) { // Reserved (8 bytes)
if (isEdcAndMsfValid = edcCompute(0, sector, 0x810) == get32Lsb(sector + 0x810)) {
sectorType = SectorTypeMode1;
}
if (isEdcAndMsfValid && eccCheckSector(sector + 0xC, sector + 0x10, sector + 0x81C)) {
return SectorTypeMode1; // Mode 1
} else {
return SectorTypeMode1BadEcc; // Mode 1 (Safedisc etc)
}
} else {
if (isEdcAndMsfValid = edcCompute(0, sector, 0x810) == get32Lsb(sector + 0x810)) {
sectorType = SectorTypeMode1;
}
if (isEdcAndMsfValid && eccCheckSector(sector + 0xC, sector + 0x10, sector + 0x81C)) {
return SectorTypeMode1ReservedNotZero; // Mode 1 (Reserved not zero)
} else {
return SectorTypeMode1BadEcc; // Mode 1 (Safedisc etc)
}
}
} else if (sector[0x0F] == 0x02) { // Mode (1 byte)
if (sector[0x10] == sector[0x14] && sector[0x11] == sector[0x15] && sector[0x12] == sector[0x16] && sector[0x13] == sector[0x17]) { // Flags (4 bytes)
if (isEdcAndMsfValid = edcCompute(0, sector + 0x10, 0x808) == get32Lsb(sector + 0x10 + 0x808)) {
sectorType = SectorTypeMode2Form1;
}
if (isEdcAndMsfValid && eccCheckSector(zeroAddress, sector + 0x10, sector + 0x10 + 0x80C)) {
return SectorTypeMode2Form1; // Mode 2 Form 1
}
if (isEdcAndMsfValid = edcCompute(0, sector + 0x10, 0x91C) == get32Lsb(sector + 0x10 + 0x91C)) {
sectorType = SectorTypeMode2Form2;
return SectorTypeMode2Form2; // Mode 2 Form 2
} else {
isEdcAndMsfValid = TRUE;
sectorType = SectorTypeMode2;
return SectorTypeMode2; // Mode 2
}
} else {
return SectorTypeMode2FlagsNotSame; // Mode 2 (Invalid flags)
}
}
return SectorTypeUnknownMode;
} else if (sector[0x000] || sector[0x001] || sector[0x002] || sector[0x003] ||
sector[0x004] || sector[0x005] || sector[0x006] || sector[0x007] ||
sector[0x008] || sector[0x009] || sector[0x00A] || sector[0x00B] ||
sector[0x00C] || sector[0x00D] || sector[0x00E] || sector[0x00F]) { // Fix for invalid scrambled sector in data track
return SectorTypeNonZeroInvalidSync;
} else {
return SectorTypeZeroSync;
}
}
return SectorTypeNothing;
}This is my function to check for proper sector's MSF + checks if EDC is correct...
185 2017-04-24 17:57:05
Re: DiscImageCreator (3,488 replies, posted in General discussion)
I noticed one issue with DIC and data command. For example when I dump a block of sectors from sector A to B, A != 0 and if a read error sector occurs (/rc is on) DIC incorectly inserts MSF field of header. It looks like DIC inserts MSF field based on number of sectors read but it should insert MSF based on absolute sector position inside CD...
Also EccEdc lacks one of check that CDmage has. It doesn't verify sector MSF. For example I overwritten contents of sector 1 with contents of sector 0 and EccEdc didn't report anything. CDmage reported 1 error. This check is useful in case of protectors like RingProtech where drive might fail to sync at correct sector and it will read different one instead. Happened to my only once so far...
186 2017-04-12 20:26:47
Re: DiscImageCreator (3,488 replies, posted in General discussion)
sarami, thx for the switches.
My patch to EccEdc screwed something? The new version shoule be used with checkex command with cue as a parameter. Otherwise it does not know what is data and what is audio. It's more precise but if invoked with check command it would output just like that...
187 2017-04-11 19:25:41
Re: DiscImageCreator (3,488 replies, posted in General discussion)
Savagesteel: I think none of them. You just have to issue 0xD8 command.
sarami: We probably will never get specification of SecuROM. I spoke to Jackal once and he gave me a nice tool (CDGTool) that is able to clean subs and it's clearly visible which sectors are part of SecuROM and which are just badly read. The tool detects single bit errors and compares it with CRC. The rest should be inspected manually. You can apply another layer of processing in which you check data if single bit error occured in CRC. After those two passes you are left with high probability SecuROM sectors. There are 3 types from what I have seen:
1) Error in RM and error in AM (2 errors)
2) Error in RS and error in AS (2 errors)
3) Error in RF and error in AF (2 errors)
I think I have also seen a mix of 1 and 2 or 3 (there were 2+ errors). Have you seen this tool? It's very useful if you want to cross validate the result from DIC and CDTool (which will not correct any errors).
Sarami, please add a switch to skip processing Q sub (I want to get rid of CDTool).
188 2017-04-11 08:32:46
Re: DiscImageCreator (3,488 replies, posted in General discussion)
Sarami: In function IsValidIntentionalSubSector I see limits on LBA. Are you really sure that such errors are only present in that range? What would happen if I had a sector outside that range?
Maybe you could add a switch to remove the limits from LBA 0 till end of the disc?
189 2017-04-11 07:45:31
Re: DiscImageCreator (3,488 replies, posted in General discussion)
Yes. What drive is it?
190 2017-03-22 21:07:15
Re: DiscImageCreator (3,488 replies, posted in General discussion)
This is for BE command:
CDFLAG::_READ_CD::_SUB_CHANNEL_SELECTION sub = CDFLAG::_READ_CD::Raw;
_tcsncpy(szSubCode, _T("Raw"), sizeof(szSubCode) / sizeof(szSubCode[0]));
if (pExtArg->byPack) {
sub = CDFLAG::_READ_CD::Pack;
_tcsncpy(szSubCode, _T("Pack"), sizeof(szSubCode) / sizeof(szSubCode[0]));
}
SetReadCDCommand(pExtArg, pDevice, &cdb, type, 1, c2, sub, FALSE);
OutputLog(standardOut | fileDisc, _T("Set read command: %#x, subcode reading mode: %s\n"), lpCmd[0], szSubCode);For D8 command it's slightly different. If you want Packed subs with D8 command you have do skip C2 error reporting:
if (pExtArg->byC2 && pDevice->FEATURE.byC2ErrorData) {
_tcsncpy(szSubCode, _T("Raw"), sizeof(szSubCode) / sizeof(szSubCode[0]));
SetReadD8Command(pDevice, &cdb, 1, CDFLAG::_PLXTR_READ_CDDA::MainC2Raw);
}
else {
_tcsncpy(szSubCode, _T("Pack"), sizeof(szSubCode) / sizeof(szSubCode[0]));
SetReadD8Command(pDevice, &cdb, 1, CDFLAG::_PLXTR_READ_CDDA::MainPack);
}191 2017-03-22 19:39:28
Re: DiscImageCreator (3,488 replies, posted in General discussion)
AFAIK D8 is incompatible with packed mode. BE is. Use /be pack to enable packed mode subs extraction. No need for PerfectRip ![]()
192 2017-03-01 09:34:30
Re: Spanish Psx dumps (Driver, Tomb Raider TLR, Manager de Liga 2001 (9 replies, posted in Guests & account requests)
Dumping multi track CDs is very tricky and you cannot be sure if it went ok unless you have one of the Plextors. Is it too much for you to get one of the Plextors drives?
193 2017-02-18 20:14:21
Re: DiscImageCreator (3,488 replies, posted in General discussion)
sarami: Could you check this dump: http://redump.org/disc/34750/
I have it and I cannot match data track... Are you sure those 822 sectors are correctly replaced with 0x55 pattern?
194 2017-02-18 08:30:12
Re: Problem dumping LaserLock protected disc. (13 replies, posted in General discussion)
RingProtech: Maybe when first bad sector occurs (N), attempt to read K sectors at position (N+100). If all K sectors are read then you're after bad area. If there's still error read sectors at position (N+200) and so on till you find good area. Once good area is found, read backwards and find first good sector (N+X). Now you know what bad area spans from N till N+X. Fill it with error pattern...
I have two RingPROTECH games and one LaserLock. it should work for them considering there's only 1 bad errored area...
195 2017-02-15 16:42:11
Re: DiscImageCreator (3,488 replies, posted in General discussion)
Confirmed invitation. What I did with this commit is that now the tool is able to parse CUE files and according to that it checks data tracks if all the sectors in it are proper. I also took into account case where sync sectors are allowed at the beginning and at the end of track but not in the middle ('cnt_SectorTypeZeroSync'). The tool handles VOB Protect just fine.
Support for SecuROM in which there's different mode sector at end of data track is not handled ATM...
196 2017-02-14 22:08:26
Re: DiscImageCreator (3,488 replies, posted in General discussion)
Sarami I still cannot commit to EdcEcc (permission denied)
197 2017-02-11 11:34:37
Re: DiscImageCreator (3,488 replies, posted in General discussion)
sarami: If you're reading this add me to the EccEdc project on GitHub. I have rewritten EccEdc to have some nice features (for protected discs) and now I want to commit the changes...
198 2016-10-04 22:33:01
Re: DiscImageCreator (3,488 replies, posted in General discussion)
I doubt it'd work under Wine. It uses some really low level stuff to get the data off the medium...
199 2016-09-10 14:44:21
Re: [Resolved] Error count question (9 replies, posted in General discussion)
What's the value of EDC for such sectors: 0 or different than 0? Maybe value of 0 is a special case...
Are the sectors readable in simple imaging tools like IsoBuster?
200 2016-09-10 13:33:45
Re: [Resolved] Error count question (9 replies, posted in General discussion)
From code:
//
// Might be Mode 2, Form 2
//
if (
edc_compute(0, sector + 0x10, 0x91C) == get32lsb(sector + 0x10 + 0x91C)
) {
return 3; // Mode 2, Form 2
}
else {
return 4; // Mode 2, No EDC (for PlayStation)
}What you're asking is if return 4 is in error path. Yes. EDC doesn't match for the sector. What does CDmage report?
So I think it's 1338 and 46113.