saramibreak / DiscImageCreator

This is the disc (CD, GD, DVD, HD-DVD, BD, GC/Wii, XBOX, XBOX 360) and disk (Floppy, MO, USB etc) image creation tool
http://forum.redump.org/topic/10483/discimagecreator/
Apache License 2.0
513 stars 45 forks source link

Can't dump Final Fantasy IX #228

Closed Arthandas closed 9 months ago

Arthandas commented 10 months ago

Version 20230606

Describe the bug I'm following this guide http://wiki.redump.org/index.php?title=CD_Dumping_Guide_(DIC_CLI) to dump Final Fantasy IX discs. After typing the command the program stops and no dump is created.

Screenshots DiscImageCreator.exe cd e MyGameTitle.bin 8 /c2 /nl

cmd
saramibreak commented 10 months ago

What drive you use?

Arthandas commented 10 months ago

SDRW-08D2S-U

I dumped the disc with RetroArch and it works fine so there's nothing wrong with it (it's also in good condition).

saramibreak commented 10 months ago

Unfortunately, your drive can't support when CD is dumped. (See README.md)

Arthandas commented 10 months ago

Kind of weird to make your tool work only with hard to get drives made two decades ago...

MrPepka commented 10 months ago

Because all CD/DVD ripping programs use BE opcode for ripping which often fails (if a disc has mastering errors, the drive reading the disc in BE will fix these errors and align the data sectors, which makes it difficult to detect the correct write shift) , and adding to this the fact that when reading a disc in BE, it is impossible to read sectors on the border of the data/audio track, then it is even harder to detect the correct write offset, and it is important to determine the correct write offset for discs with data and audio tracks because it serves It is used to properly shift the audio tracks so that you can perfectly dump the disc so that all tracks are properly aligned So this program is not written strictly for specific drive models, it just requires a drive that can read CDs in such a way that data sectors are seen as audio sectors (this is enabled by D8 and BE_CDDA opcodes). There is also a way to cheat the drive and replace it with an Audio CD with a data CD in such a way that the drive does not realize that there has been a substitution and then it sees the data CD as an Audio CD, thanks to which it is able to dump it in scrambled mode (the DIC wiki mentions this method as well as the redump wiki https://github.com/saramibreak/DiscImageCreator/wiki http://wiki.redump.org/index.php?title=DiscImageCreator_Swap_Disc_Dumping_Guide)

Arthandas commented 10 months ago

Yeah, but the problem is the drives listed in the readme are ancient and impossible to get (at least in my country) without resorting to Ebay which more or less doubles their cost. What will happen in a decade or two when all of those drives will no longer work? Are there really no modern alternatives?

MrPepka commented 10 months ago

They don't have to be strictly Plextors, they can be Asus BW-16D1HT drives or selected LG drives that I suspect are still available on ebay (maybe even still produced?), CRX880A used to work for me (and in general some NEC drives supposedly work in DIC), they are probably still available on ebay. As for other alternatives, as I mentioned, you can use the disc swap technique I mentioned above There are no easier ways because we do not have access to the firmware of the drives, so we are not able to change them to be compatible with DIC

Arthandas commented 10 months ago

There are no easier ways because we do not have access to the firmware of the drives, so we are not able to change them to be compatible with DIC

Yes, but what I'm asking is - are there no modern easily available drives compatible with DIC?

MrPepka commented 10 months ago

BW-16D1HT from Asus is this modern drive. In addition, the LG drives listed in the list of compatible drives are also modern http://wiki.redump.org/index.php?title=Optical_Disc_Drive_Compatibility

Arthandas commented 10 months ago

Thanks!

I also want to say that I dumped FFIX with IsoBuster and the resulting images have the same checksums as the Redump database so clearly DiscImageCreator could have dumped it too...

MrPepka commented 10 months ago

IsoBuster also uses the BE opcode for CD/DVD ripping. In general, if you really want to rip it to DIC then you can use the data command instead of cd, then you will also rip the disc in DIC, but if you want to rip the disc and add it to redump.org (or add its verification) then you must either have a compatible drive from the DIC (in this case, one that rips the disc in scrambled mode) or use the disc swap technique so that the drive can rip it in scrambled mode

Arthandas commented 10 months ago

Is BH16NS55 a decent choice to get a proper dump?

MrPepka commented 10 months ago

Probably yes, but if you could test it and see how it dumps CDs in DIC that would be great

Arthandas commented 10 months ago

Probably yes, but if you could test it and see how it dumps CDs in DIC that would be great

Ok, I got my hands on BH16NS55, I used DIC via MDF. The dumped disc has the same checksums as Redump. I'm confused about a few things, do you mind answering some questions?

  1. The program created a bin, cue, img and scm, I'm used to bin/cue, do I need img/scm for anything?
  2. "!submissionInfo.txt" says there were no errors but one of the logs shows two (I'm attaching the log) FFIX - Disc 1 [SLUS 01295GH] [Arth]_mainError.txt
MrPepka commented 10 months ago
  1. SCM is needed to verify the descrambled image by re-scrambling it. The SCM file is also proof of the authenticity of the data on the disc. As for IMG, the IMG checksum is needed to compare it with the hashes calculated by the website + needed for quick db-vs-log verification
  2. Well, we need all the logs to check it. L-EC uncorrectable error indicates problems with reading one of the sectors, although the drive could read it without problems, and LOGICAL BLOCK ADDRESS OUT OF RANGE often appears on LG/ASUS drives because they do not read the lead-out. There is firmware for drives based on MT1959 that allows you to read the lead-out, although if you obtained identical shortcuts as those available on redump.org, there is probably no reason to worry
Arthandas commented 10 months ago

Thanks for your time!

I dumped all 4 CDs, they all match Redump hashes. I'm attaching all logs in case you find them useful. FFIX - Disc 1 [SLUS 01295GH] [Arth]_logs.zip FFIX - Disc 2 [SLUS 01295GH] [Arth]_logs.zip FFIX - Disc 3 [SLUS 01295GH] [Arth]_logs.zip FFIX - Disc 4 [SLUS 01295GH] [Arth]_logs.zip

saramibreak commented 10 months ago

@Arthandas

I dumped all 4 CDs, they all match Redump hashes.

Thanks logs. They are no problem.

@MrPepka Thank you for your explanation. ;)

Arthandas commented 10 months ago

I've been dumping other games and everything was going smoothly until I tried to dump Discworld II. DIC just stops right after starting. I don't want to create another topic (should I?), so I'll post the logs here: Discworld II logs.zip

saramibreak commented 10 months ago

Checking reading lead-out -> This drive can't read the lead-out

Unfortunately, your firmware of the drive (BD-RE BH16NS55 1.05) can't read the lead-out.

According to the wiki, 1.00 or 1.01 or 1.02 is needed. http://wiki.redump.org/index.php?title=DiscImageCreator:_Optical_Disc_Drive_Compatibility#Non-Plextor_ODDs_.28Plextors_are_preferable.2C_as_more_testing_is_needed_for_these.29

Please try to downgrade. http://wiki.redump.org/index.php?title=Flashing_with_Asus_BW-16D1HT_3.02_firmware

Arthandas commented 10 months ago

Downgrade to 1.02 or flash with Asus BW-16D1HT 3.02? The guide says: "LG (HL-DT-ST) BH16NS55 (SVC CODE: NS55) with firmware 1.00(?) --> 1.04:" I have 1.05 so is even flashing with BW-16D1HT 3.02 possible?

saramibreak commented 10 months ago

I'm not sure because I don't have BH16NS55 1.05. Anyway, downgrades must be done at your own risk.

Arthandas commented 10 months ago

Great, I got this drive exactly to avoid problems like that...

I've found this tool: https://forum.makemkv.com/forum/viewtopic.php?f=16&t=22896 Seems like it allows flashing from any firmware. It has "DE_ASUS_BW-16D1HT_3.10_MK" firmware, is this version ok or does it have to be 3.02? Or should I use "DE_LG_BH16NS55_1.02"?

saramibreak commented 10 months ago

It seems BH16NS55_1.02 can read the lead-out. (#227)

MrPepka commented 10 months ago

For drives 0xF1 you need to use the /mr command

Arthandas commented 10 months ago

I flashed to BW-16D1HT_3.10_MK - doesn't work I downgraded to 1.02 - works only after adding /mr

Should I use /mr for all dumps? I'm using MPF, I don't understand why it's not setting this flag by default but I now enabled it in the options.

saramibreak commented 10 months ago

I don't understand why it's not setting this flag by default but I now enabled it in the options.

If write offset is minus like Final Fantasy IX, /mr doesn't need.

Arthandas commented 10 months ago

I don't understand why it's not setting this flag by default but I now enabled it in the options.

If write offset is minus like Final Fantasy IX, /mr doesn't need.

But it wont hurt if I enable it globally?