Collection of scripts to automatically unpack your romsets to the correct format
Short explanation of the usage:
Originally created to unpack my Dreamcast rom collection but later expanded to use for other (cd-based) systems as well. You will need to have the following dependencies:
- unecm (instructions see below)
- unrar
- 7z
- unzip
Please consult your distrubution on how to install this.
The syntax is as follows:
./dcunpack.sh <MODE> <SOURCE dir> <DESTINATION dir> <OPTION m>
<MODE>:
f= all your roms are in archives directly in the SOURCE DIR e.g.
<SOURCE DIR>
|_<SONIC ADVENTURE 1.RAR>
|_<VIRTUA FIGHTER 3.RAR>
d = all your roms are in separate dirs in your SOURCE DIR e.g.
<SOURCE DIR>
|_<SONIC ADVENTURE 1/>
| |_<SONIC ADVENTURE 1.RAR>
|_<VIRTUA FIGHTER 3>
|_<VIRTUA FIGHTER 3.RAR>
<SOURCE dir>: The directory containing your roms<DESTINATION dir>: The (new) directory to where you want to extract your roms<OPTION m>: (makedir) creates separate directories to extract each archive to. Only use when the archives don't containt any folder and only in file mode
This script will do the following steps:
- Find archive files (
.rar,.zip...) and extract them to the<DESTINATION dir> - Check if there are
.ecmfiles present and extract them - Clean up partially (rar) archives &
.ecmfiles - Display a list of extracted games & save them under
<DESTINATION dir>/extracted.txt
Used to convert .nrg files to .iso Usage:
usage: ./nrgbatch.sh <DIR>
With <DIR> the directory where your .nrg files are located.
After all files are converted you also have the possibility to delete the .nrg files (WIP - not implemented yet)
- Download source from https://raw.githubusercontent.com/MaddTheSane/ECMGUI/master/unecm/unecm.c
- compile using the folowing command
gcc -o unecm unecm.c - Copy the unecm file to
/usr/binso you can call the program system-wide (cp unecm /usr/bin)
All written & tested on on debian 10 - possibly also works under other distros Please test this first on a copy of soms roms if the given mode & option is correct
I have not tested every possible scenario so code could be improved