Closed ehw closed 1 year ago
Works, thank you! :) I checked the dump and it hit the start and end LBA on the nose.
It doesn't work in raw mode, DIC just dumps the disc like normal from the start of the disc. Can it work in raw mode too?
Is there anything that would prevent /ra to be used for any mode (CD, Xbox, etc)?
- added: /ra for xbox and dvd /raw (NOT TEST)
CD
Use
audio
ordata
.
/raw doesn't work, it keeps expecting the first PSN (30000) but the drive wants to return another sector it seems:
I have a .bat file to dump individual sectors off the disc into separate files with added numbers on them. The bat file works when reading the disc normally, but raw mode seems broke for sure. I'm not able to read anything.
DiscImageCreator.exe dvd D 1908000-!counter!.iso 24 /ra 1908000 1908001 /q /ps 0x00 /rr 10 /raw DiscImageCreator.exe dvd D 1908001-!counter!.iso 24 /ra 1908001 1908002 /q /ps 0x00 /rr 10 /raw DiscImageCreator.exe dvd D 1908002-!counter!.iso 24 /ra 1908002 1908003 /q /ps 0x00 /rr 10 /raw AppVersion 32 bit, AnsiBuild, 20230520T145823 CurrentDirectory H:\Tools\DiscImageCreator\test2 WorkingPath Argument: 1908000-1.iso FullPath: H:\Tools\DiscImageCreator\test2\1908000-1.iso Drive: H: Directory: \Tools\DiscImageCreator\test2\ Filename: 1908000-1 Extension: .iso StartTime: 2023-05-20T02:16:39-0400 Set the drive speed: 0KB/sec DiskSize of [H:\Tools\DiscImageCreator\test2] Total: 2000363188224 bytes Used: 1953781153792 bytes
Space: 46582034432 bytes => There is enough disk space for dumping
Rawdump command [0]:0x3c [1]:0x02 [2]:0000 LBA[1908000, 0x1d1d20]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908000 (Pass 1/10) Expected sector num: 30000, Got sector num: 201d20 [0/1][0/1] Reread 2. LBA: 1908000 Creating raw(LBA) 1908001/1908001 EndTime: 2023-05-20T02:17:09-0400 AppVersion 32 bit, AnsiBuild, 20230520T145823 CurrentDirectory H:\Tools\DiscImageCreator\test2 WorkingPath Argument: 1908001-1.iso FullPath: H:\Tools\DiscImageCreator\test2\1908001-1.iso Drive: H: Directory: \Tools\DiscImageCreator\test2\ Filename: 1908001-1 Extension: .iso StartTime: 2023-05-20T02:17:09-0400 Set the drive speed: 0KB/sec DiskSize of [H:\Tools\DiscImageCreator\test2] Total: 2000363188224 bytes Used: 1953784352768 bytes
Space: 46578835456 bytes => There is enough disk space for dumping
Rawdump command [0]:0x3c [1]:0x02 [2]:0000 LBA[1908001, 0x1d1d21]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908001 (Pass 1/10) LBA[1908001, 0x1d1d21]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908001 (Pass 2/10) LBA[1908001, 0x1d1d21]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908001 (Pass 3/10) LBA[1908001, 0x1d1d21]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908001 (Pass 4/10) LBA[1908001, 0x1d1d21]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908001 (Pass 5/10) LBA[1908001, 0x1d1d21]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908001 (Pass 6/10) LBA[1908001, 0x1d1d21]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908001 (Pass 7/10) LBA[1908001, 0x1d1d21]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908001 (Pass 8/10) Expected sector num: 30000, Got sector num: 201d20 [0/1][0/1] Reread 9. LBA: 1908001 Creating raw(LBA) 1908002/1908002 EndTime: 2023-05-20T02:20:59-0400 AppVersion 32 bit, AnsiBuild, 20230520T145823 CurrentDirectory H:\Tools\DiscImageCreator\test2 WorkingPath Argument: 1908002-1.iso FullPath: H:\Tools\DiscImageCreator\test2\1908002-1.iso Drive: H: Directory: \Tools\DiscImageCreator\test2\ Filename: 1908002-1 Extension: .iso StartTime: 2023-05-20T02:20:59-0400 Set the drive speed: 0KB/sec DiskSize of [H:\Tools\DiscImageCreator\test2] Total: 2000363188224 bytes Used: 1953807872000 bytes
Space: 46555316224 bytes => There is enough disk space for dumping
Rawdump command [0]:0x3c [1]:0x02 [2]:0000 LBA[1908002, 0x1d1d22]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908002 (Pass 1/10) LBA[1908002, 0x1d1d22]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908002 (Pass 2/10) LBA[1908002, 0x1d1d22]: [F:ReadDVDRaw][L:936] Opcode: 0xa8 ScsiStatus: 0x02 = CHECK_CONDITION SenseData Key-Asc-Ascq: 03-02-80 = MEDIUM_ERROR - VENDOR UNIQUE ERROR Read retry from 1908002 (Pass 3/10) Expected sector num: 30000, Got sector num: 201d20 [0/1][0/1] Reread 4. LBA: 1908002 Creating raw(LBA) 1908003/1908003 EndTime: 2023-05-20T02:22:28-0400
One thing I just thought of.
DIC doesn't need to access the TOC or the directory structure, etc when /ra is used right? It seems a bit successive. Depending on the quality of the disc, for instance a disc where the TOC or lba 0 is damaged, it'll make DIC either error out completely before it even reads the specified range or at best takes a long time to just read that range.
Can you make it so DIC doesn't have to do as much before it gets right into dumping the range? If you think about it, since you're looking at just the range you don't really need to get the data for the disc or vol logs (mainerror is still vital, however). So getting rid of those as well as the data fetch for those logs when /ra is used would be beneficial. DMI and PFI files also don't necessarily need to be generated.
We're currently trying to read sectors off a disc that has this issue with the TOC, around the beginning. The sector ranges we want to read are fine, but DIC will end if it encounters errors before it dumps anything.
/raw doesn't work
Fixed it. DiscImageCreator_test.zip
One thing I just thought of.
These are needed reading sectors. Not all files, but I don't filter it.
/raw doesn't work
Fixed it.
One thing I just thought of.
These are needed reading sectors. Not all files, but I don't filter it.
Works :). Xbox as well. Feel free to merge.
Is your feature request related to a problem? Please describe. Currently, DIC provides no means of dumping a specified range of sectors for DVD (and normal CD) mode. This is a bit inconvenient as some discs we have can only be read partially in a given drive, but we'd like to just focus on dumping a specific range of sectors from the disc to retry over and over. Otherwise, DIC would have to dump the entire disc again from the beginning in order to get to the region we want to dump. Not only does it take a longer amount of time, the disc could experience errors that cause the drive to slow to a crawl making seeking to the desired range more frustrating.
Having this feature would be immensely useful for disc and data integrity analysis.
Describe the solution you'd like I would like DIC to have a parameter for DVD mode, or maybe all modes in general since Data mode is the only mode currently able to support this, so that I can specify a range of LBAs for it to dump. I should be able to have all the parameters accessible for that given mode. Maybe something like /ra (for 'range') StartLBA EndLBA? For example:
I want to dump LBA range 123 to 175, so I run...
DiscImageCreator dvd E disc.iso 24 /ra 123 175
The resulting disc.iso should only have the user mode sectors from 123 to 175.