1,226

(3,488 replies, posted in General discussion)

updated

1,227

(3,488 replies, posted in General discussion)

Thank's test.
I don't have safedisc v2 or higher now, so can't test these disc. Please wait.
Used /rc option, timeout val was set to '5' and exec EccEdc.exe fix command.
Without /rc option, timeout val was set to  '60' and exec EccEdc.exe check command.

I uploaded exe for the moment.
- changed: /rc option (added arg for timeout val. Default is 5)

1,228

(3,488 replies, posted in General discussion)

Updated EdcEcc (This is included in DiscImageCreator test ver.)
(tested SmartE protection disc)

1,229

(3,488 replies, posted in General discussion)

Updated DiscImageCreator
- added path table record, directory record to _infolog.txt
  => for searching specific file (RingPROTECH => PROTECT.PRO, SafeDisc v1 => 00000001.LT1 or 00000001.TMP)
- added /rc option
  => I don't test it enough because I have only one RingPROTECH disc and SafeDisc v1.
- changed beep sound

pablogm123 wrote:

-Analyze the data track passed as argument: [name of app].exe [name of data track].bin and determinate if according to the stored EDC/ECC sectors are OK.
-For those corrupted sectors, replace everything except the sync and header fields with 0x55 bytes.

Updated EdcEcc (This is included in DiscImageCreator test ver.)

Thanks!

axisleon wrote:

2. MDF hash 100% not match due to default setting of "SecuROM *NEW (4/5/7)" option is RAW + SUB-96.

Using IsoBuster, mdf is converted to bin(2352 byte per sector). I think hash matches with dic's image.

axisleon wrote:

1. Both DIC dump hash matched with older isobuster ones before.
2. DIC seems ok for SecuROM protection CD.

If you can, please use alcohol 120 or 52%, ripping disc with "SecuROM *NEW (4/5/7)" option.

1,232

(3,488 replies, posted in General discussion)

Jackal wrote:
sarami wrote:
Jackal wrote:

up to sector 359847

My PX-755 is same too.

Could you please investigate this behavior? I'm not having any luck with audio trap disc + DIC, but without trap disc it always reads fine (up to sector 359847)... This LBA limit must be hardcoded somewhere.

I'm sorry but I don't know a lot about a hardware (including drive)...

1,233

(3,488 replies, posted in General discussion)

pablogm123 wrote:

-For those corrupted sectors, replace everything except the sync and header fields with 0x55 bytes.

I coded that unreadable sector is replaced at 0x55.

Jackal wrote:

up to sector 359847

My PX-755 is same too.

1,234

(3,488 replies, posted in General discussion)

Jackal wrote:

PX-755A has a hardcoded limit?

At least, I don't code like this. How about in dctools?

1,235

(3,488 replies, posted in General discussion)

Thank's test and report. Uploaded 20141017

1,236

(3,488 replies, posted in General discussion)

ack2121 wrote:

The drives are all NTFS.

Really? I don’t understand a cause at this time.

F1ReB4LL wrote:

[L:1165] Internal error. Failed to analyze the subchannel. Track[31]/[35]

Uploaded.

1,237

(3,488 replies, posted in General discussion)

ack2121 wrote:

Still not sorting correctly.

Probably I understood a cause.
Is Your HDD FAT?
If you can, you should use NTFS.

http://msdn.microsoft.com/en-us/library … 85%29.aspx

The order in which the search returns the files, such as alphabetical order, is not guaranteed, and is dependent on the file system. If the data must be sorted, the application must do the ordering after obtaining all the results.

The order in which this function returns the file names is dependent on the file system type. With the NTFS file system and CDFS file systems, the names are usually returned in alphabetical order. With FAT file systems, the names are usually returned in the order the files were written to the disk, which may or may not be in alphabetical order. However, as stated previously, these behaviors are not guaranteed.

I'll support a sort when I have time.

1,238

(3,488 replies, posted in General discussion)

