SabreTools / MPF

Redumper/Aaru/DiscImageCreator GUI in C#
GNU General Public License v3.0
432 stars 34 forks source link

[Problem] Redumper DVD Layerbreak Support #499

Closed sunkhaskasis closed 1 year ago

sunkhaskasis commented 1 year ago

God of War PS2 layerbreak example:

redumper v2023.06.09 build_166 [Jun  9 2023, 22:34:12]

command line: J:\redumper-2023.06.09_build166-win64\redumper-2023.06.09_build166-win64\bin\redumper.exe

*** COMMAND: cd
drive path: G:
drive: ATAPI - iHAS122 E (revision level: 2L02, vendor specific: 2013/09/11 10:22)
drive configuration: GENERIC (read offset: +6, C2 shift: 0, pre-gap start: +0, read method: BE, sector order: DATA_C2_SUB)
image path: .
image name: dump_230610_225247_G

disc structure:
  layer 0 { embossed }
    data { LBA: 196608 .. 2098736, length: 1902128, hLBA: 0x00030000 .. 0x00200630 }
    book type: DVD-ROM
    part version: 1
    disc size: 120mm
    maximum rate: 10.08 mbps
    layers count: 2
    track path: parallel
    linear density: 0.293 um/bit
    track density: 0.74 um/track
    BCA: no
  layer 1 { embossed }
    data { LBA: 196608 .. 2209824, length: 2013216, hLBA: 0x00030000 .. 0x0021B820 }
    book type: DVD-ROM
    part version: 1
    disc size: 120mm
    maximum rate: 10.08 mbps
    layers count: 2
    track path: parallel
    linear density: 0.293 um/bit
    track density: 0.74 um/track
    BCA: no

operation started

operation complete (time: 716s)

media errors: 
  SCSI: 32

drive path: G:
drive: ATAPI - iHAS122 E (revision level: 2L02, vendor specific: 2013/09/11 10:22)
drive configuration: GENERIC (read offset: +6, C2 shift: 0, pre-gap start: +0, read method: BE, sector order: DATA_C2_SUB)
image path: .
image name: dump_230610_225247_G
operation started

operation complete (time: 557s)

media errors: 
  SCSI: 0

dat:
<rom name="dump_230610_225247_G.iso" size="8018624512" crc="a567869c" md5="6b8b8dd72f50b7264f7418b641591c11" sha1="594611974693f011e38d42cb78cbdd0762e9e2f8" />
mnadareski commented 1 year ago

Line format can be found here: https://github.com/superg/redumper/blob/main/dump_dvd.ixx#L144

The length field of the data for layer 0 is what we care about. If we see layers count: 1 at any point, we know that it's single layer.

mnadareski commented 1 year ago

Should be fixed by https://github.com/SabreTools/MPF/commit/08b4e8d60241d76e10057786f75bcf257518be60

mnadareski commented 1 year ago

Further fixed by https://github.com/SabreTools/MPF/commit/fd102cb56b6e2a39a4267ce0bd6057b8a6a1ae33