Page 21 of 354

Re: DiscImageCreator

Posted: Fri Nov 01, 2013 1:34 am
by Nexy
NEVERMIND , my mistake wrong fucking TAB in EAC...

The SecuROM stuff is still correct tho.

Re: DiscImageCreator

Posted: Sat Nov 02, 2013 6:55 am
by sarami
WIP6
http://www.mediafire.com/download/u0olo2c51f2qv13/
[added]
override offset
store scrambled file (.scm)
coded FUA (I couldn't test. )
[fixed]
error msg (windows api error code)
output hash

about cachex.exe
I logined as admin, but my 755sa rejected flush cmd.

about protected disc (SecuROM, SafeDisc, etc)
I do not know its detailed specifications. Therefore, I can't support them at present.

Re: DiscImageCreator

Posted: Sat Nov 02, 2013 8:30 am
by F1ReB4LL
Something wrong with C2 rereading again.
...
Reread times   50, ErrSectorNum    2/   2
Reread times   51, ErrSectorNum    2/   2
Reread times   52, ErrSectorNum    2/   2
Reread times   53, ErrSectorNum    1/   1
Reread times   54, ErrSectorNum    1/   1
Reread times   55, ErrSectorNum    1/   1
Reread times   56, ErrSectorNum    1/   1
Reread times   57, ErrSectorNum    1/   1
C2 error was fixed at all.

Creating descrambled file(LBA) 126723/126723
Creating bin, cue, ccd(Track)  3/ 3
And the data track has 52 unfixed errors according to cdmage (5 are not fixable). Have you changed anything in the rereading code?

Re: DiscImageCreator

Posted: Sat Nov 02, 2013 8:54 am
by pablogm123
Tested the override offset option successfully, many thanks.

You should to rewrite this text to explain the exact use of that option. By trial and error I have deduced that you have to enter the positive value (in samples) you want add to the standard offset correction, or the negative value you want to substract. For example, to applying +43 offset correction you have to enter +13 for a +30 drive.
over: Override CD offset correction (Only Audio CD)
         For some CDDA Disc
-------------------------------------------

Running discimagecreator.exe -rall g: 8 test.bin c2 750 over +13 I got this .dat:

Code: Select all

        <rom name="test (Track 1).bin" size="39765264" crc="60c89939" md5="bfbdbb300faf811df21b8fafd68221cc" sha1="ff217203222959ad923d6065debc1c66fe9d965e"/>
        <rom name="test (Track 2).bin" size="47239920" crc="ea304b9c" md5="0a676810fd1671f8274f5b2f8020915c" sha1="d75c3ed4fbb1728fcb89fcc75e1e3ab1d1da0d5e"/>
And this is reported in the log:
Offset(Drive offset data referes to http://www.accuraterip.com)
           Combined Offset(Byte)    172, (Samples)    43
    -         Drive Offset(Byte)    120, (Samples)    30
    ----------------------------------------------------
     User Specified Offset(Byte)     52, (Samples)    13
    Need overread sector: 1
https://redump.info/disc/6695/

-------------------------------------------

discimagecreator.exe -rall g: 8 test.bin c2 750 over -610

Code: Select all

        <rom name="test.bin" size="784526064" crc="33467bc2" md5="9ed49747b1d3d21fb9f54467df043f34" sha1="a9b604817618afce36d9360d0a9343e7817638fc"/>
Offset(Drive offset data referes to http://www.accuraterip.com)
           Combined Offset(Byte)  -2320, (Samples)  -580
    -         Drive Offset(Byte)    120, (Samples)    30
    ----------------------------------------------------
     User Specified Offset(Byte)  -2440, (Samples)  -610
    Need overread sector: -1
https://redump.info/disc/29262/

-------------------------------------------

Hashing is much faster now.

-------------------------------------------

Unfortunately, USB drives don't work and these drives work OK with another dumping software. Not only the USB drives don't work, but also they get "silly" and I have to restart them.

Code: Select all

C:\temp>discimagecreator -rall h: 24 test-nofua.bin c2 750
OS
        MajorVersion: 5, MinorVersion: 2, BuildNumber: 3790
AppVersion
        x86, Ansi build
BuildDate
        Nov  2 2013 20:11:09
Current dir
          dir: C:\temp
Input File Name
         path: test-nofua.bin
        drive:
          dir:
        fname: test-nofua
          ext: .bin
Start -> 2013-11-02(Sat) 14:50:00
[F:ExecCommand][L:52] GetLastError: 121, The semaphore timeout period has expire
d.

[F:ReadTOCFull][L:1916] Failed to read CD for MCN
[F:ExecCommand][L:52] GetLastError: 121, The semaphore timeout period has expire
d.

End -> 2013-11-02(Sat) 14:50:10

C:\temp>

-------------------------------------------

FUA isn't working:

For mixed mode CD's:

Code: Select all

[F:ReadCDAll][L:592] SCSI bus status codes:02-CHECK_CONDITION
[F:OutputIoctlInfoSense][L:519] Sense data, Key:Asc:Ascq:05:24:00(ILLEGAL_REQUES
T. INVALID FIELD IN CDB)
End -> 2013-11-02(Sat) 15:43:29
For audio CDs:

Code: Select all

[F:FlushDriveCache][L:212] SCSI bus status codes:02-CHECK_CONDITION
[F:OutputIoctlInfoSense][L:519] Sense data, Key:Asc:Ascq:05:64:00(ILLEGAL_REQUES
T. ILLEGAL MODE FOR THIS TRACK)
Reread times   17, ErrSectorNum    1/   1

[F:FlushDriveCache][L:212] SCSI bus status codes:02-CHECK_CONDITION
[F:OutputIoctlInfoSense][L:519] Sense data, Key:Asc:Ascq:05:64:00(ILLEGAL_REQUES
T. ILLEGAL MODE FOR THIS TRACK)
Reread times   18, ErrSectorNum    1/   1

[F:FlushDriveCache][L:212] SCSI bus status codes:02-CHECK_CONDITION
[F:OutputIoctlInfoSense][L:519] Sense data, Key:Asc:Ascq:05:64:00(ILLEGAL_REQUES
T. ILLEGAL MODE FOR THIS TRACK)
Reread times   19, ErrSectorNum    1/   1

Re: DiscImageCreator

Posted: Sat Nov 02, 2013 1:55 pm
by sarami
Have you changed anything in the rereading code?
a little bit. Please log.

http://www.mediafire.com/download/u0olo2c51f2qv13/
[fix]
text, log.
creating unsplitted image for audio only disc.

about semaphore timeout
I don't know what to do at present.

about fua
a part of scsi.h (WinDDK\7600.16385.1\inc\ddk)

Code: Select all

    //
    // Plextor Read CD-DA
    //

    struct _PLXTR_READ_CDDA {
        UCHAR OperationCode;    // Unknown -- vendor-unique?
        UCHAR Reserved0 : 5;
        UCHAR LogicalUnitNumber :3;
        UCHAR LogicalBlockByte0;
        UCHAR LogicalBlockByte1;
        UCHAR LogicalBlockByte2;
        UCHAR LogicalBlockByte3;
        UCHAR TransferBlockByte0;
        UCHAR TransferBlockByte1;
        UCHAR TransferBlockByte2;
        UCHAR TransferBlockByte3;
        UCHAR SubCode;
        UCHAR Control;
    } PLXTR_READ_CDDA;
This is D8 command for plextor. But This structure can't have a FUA flag.
I don't know where it has a FUA flag.

Re: DiscImageCreator

Posted: Sat Nov 02, 2013 3:03 pm
by Nexy
SecuROM (and probably Tages/Starforce) is pretty simple in that it uses twin sector's, aka duplicate sectors. The protection checks for these sectors using seeking techniques. We are unsure if it actually checks for the existence of the sectors, or creates a signature based on seek times. But I suppose that is not important, dumping the sectors is what is important here. Since plextor seems to be able to do so with D8, it's possible you may be able to develop a way to dump these discs reliably.

SafeDisc/SmartE/LaserLOK all use intentional C2 error, like Cactus Data Shield. No need to really worry about these ones, as it is not possible to read the data with any standard drive.

Re: DiscImageCreator

Posted: Sat Nov 02, 2013 3:16 pm
by pablogm123
Read this thread, sarami:

Code: Select all

http://www.hydrogenaudio.org/forums/index.php?showtopic=16188
The document to find: mmc4r02f.pdf

Code: Select all

https://web.archive.org/web/20040805091627/http://www.t10.org/ftp/t10/drafts/mmc4/mmc4r02f.pdf
According to this draft, bit 3 of byte 1 of the CDB.

Edit: Testing the new release.

Re: DiscImageCreator

Posted: Sat Nov 02, 2013 4:27 pm
by sarami
fix above link. please re-download.

about SecuROM
Thanks info. I want to research for the future.
Thanks info. I got CDparanoia src code.

Code: Select all

static int i_read_D8 (cdrom_drive *d, void *p, long begin, long sectors, unsigned char *sense){
  int ret;
  unsigned char cmd[12]={0xd8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};

  if(d->fua)
    cmd[1]=0x08;

  cmd[1]|=d->lun<<5;
  cmd[3] = (begin >> 16) & 0xFF;
  cmd[4] = (begin >> 8) & 0xFF;
  cmd[5] = begin & 0xFF;
  cmd[9] = sectors;
  if((ret=handle_scsi_cmd(d,cmd,12,0,sectors * CD_FRAMESIZE_RAW,'\177',1,sense)))
    return(ret);
  if(p)memcpy(p,d->private_data->sg_buffer,sectors*CD_FRAMESIZE_RAW);
  return(0);
}
umm..  this code,  bit 3 of byte 1 (fua) is on. My tool is already same implementation.
As described in the MMC spec (http://www.t10.org/ftp/t10/drafts/mmc4/mmc4r02f.pdf),
READ_CD does not allow any FUA bit at all, so if this reading method is chosen then
flushing tricks are needed. However, other MMC commands like READ10 (0x28) and
READ12 (0xA8) support the FUA bit.
I know this pdf, and I know above. My tool call READ12 to reread.

Re: DiscImageCreator

Posted: Sat Nov 02, 2013 10:42 pm
by pablogm123
Testing the tool. To dump discs in good condition (without E32 errors, the vast majority of my collection) works very nicely currently (but read below the exception).

I need to find a somewhat damaged audio disc which can produce E32 errors, but still recoverable by rereadings, to test properly the FUA code.

-----------------

Another suggestion, I have used these discs (in near mint condition) to test your tool:

https://redump.info/disc/21229/
https://redump.info/disc/21296/
https://redump.info/disc/27420/
https://redump.info/disc/29606/

Please, do not unscramble the scrambled data sectors of the pregaps of the audio tracks, like the previous releases of your tool used to do (even these PC Engine discs dumped by your tool could match in the past the DB without editing/patching anything, as outputted by your tool). Left as they are, even if they are marked as data at subcode level, because general track type overrides that.

-----------------

Latest suggestion for the future: it would be cool that you could implement a routine to verify "à la" CDmage if a given data track extracted contains corruption according to the ECC/EDC stored, and report that in the "_errorlog.txt" file or similar.

Re: DiscImageCreator

Posted: Sun Nov 03, 2013 1:19 am
by Nexy
Yes, please don't unscramble data sectors in audio tracks.