libretro / flycast

Flycast is a multiplatform Sega Dreamcast emulator. NOTE: No longer actively developed, use upstream repo for libretro from now on - https://github.com/flyinghead/flycast
http://reicast.com
GNU General Public License v2.0
155 stars 77 forks source link

v5 CHD's won't load #829

Open Chicaned opened 4 years ago

Chicaned commented 4 years ago

Hi,

I've an issue in flycast both on the PC version of Retroarch and on the Odroid Advance Go running Batocera where v5 CHD's won't load. If I convert the roms to v4 they work fine. Also, if I run from a non compressed source such as from GDI that works ok as well. I don't see an error when loading, it just returns to the game list. The v5 roms have been converted to v5 using the latest mame release 0.218. I've tried older versions but I see the same error.

Here is the info from one of the v5 roms that won't work:

chdman info -i "Crazy Taxi 2 (USA).chd" chdman - MAME Compressed Hunks of Data (CHD) manager 0.189 (mame0189) Input file: Crazy Taxi 2 (USA).chd File Version: 5 Logical size: 1,344,324,096 bytes Hunk Size: 19,584 bytes Total Hunks: 68,644 Unit Size: 2,448 bytes Total Units: 549,152 Compression: cdlz (CD LZMA), cdzl (CD Deflate), cdfl (CD FLAC) CHD size: 102,373,752 bytes Ratio: 7.6% SHA1: 348a032208d610d572b89825d047e8f94646fea9 Data SHA1: 0a9c2c2fea384f0d73265a4fea411a06c945b7f0 Metadata: Tag='CHGD' Index=0 Length=96 bytes TRACK:1 TYPE:MODE1_RAW SUBTYPE:NONE FRAMES:300 PAD:0 PREGAP: Metadata: Tag='CHGD' Index=1 Length=98 bytes TRACK:2 TYPE:AUDIO SUBTYPE:NONE FRAMES:44700 PAD:44024 PREGA Metadata: Tag='CHGD' Index=2 Length=99 bytes TRACK:3 TYPE:MODE1_RAW SUBTYPE:NONE FRAMES:504150 PAD:0 PREG

flyinghead commented 4 years ago

What format did you convert your CHDs from?

Chicaned commented 4 years ago

GDI with associated bin files. Where would I find the flycast log for Windows and Batocera to see what error is being generated when attempting to run the games?

Chicaned commented 4 years ago

es_launch_stderr.log

Attached what I believe to be an error log from Batocera.

flyinghead commented 4 years ago

I'm using chdman v0.215 and I don't have any issue. Pretty much my entire game collection is in CHDv5 format.

What command did you use to create your chd files? Can you check with a CHDv5 disk that is known to be valid?

Please enable Core Logging in RA (Settings -> Logging -> Core Logging Level = 0 (Debug). It doesn't seem to be enabled in the log you made.

Also prefer testing on PC since there's a current issue with CHDv5 on ARM so let's not mix up the problems.

ToniBC commented 4 years ago

I also have all the CD games in CHDv5 and no problem loading them.

MiniSpoon commented 4 years ago

CHDv5 also works for me. I'm using Win x64.

In the debug log, see if retroarch is reading the product number from the GD-ROM. It should look something like this: [libretro INFO] 00:00:037 nullDC.cpp:152 N[BOOT]: [LUT]: Product number: T1215N .

If you get something like this, your CHD was creating using a faulty source: [libretro INFO] 00:00:041 nullDC.cpp:152 N[BOOT]: [LUT]: Product number: . [libretro WARN] 00:00:041 nullDC.cpp:255 W[BOOT]: No region specified in IP.BIN

I had this issue recently. The chdman utility does not support the latest redump cue files.

ToniBC commented 4 years ago

New Redumps are not compatible with CHDMAN or Demul, you have to convert them to GDI first and then compress the GDI with CHDMAN to have a correct CHD.

Darknior commented 4 years ago

@ToniBC what do you use to convert them to GDI before CHD ? My CHD are all working fine, BUT i have a problem with translated games.

For exemple if you convert in CHD this game Grandia (Japan) [T+En by SegaXtrem v0.61] (Disc 1), format ISO+CUE+WAV it works fine. I convert it in BIN+CUE with IsoBuster and it always works fine.

I convert it in CHD ... and it does'nt work :( Do you know why ? Thanks

ToniBC commented 4 years ago

Dreamcast games do not have a similar structure, to convert a Dreamcast game to CHD, it has to be in GDI format, the bin+cue does not work. But only in Dreamcast, the rest of the CD consoles, the bin+cue format does work.

You also can't convert a cdi to bin+cue and then pass it to CHD. The games that you have translated, because you leave them unzipped and if you use a PC, because with the help of the launchers, you can have them compressed in rar.

Darknior commented 4 years ago

You also can't convert a cdi to bin+cue and then pass it to CHD. The games that you have translated, because you leave them unzipped and if you use a PC, because with the help of the launchers, you can have them compressed in rar.

Yes i already try it too and it not working too :p I read it last week about ZIP support, i will try if it works withe batocera ;) Thanks a lot

chrisfu commented 4 years ago

@Chicaned Fix merged, could you try out a new master build? Confirmed working on RK202 (Odroid Go Advance clone) and RPi4 with CHDv5 images, no ill effects elsewhere. https://github.com/libretro/flycast/pull/954