Guide: CD-Based Systems on Retro Handhelds

Last updated: 09JUL2021

Today we’re going to discuss systems like PlayStation 1, Dreamcast, Sega CD, and TurboGrafx-CD (PC Engine CD). Let’s organize your files and learn how to switch discs in multi-disc games, too.

This guide applies to any RK3326 retro handheld system, such as the RG351 series, PowKiddy RGB10, ODROID Go Advance/Super, and so on. This will also apply to any device that runs an EmulationStation frontend, such as the Super Console X. The video primarily focuses on the 351ELEC firmware for the RG351 devices, but can be applied to ArkOS, EmuELEC, RetroOZ, or any other EmulationStation-based operating system that runs on these devices.

Supported file systems

Each of these CD-based systems support a variety of file types, but the one they have in common are .bin/.cue files. These are usually found bundled together, and are my preferred file system when playing these games. They are uncompressed, which means they will boot and load more quickly, and while they may look unorganized, they are easy to figure out once you get the hang of them. In a nutshell, .bin (BINARY) files store the data that the system will access, and the .cue (“CUE”) file will tell the system when to access the .bin files. Games may have a single .bin file, or many, depending on whether the game supports multitrack data and audio.

If you happen to have a PSX library that only has .bin files and not the associated .cue files, most games can technically boot from just the .bin file, but games with multitrack audio won’t work. Moreover, some firmwares (like ArkOS) won’t even recognize games that only contain a .bin file — they need the have the .cue file too. I recommend making a .cue file for every game if you don’t already have one. This online tool will autogenerate one for you!

GDI files behave like .cue files, but for Dreamcast; they’re good too. PBP files are particularly easy with PS1 games, because they can hold multiple tracks and discs in a single file. Similarly, .chd files will consolidate all of the bin/cue files into a single file, and will compress them too; this may come at a performance cost as the system tries to uncompress and access the data, so it is not generally recommended for systems like Dreamcast. Moreover, .chd files cannot consolidate multiple discs like a .pbp file can.

Organizing your ROM library

In general, when you boot up a game, you want to open it with the .cue file, so that the system knows when to access which .bin file. One note is that a TurboGrafx-CD game may have .bin, .cue, *and* .iso files. In those cases, you still want to boot the .cue file.

It may seem unintuitive, but I recommend you do not store your ROMs in subfolders, because they can complicate the navigation process. It may look uglier on your SD card, but we can clean it up in the system settings.

If you boot up your device with all of these file types in a single folder, chances are you will see duplicate files in the menu. The easiest way to fix this is to hide the .bin files. In 351ELEC (and EmuELEC) you can do this through the interface itself, by going into the system menu, pressing SELECT, and selecting View Customization > File Extensions and unchecking the .bin box. In ArkOS and RetroOZ, you must go into the es_systems.cfg file and remove the .bin entries (which are removed by default, thankfully). For more information on how to access the es_systems.cfg file, check out the video above.

The problem comes when you have multi-disc games, because they will also have an .m3u (playlist) file to tell the system which .cue files are part of the whole game. Which means that you’ll have .bin/cue files for single-disc games, but then bin/cue/m3u files for multi-disc games. This means that if you hide the .bin files, you will have cue and m3u files showing up for multi-disc games. To remove these, you should create m3u files for *all* of your games, not just the multi-disc games, and then hide the .cue files from the menu as described in the preceding paragraph. Check out the video above for a walkthrough of that process.

Moving over save files

If you have existing save files (.srm or .state files) that are now not working because you are using the .m3u method highlighted in the video, it’s easy to get them working again. Just rename the files to match the .m3u file. So for example, if your .m3u file is Metal Gear Solid.m3u, the save files should be Metal Gear Solid.srm and Metal Gear Solid.state.

Changing discs on multi-disc games

Provided you booted up an .m3u file (or a .pbp file for PS1), RetroArch will recognize that you have loaded up a multi-disc game. To change discs, enter the RetroArch Quick Menu (SELECT + X on most systems), then navigate to DISC CONTROL. In there, you can “eject” the current disc, change the disc number, and then “insert” the new disc. Once you have swapped discs, resume the game and the system will detect the new disc.

ArkOS m3u file generator function (new!)

Starting 20MAY2021, ArkOS implemented a feature that will allow you to create m3u files from your .cue or .chd files, and also hide everything but .m3u files so you have a nice, clean interface. This will work for the RG351V, RGB10, RK2020, and ODROID Go Advance systems. To read how to use this function, check out the FAQ section of the ArkOS GitHub for each respective system.

3 thoughts on “Guide: CD-Based Systems on Retro Handhelds

  1. Hi Russ,
    Could you explain the best way to approach multi disk dreamcast games?
    Using a .m3u file still does not give any options to change disks?
    I’m using the new emulator in 351elec so mo in game options.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s