ack2121 wrote:
F1ReB4LL wrote:
pablogm123 wrote:

Still?

Tested the last version (Test(20140823)) -- yes, c2 rereading is still broken, acts absolutely the same (see the report above).

Might have run across this problem too. Had issue this week where a psx disk i was dumping had exactly 1 c2 error which dic said was fixed after rereading, but hashes were different from database

Uploaded latest test ver. Plz test it.

EDIT:Re-uploaded. (Because dbg code existed)

1,239

(4 replies, posted in General discussion)

LunaVorax wrote:
Jackal wrote:

Did you even read the forum? e.g. http://forum.redump.org/topic/10483/discimagecreator/

Of course, this is what I'm pointing when I say efforts are being done.
So far the problem with this tool is that it focuses on Windows.

I don't have Unix-like OS(Linux, BSD, OS-X...). So, I don't support at the present moment.

1,240

(3,488 replies, posted in General discussion)

F1ReB4LL wrote:
pablogm123 wrote:

Still?

"Test(20140804)" is weird and takes 6-7 hours to dump a CD on 40x speed, previous ones were much, much faster.

Fixed. (fua became effective internally, whether to use of /f option or not.)

1,241

(3,488 replies, posted in General discussion)

F1ReB4LL wrote:

/m      If MCN sector exists in the last sector of the track, use this
                For WonderMega Collection [Mega-CD]

On Mega CD and Saturn titles MCN is always in the last sector of the track. Only PCE titles have MCN in the first sector of the track. You should treat MCN sectors as the last sector of the track by default. And "/m" parameter should be for PCE discs, where "MCN sector exists in the first sector of the track".

Indeed? Fixed it.

1,242

(3,488 replies, posted in General discussion)

pablogm123 wrote:

====== Check SubP to W, OperationCode: 0xbe, Subcode: 1(=Raw) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 00
    S 00 00 00 00 00 00 00 00 00 00 00 03
    T 00 00 00 00 00 00 00 00 00 00 00 02
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 00
    W 00 00 00 00 00 00 00 00 00 00 00 02

====== Check SubP to W, OperationCode: 0xd8, Subcode: 0x08(=Raw) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 01
    S 00 00 00 00 00 00 00 00 00 00 00 03
    T 00 00 00 00 00 00 00 00 00 00 00 02
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 03
    W 00 00 00 00 00 00 00 00 00 00 00 00

I uploaded exe including this function.


I am wondering if this pattern could be predictable. And the reason of its existance: intentional, an accidental mastering artifact...?

I don't know this pattern in detail too...

And
To: axisleon
subject: DC ripping is very slow
Improved it. Please test.

1,243

(3,488 replies, posted in General discussion)

F1ReB4LL wrote:

Could you finally fix the rereading for C2 errors? It doesn't work in the Test (20140720) version, it doesn't work in the Release(20140621), only works in the old 2013 releases.

I'll check it.

F1ReB4LL wrote:

DiscImageCreatorToTestD8FUA.exe cd H: dump 40 /c2 1024 1024 4

If you use FUA, please use /f option.

1,244

(3,488 replies, posted in General discussion)

