[3.6][pc] Game Format (resolved)

Some games are stored within folders, like PS1, PS2, Saturn, Dreamcast, etc. Is it possible to store these games (folders) into a file instead? (like an iso).

Also, is there any advantage of saving a game (if supported) as a zip file? I’m guessing this would take up less disk space but on the downside, take longer to play (unzip and then load).

:slight_smile:

Disc based games can be converted to *.chd files if the core supports them.

For this you have to use mame’s chdman. It is a command line tool to convert *.bin/cue .bin/.gdi to *.chd (Compressed Hunks of Data)

For Dreamcast you have to use the *.gdi, NOT the *.cue files, otherwise it won’t work.

Simply download the latest mame release from https://www.mamedev.org/release.html, extract it to a folder you like and use the chdman.exe to convert your files.
If you are on a Linux system, in most distros there should be chdman in the mame-tools package (at least on Debian-based distros)

The syntax is chdman createcd -i (input.cue or input.gdi) -o output.chd

I have only converted PS1, Saturn, Sega-CD and Dreamcast games, so i don’t know if this works as intended with PS2 as well.

NB: if you have games with multiple *.bin files, you can’t revert them back. Chdman generates only 1 single *.bin file in the reverse process (converting the *.chd to *.bin)

*.zip works well with rom-based games, but is really slow with disc-based games.

2 Likes

You can convert .bin/cue PSX files into a single .pbp, which is also really tidy for multi disc games too.

1 Like

One clarification. There are many PC games that are in folder but “are not disc images”, they are simply copied from the disc and glued in a folder.
The DOSBox-Pur can read those folders in .zip format. (I think he also reads the ISO in .zip)

An ISO is a “disk image” it is also BIN+CUE, BIN+GDI, although these are in a folder. There are many formats, both separated and together.

You can convert the BIN+CUE to a single file with chdman, as @ImnoTapLumber tells you, and you will need it for multi disk games.

1 Like

Thanks for the suggestions guys :+1:. I’ve got chdman installed on Ubuntu and managed to convert a PS2 game. Are there any pro/cons in doing this? Disk space isn’t an issue for me but if the game plays exactly the same (chd, iso, etc) I’m really doing this to tidy my collection.

Regarding systems with multiple files, what is the syntax for conversion? For example, say the dreamcast. Do all the files need to be present in my chdman folder or just the one?

:slight_smile:

For Dreamcast you need the *.gdi to be present. You take the *.gdi file (for the other systems the *.cue) as input and chdman makes the rest:

Pro:

  • only 1 file
  • save space

Cons:

  • core must support *.chd
  • chdman can’t convert to multi-bin. Only 1 single bin output (game remains unaltered)

Out of curiosity: you said games are stored in folders. You mean:

Sony - PlayStation
    └ Gamefolder1
        └ game1.bin
          game1.cue
    └ Gamefolder2
        └ game2.bin
          game2.cue

or this way?:

Sony - PlayStation
    └ game1.bin
      game1.cue
      game2.bin
      game2.cue

Folders are not needed usually. You can trow all your games in one folder if you like. Apart from some systems like DOS, Arcade roms with chc disks that need a specific folder …
But for 8bit/16bit systems or disc systems like PS1, PS2, Dreamcast etc. folders are not mandatory.
FWIK

My games are saved in folders (example 1). As I am preparing each game, I have to copy off Lakka to a folder (chdman) on Ubuntu, run the command and then copy the chd file back. I take it I copy all the files? (from gamefolder). Once the games are in chd format, only the Playstation folder will be used.

:slight_smile:

Use a for loop for converting all discs at once:

for i in *.cue; do chdman createcd -i "$i" -o "${i%cue}chd"; done

You can add: '&& rm *.bin *.cue' after 'done' to convert to chd and remove the bin and cue afterwards in one command.

(The files have to be in the same directory)

1 Like

I assume I would still need to copy the files off Lakka onto Ubuntu to do the conversion? I have so few games, doing so manually won’t take much time but thanks for the suggestion.

Having just converted a dreamcast game, it has shrunk it from 1.2GB to 70MB. This didn’t look right and wasn’t detected by RetroArch. Am I missing something in the syntax? I followed the above.

:slight_smile:

This is totally normal on some games.
Ikaruga (Japan) changes from 1.1GB to 25.5MB and works fine.

It should work if you load the game with Load Content

For scanning and showing up in the playlist you have to do a bit of handwork:

  • first scan your bin/gdi file (select the gdi)
  • second open your playlist file in any text editor and change the path from game.gdi to game.chd.

RetroArchs scanner doesn’t work with chd files.

I don’t know if you can convert them in-place from ubuntu. If you mount your Lakka partition it should be possible. Don’t ask, try :wink:

1 Like

Sounds like too much work (for me). I’ll keep those one’s as they are. I’m amazed at how much these files can shrink though. Thanks for your help with this.

:slight_smile:

1 Like

It is not complicated, if you want to change the GDI list to Chd you open the editor and use the “Search and Replace All” option as capture:
imagen

But, it is much easier and quick to make a manual scan. If you have combined GDI and CHD, Manual Scan + File Extension "cue, chd" Multi Disc Games such as Shenmue, place them in a separate folder, because you have to make the manual Scan alone with the “M3U” extension.

You can have all the CHD and M3U in the same folder.

First you make a manual scan with the CHD extension. and disable the option “Scan Inside Archives”.
Then, on the same screen, place the M3U extension and active option “Scan Inside Archives” to look for inside the folders.
Obviously you can also have the GDI, but at this point you will know how to do it. :slight_smile: imagen

If you like to watch games in alphabetical order, the file manager has an option to see them as well. But this does not affect how it looks at Retroarch.

The CHD, weighs much less because it is a compressed disk image format. The GDI, is an exact copy of the physical disk, and no import like this is flat or empty, it will be weighing 1.2GB always.

1 Like

Manual scanning works a treat :+1:. Nice tip.

I don’t suppose Wii roms can be compressed?

:slight_smile:

I had not paid attention to the CHD format, I was too lazy to convert one by one to have them in another type of image, until I read this.

I started testing and this format compresses much more than the zip format. And I can use them directly, make my lists, etc. It’s a marvel.

With the Script you created it is very easy to change them all, this little line at the beginning decompresses and removes zip/7z, and converts and removes bin/cue.

7z x '*.7z'; 7z x '*.zip'; rm *.zip *.7z; for i in *.cue; do chdman createcd -i "$i" -o "${i%cue}chd"; done; rm *.bin *.cue

I put them all in and when I realized, it was done. Thank you!

1 Like

I’m about to finish up converting my Dreamcast set to CHD this evening when I get home. That script would have come in handy earlier in the weekend :slight_smile:. Currently all I used was a bat file that converted the unzipped files from each directory into a CHD, but I had to unzip them to directories, go in and switch out the .cue file for the appropriate .gdi file, then run the bat file to convert.

I need to double check a few of them though, because I swore I tested a few CHD files that I did convert using bin/cue files, and I didn’t seem to have issues playing them in emulators.

I could not write before. :man_facepalming:t2:

cue to gdi??? O_o

You can have a bat, but it is rarely used, and it is very convenient to have it as text and paste it in the terminal.

This last one works with cue+bin type redump, Because it has different names and can be unzipped all together in the same directory, gdi have the exact same name tracks and you have to unzip them in separate folders.