Jack Robinson | Blog
How to dump your PSX Games (for Mac)
So you’ve just gone out and brought a funny looking PSX game, and a CD drive for your fancypants computer. You plug it in, put the disk in, and then wow! The files magically appear.
It can’t be this easy right? You go and copy and paste the files onto your computer then…
You may think the game is broken, but the disk looks fine to you! What could it be?
Well, I’m pretty sure this is something to do with the weird block sizes that these disks had back in the day, and Disk Utility freaks out a little.
This is just a quick reference for anyone out there who’s having trouble finding out how to dump their games from a CD to their (Apple Silicon) Mac.
Guide
The tool we’ll use is called cdrdao
,
which we can pull from Homebrew.
brew install cdrdao
This tool will read our CD (CDR) in “Disk at Once” (DAO) mode - I’m no expert, but I’m sure this’ll prevent Mac being like “I don’t know what this is” as it wont be confused by random gaps in the data that might appear due to the odd block sizes.
Once we have this installed, the next step is to find out which disk we’re
pulling data from. There are ways to do this, easiest is probably diskutil
diskutil list
We’re looking for the CD Drive. For me, it’s /dev/disk4
but make sure you
find the correct one. Alternatively, you can use drutil status
and it might
give you the right disk.
Once we have the disk, we need to now tell Finder to leave it be. This’ll be
because it’ll try to hold a lock on the disk, and cdrdao
will complain.
Easiest way to do this is
diskutil unmountDisk /dev/disk4
Now we’re ready to pull the data off of our disk. To do this, use the following:
cdrdao read-cd --read-raw --datafile "output.bin" --driver generic-mmc:0x20000 output.toc
This is all self explanitory, except the driver. This is also getting into some
hairy disk standards, but the 0x20000 is also pretty poorly explained. Basically,
the docs of cdrdao
tell us to use it if “the byte order of your audio is
weird.” All the games I’ve dumped so far require this option, so it’s probably
the nature of the audio format.
Once this completes, you should have two files: output.bin
and output.toc
.
Most emulators require bin
and cue
files, so we can easily convert the
output to cue
with the following command:
toc2cue output.toc output.cue
And now your game is on your computer!
That’s it! I’m hoping to put up a post soon about digging through some games, first of which is a murder-mystery visual novel called Kindaichi - but more on that later.
Thanks for reading!