A bug was able to reappear when I uninstalled SPTD.(http://www.duplexsecure.com/en/downloads)

CacheExplorer 0.8 - spath@cdfreaks.com

Drive on H is  PLEXTOR  CD-R   PX-W5224A 1.04

[+] Buffer size: 2048 kB, read cache is enabled
[+] Supported read commands: BEh A8h(FUA) 28h(FUA) D4h(FUA) D5h(FUA) D8h(FUA)
CacheExplorer 0.8 - spath@cdfreaks.com

Drive on M is  PLEXTOR  DVDR   PX-755A   1.08

[+] Buffer size: 2048 kB, read cache is enabled
[+] Supported read commands: BEh A8h(FUA) 28h(FUA) D4h(FUA) D5h(FUA) D8h(FUA)

And I uploaded exe to test.
http://www.mediafire.com/download/dqzkl … stD8FUA.7z
To test, I changed below.
(SCSIOP_PLEX_READ_CD is 0xd8, CDB_FORCE_MEDIA_ACCESS is 0x08)

BOOL ReadCDForFlushingDriveCache(
    PDEVICE pDevice,
    INT nLBA
    )
{
#if 0
    CDB::_READ12 cdb = { 0 };
    cdb.OperationCode = SCSIOP_READ12;
    cdb.ForceUnitAccess = CDB_FORCE_MEDIA_ACCESS;
    cdb.LogicalUnitNumber = pDevice->address.Lun;
    cdb.LogicalBlock[0] = HIBYTE(HIWORD(nLBA + 1));
    cdb.LogicalBlock[1] = LOBYTE(HIWORD(nLBA + 1));
    cdb.LogicalBlock[2] = HIBYTE(LOWORD(nLBA + 1));
    cdb.LogicalBlock[3] = LOBYTE(LOWORD(nLBA + 1));
#else
    CDB::_PLXTR_READ_CDDA cdb = { 0 };
    cdb.OperationCode = SCSIOP_PLEX_READ_CD;
    cdb.Reserved0 = CDB_FORCE_MEDIA_ACCESS;
    cdb.LogicalUnitNumber = pDevice->address.Lun;
    cdb.LogicalBlockByte0 = HIBYTE(HIWORD(nLBA + 1));
    cdb.LogicalBlockByte1 = LOBYTE(HIWORD(nLBA + 1));
    cdb.LogicalBlockByte2 = HIBYTE(LOWORD(nLBA + 1));
    cdb.LogicalBlockByte3 = LOBYTE(LOWORD(nLBA + 1));
    cdb.TransferBlockByte3 = 1;
#endif
    BYTE byScsiStatus = 0;
    if (!ScsiPassThroughDirect(pDevice, &cdb, CDB12GENERIC_LENGTH, NULL,
        0, &byScsiStatus, _T(__FUNCTION__), __LINE__)
        || byScsiStatus >= SCSISTAT_CHECK_CONDITION) {
        return FALSE;
    }
    return TRUE;
}

Result:
I understood that I did not work as expected.

ScsiStatus: 02, CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-24-00, ILLEGAL_REQUEST - INVALID FIELD IN CDB
Creating img(LBA)    197/222682[F:ReadCDForFlushingDriveCache][L:516] OperationC
ode: 0xd8
ScsiStatus: 02, CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-24-00, ILLEGAL_REQUEST - INVALID FIELD IN CDB
Creating img(LBA)    198/222682[F:ReadCDForFlushingDriveCache][L:516] OperationC
ode: 0xd8
ScsiStatus: 02, CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-24-00, ILLEGAL_REQUEST - INVALID FIELD IN CDB
Creating img(LBA)    199/222682[F:ReadCDForFlushingDriveCache][L:516] OperationC
ode: 0xd8
ScsiStatus: 02, CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-24-00, ILLEGAL_REQUEST - INVALID FIELD IN CDB
Creating img(LBA)    200/222682[F:ReadCDForFlushingDriveCache][L:516] OperationC
ode: 0xd8
ScsiStatus: 02, CHECK_CONDITION
SenseData Key-Asc-Ascq: 05-24-00, ILLEGAL_REQUEST - INVALID FIELD IN CDB
Creating img(LBA)    201/222682[F:ReadCDForFlushingDriveCache][L:516] OperationC
ode: 0xd8

If you think that FUA exists in 0xd8 command, please teach me it except for CacheExplorer.

1,245

(3,488 replies, posted in General discussion)

pablogm123 wrote:
C:\>cachex.exe -i g:

CacheExplorer 0.8 - spath@cdfreaks.com

Drive on G is  PLEXTOR  DVDR   PX-755A   1.08

[+] Buffer size: 2048 kB, read cache is enabled
[+] Supported read commands: BEh A8h(FUA) 28h(FUA) D4h(FUA) D5h(FUA) D8h(FUA)

C:\>

Does your PX-755 supports D4h(FUA) D5h(FUA) too?

My PX-755
OS: Win7 pro sp1 64bit, firmware: official

CacheExplorer 0.8 - spath@cdfreaks.com

Drive on M is  PLEXTOR  DVDR   PX-755A   1.08

[+] Buffer size: 2048 kB, read cache is enabled
[+] Supported read commands: BEh 28h(FUA) D8h

It is repeated, CacheExplorer uses SPTI interface in "unreliable" manner.(= it has a defect.)
This tool doesn't get sense data, so an error doesn't show even if it failed to read.
In other words it is displayed when supported in spite of what doesn’t support it.

Probably you need XP/2003 to get D8h(FUA).

If so, I can code it but I can't test. Because I don't have already WinXP sad

1,246

(3,488 replies, posted in General discussion)

pablogm123 wrote:

Every real Plextor drive I own supports D8h (FUA).

http://forum.redump.org/post/45164/#p45164

I don’t know whether it supports D8h(FUA) from this post.
Please use -i command and show "[+] Supported read commands:"

1,247

(3,488 replies, posted in General discussion)

void InitSPTDStructureForREAD(unsigned char CDBLength, unsigned int NbSectors)
{
    // fill in sptd structure
    sptd.Length             = sizeof(sptd);
    sptd.PathId             = 0;                  // SCSI card ID will be filled in automatically
    sptd.TargetId           = 0;                  // SCSI target ID will also be filled in
    sptd.Lun                = 0;                  // SCSI lun ID will also be filled in
    sptd.CdbLength          = CDBLength;          // CDB size 
    sptd.SenseInfoLength    = 0;                  // Don't return any sense data
    sptd.DataIn             = SCSI_IOCTL_DATA_IN; // There will be data from drive
    sptd.DataTransferLength = 2448 * NbSectors;   // Size of data 
    sptd.TimeOutValue       = 60;                 // SCSI timeout value 
    sptd.DataBuffer         = (PVOID)(DataBuf);
    sptd.SenseInfoOffset    = 0;
}

I understood that CacheExplorer doesn't use senseinfo.

http://forum.duplexsecure.com/showpost. … ostcount=2

To make it short: this tool uses SPTI interface in "unreliable" manner: it sends
IOCTL_SCSI_PASS_THROUGH_DIRECT requests without specifying sense info buffer and uses REQUEST SENSE command in case of error. It is not a good way to work with SPTI - it may be ok only if you know device returns no error.
For proper operation on all Windows platforms IOCTL_SCSI_PASS_THROUGH_DIRECT must specify non-zero SenseInfoOffset and SenseInfoLength in SCSI_PASS_THROUGH_DIRECT structure.

I think so.
If CacheExplorer uses a sense info and specifies ReadD4, ReadD5 ReadD8(FUA), it will probably return a sense info below.

ScsiStatus: 02-CHECK_CONDITION
SenseData Key:Asc:Ascq 05:24:00, ILLEGAL_REQUEST - INVALID FIELD IN CDB

1,248

(3,488 replies, posted in General discussion)

F1ReB4LL wrote:
pablogm123 wrote:

Yes, I understand... no FUA for D8 command

sptd.Cdb[0]  = 0xD8;
sptd.Cdb[1]  = (FUAbit << 3);
sptd.Cdb[2]  = byte((TargetSector>>24)&0xFF); // msb
sptd.Cdb[3]  = byte((TargetSector>>16)&0xFF);
sptd.Cdb[4]  = byte((TargetSector>>8)&0xFF);
sptd.Cdb[5]  = byte((TargetSector)&0xFF);     // lsb
sptd.Cdb[6]  = byte((NbSectors>>24)&0xFF);    // msb
sptd.Cdb[7]  = byte((NbSectors>>16)&0xFF);
sptd.Cdb[8]  = byte((NbSectors>>8)&0xFF);
sptd.Cdb[9]  = byte((NbSectors)&0xFF);        // lsb

Taken from http://club.myce.com/attachments/f61/20 … hexsrc.zip

FUAbit == "True", if 0xD8(FUA) is supported by the drive, so, sptd.Cdb[1] = 1 << 3 = 1*2*2*2 = 8.

Tested PX-W5224A

CacheExplorer 0.8 - spath@cdfreaks.com

Drive on H is  PLEXTOR  CD-R   PX-W5224A 1.04

[+] Buffer size: 2048 kB, read cache is enabled
[+] Supported read commands: BEh A8h(FUA) 28h(FUA) D8h

According to src, if it support fua, show "D8h(FUA)".
If a plextor drive that supported fua exists, I'll code it.

1,249

(3,488 replies, posted in General discussion)

I understood that PX-708 didn't support speedread.
http://ysscdr.web.fc2.com/px708a/px708a_02.htm
Fixed.

1,250

(3,488 replies, posted in General discussion)

[F:SetSpeedRead][L:672] OperationCode: e9

"SpeedRead" doesn't support in PX-708??
If you have already installed plextools professional xl, please confirm "Enable SpeedRead CD/DVD".
If PX-708 is supported, I'll buy it to test.

pablogm123 wrote:

Why subcodes of those discs are extracted in packed mode? Mine are extracted in raw mode, always.

http://forum.redump.org/post/48058/#p48058
and tested below. (0xd8, 0x08 gets main+C2+sub)
Disc is "Ore no Shikabane wo Koete Yuke"
Drive is PX-5224

====== Check SubP to W, OperationCode: 0xbe, Subcode: 1(=Raw) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 00
    S 00 00 00 00 00 00 00 00 00 00 00 03
    T 00 00 00 00 00 00 00 00 00 00 00 02
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 00
    W 00 00 00 00 00 00 00 00 00 00 00 02
====== Check SubP to W, OperationCode: 0xbe, Subcode: 4(=Pack) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 00
    S 00 00 00 00 00 00 00 00 00 00 00 00
    T 00 00 00 00 00 00 00 00 00 00 00 00
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 00
    W 00 00 00 00 00 00 00 00 00 00 00 00
====== Check SubP to W, OperationCode: 0xd8, Subcode: 0x02(=Pack) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 00
    S 00 00 00 00 00 00 00 00 00 00 00 00
    T 00 00 00 00 00 00 00 00 00 00 00 00
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 00
    W 00 00 00 00 00 00 00 00 00 00 00 00
====== Check SubP to W, OperationCode: 0xd8, Subcode: 0x03(=Pack) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 00
    S 00 00 00 00 00 00 00 00 00 00 00 00
    T 00 00 00 00 00 00 00 00 00 00 00 00
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 00
    W 00 00 00 00 00 00 00 00 00 00 00 00
====== Check SubP to W, OperationCode: 0xd8, Subcode: 0x08(=Raw) ======
Sub Channel LBA 0
      +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B
    P ff ff ff ff ff ff ff ff ff ff ff ff
    Q 41 01 01 00 00 00 00 00 02 00 28 32
    R 00 00 00 00 00 00 00 00 00 00 00 01
    S 00 00 00 00 00 00 00 00 00 00 00 03
    T 00 00 00 00 00 00 00 00 00 00 00 02
    U 00 00 00 00 00 00 00 00 00 00 00 00
    V 00 00 00 00 00 00 00 00 00 00 00 03
    W 00 00 00 00 00 00 00 00 00 00 00 00

Result:
0xd8 command to get main+c2+sub(pack) directly doesn't exist.
If you get those, app needs to get main+c2 using 0xd8 and 0x08, and needs to get sub using 0xd8 and 0x02 or 0x03.

By the way, possible texts you could enhance, so that they sound more natural:

Thanks for native speaker big_smile