One of my hobbies right now is retrogaming. I try to catch up with some old PSP games that I never had a chance to play when I was a kid.
Thanks to the advanced emulation technology today, I can play those games on my phone today.
One problem with PSP game is that the game file (we usually call it ROM) is relatively big. A single PSP game can take around 0.7 GB to 1.5 GB of disk space. The internal storage of my phone can only store around 10 games. I also purchase a 256 GB microSD card, the Samsung EVO Select brand one, to store more PSP ROMs. I quickly running out of space the more my collection grows, since I also have ROMs for other game systems.
Since I can’t upgrade my phone disk capacity, the only real solution is to compress the ROMs.
Compressing the ROMs to archive type like zip, rar, or 7z is not good enough because every time I want to play a game, I need to wait the emulator to extract the archive first. This will cause slower loading.
What I want is a compressed format that is streamable, meaning that the emulator will decompress the content on the fly. This won’t impact loading time significantly.
That’s where the CSO file is being used.
In this tutorial I’ll show on you how to compress a single or batch of PSP ISO ROMs to CSO directly on Raspberry Pi.
Why Raspberry Pi?
Because that’s where I keep backup of my ROMs. Not to mention I can also play other emulators by using RetroPie. It’s also more energy efficient than using your PC. The compression process could take a long of time to run depend on how many ROMs you have. So, it’s the ideal device to do the tasks.
To compress PSP ISO files to CSO, we’re going to need a command line tool called
First, let’s update the package manager.
If you’re on Ubuntu or its derivative, you can directly install it by using
If you’re on Debian or its derivate (Raspbian / RetroPie), you need to download the installer fist.
After the download process finished, we can install it using
To check if the tool installed correctly, you can type
ciso on terminal.
Here is an example output.
Next step is how to do the compression process.
How to compress a single PSP ISO ROM to CSO
ciso tool can compress with multiple levels.
There are only 9 level of compressions from 1 - 9.
Level 1 meaning it’ll fast process, but may only reduce the file size a little bit.
Level 9 meaning it’ll be slow process, but it’ll to compress as small as possible.
In my experiments, the compression result between level 1 and 9 is not significant. So to save time, but gain more than enough compression ratio, we’ll use level 1 compression.
Here is the syntax to compress a PSP ISO ROM to CSO with level 1 compression.
As you can see, the
original_rom.iso is the input file and
compressed_rom.cso is the output file.
Here is an example when I test it using an Undub patched version of Crisis Core.
As you can see, the file size is compressed from 1.7GB to 1.2GB!
How to compress a batch of PSP ISO ROMs to CSO
I’m pretty sure you probably have dozen of PSP ISO ROMs. It isn’t wise to compress the file one by one manually. To compress a batch of files, you can use following command.
Alternatively, if you want to remove the original ISO file and keep the CSO file after it’s finished compressed successfully, you can use following command instead.
Be aware that the deleted file can’t be recovered. But if the tool failed to compress the ISO file, it won’t be deleted.
How to decompress CSO to ISO
Just like any other compression method, CSO also can be decompressed. You may need this in case you want to play the game on real PSP device.
Similar to compression command, but change the compression level to 0 and use the CSO file as the input.
The previous command will produce
And that’s it my 2 cent on how to compress your PSP ISO collection. Thanks for reading!
Cover Photo by Andrew Mantarro on Unsplash