Emulation on Mac

Emulating classic video game consoles on Mac OS X

Preserving CD and DVD-based Console Games (Pt. 3): the .bin/.cue format

This post is part of a series:
Preserving CD and DVD-based Console Games
Preserving CD and DVD-based Console Games (Pt. 2)

In a previous post, I mentioned that two command-line utilities for making optical disc images on Mac OS X were dd and cdrdao, but I recommended dd because it was simpler to use. Well there’s actually a case where cdrdao is needed, and that is when your emulator wants game images in the “cuesheet” format (a pair of files with the file extensions .bin and .cue, rather than a single .iso or image file).

Why do we need the cuesheet format?

I mentioned in my first post in this series that many old games use “mixed-mode discs” (audio and data as separate tracks). You can rip all of their data, but without metadata to indicate the track boundaries, it seems that multi-track disc images can’t be properly handled (?). Most 16-bit era CD games were this kind of disc, and sometimes it was used in the early games of the PS1/Saturn generation.

I realized the need for cuesheet format when I tried to use the Mednafen emulator to play a Playstation 1 game I backed up in ISO format. It would fail with weird errors unless I provided the game in cuesheet format.

Almost any cuesheet file can be found at Redump.org. In fact, you can just download every cuesheet for a given system all at once, which is nice. Maybe it will preclude you from having to create your own, if you ripped your games as ISO. Note that your binary image file has to be named consistently with what is in each CUE file.

Installing cdrdao

First, you need to install the “cdrdao” package from either MacPorts (recommended), Fink, or from source. If you have MacPorts, the command is as follows:

$ sudo port install cdrdao

Backing up a PS1 disc in cuesheet format, using cdrdao

Find and unmount the disc filesystem. Observe which drive is the disc drive with the first command, and use that path in the second command:

$ diskutil list
$ diskutil unmountDisk /dev/disk3

Then rip the disc and convert its TOC to a CUE with these two commands:

$ cdrdao read-cd --datafile image.bin --driver generic-mmc:0x20000 --read-raw image.toc
$ toc2cue image.toc image.cue

10 responses to “Preserving CD and DVD-based Console Games (Pt. 3): the .bin/.cue format

  1. Pingback: Revisiting multi-console emulation with OpenEmu, getting PS1 emulation to work | Emulation on Mac

  2. hiro December 27, 2015 at 2:29 pm

    Hi, first of all thank you for all your helpful posts about preserving console games on OSX. Your posts have been a great help.

    Unfortunately I’ve been trying to get cdrdao to work by following your instructions, but I keep hitting a wall, that I cannot seem to solve. It is probably a super simple solution, but I’m not that well versed in this area.

    When I try to get cdrdao to rip the disc with your command I always seem to get an error which stats: ERROR Expecting only one toc-file.

    Have you encountered this before? And do you have a solution? Thank you for your time.

    • robocalypse December 27, 2015 at 10:22 pm

      Hi! Sorry, I don’t think I’ve encountered that particular issue. But it sounds like it might be a typo in the command line. Can you copy-paste what you tried?

      • hiro December 29, 2015 at 11:11 am

        here is what I tried and the info I get. I don’t think it is a typo, since I also copy-pasted your command and it gave the same error.

        imac:~ hiro$ cdrdao read-cd -datafile image.bin -driver generic-mmc:0x20000 -read-raw image.toc toc2cue image.toc image.cue
        ERROR: Illegal option: -datafile
        Cdrdao version 1.2.3 – (C) Andreas Mueller

        Usage: cdrdao read-cd [options] toc-file
        –device [proto:]{|device} – sets SCSI device of CD-ROM reader
        etc etc

        Unmounting the disk through diskutil goes smoothly, and I don’t think it is because of the external dvd-reader I’m using (which is a Samsung 208 btw).

  3. robocalypse December 29, 2015 at 5:59 pm

    Ah, I think the issue is that `cdrdao` is one command, and `toc2cue` is a second command, but you have them on the same line. It should look like:

    imac:~ hiro$ cdrdao read-cd -datafile image.bin -driver generic-mmc:0x20000 -read-raw image.toc
    imac:~ hiro$ toc2cue image.toc image.cue

    • hiro December 29, 2015 at 7:35 pm

      Thank you! though that didn’t seem to be the only problem.
      After some trial and error and removing extra commands and slowly adding them back the following command did seem to work with me:
      cdrdao read-cd –datafile image.bin –read-raw –driver generic-mmc:0x20000 image.toc

      Instead of a single hyphen I had to use two to get all the commands to be recognized.
      But at least now I can start with preserving all my console games! Thanks again and keep up the good work!

  4. tmo1138 January 9, 2017 at 6:24 am

    Thanks for sharing this. By any chance have you found any way to copy PSX CDs that have separate audio and game sections yet using cdr2dao? If if only to copy the game part of it?

    • robocalypse February 6, 2017 at 9:45 pm

      That’s what this post was about, copying PSX CDs that have separate game and audio tracks. If you only want the game part, I suppose it could be done, but I suggest copying the whole thing.

      • tmo1138 February 8, 2017 at 1:20 am

        I’ll try again but I wasn’t able to get it to work.. the resulting image only had audio and no game data.

Leave a Reply

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

WordPress.com Logo

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

Google+ photo

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

Twitter picture

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

Facebook photo

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

Connecting to %s

%d bloggers like this: