Most emulators or consoles allow to use different formats for games so you don't have to storage a full 8GB from a DVD since most of it will be blank.
You will probably want to use Nkit2 once it releases.
I will try to properly comment the code with sources and reasoning for those who want to work or fork it.
- Take input file
- .iso
- Compress and output
- GameCube: .ciso
- Wii: .wbfs
- PS2: .zso
- ...
- Take compressed rom and move it to the correct folder (meant for games over SMB or loaders that require certain folder structure).
- Keeps original .iso (you can manually edit the script to delete)
- Xbox 360 -
GoD
(Games on Demand)- From extracted/folder format and .iso
- Compatible with OG Xbox too (playing OG Xbox games on X360 console)
- CEMU: .wua
- NDS + 3DS:
trimm .nds & .3ds
- Usually you do this at the time of dumping, might not do it.
Run curl -sSL https://raw.githubusercontent.com/Linx-ESP/auto-compress-roms/main/bash-scripts/install.sh | sudo bash
- Requires SUDO
Set paths, run command:
compressroms-setup
Run the command (might need relogin)
compressroms
compressroms gamecube
compressroms wii
compressroms ps2
- Cron jobs can help automate this. Careful in keeping the original files, better to delete them.
Failed to detect file type of
- This is not a problem. Unp (unpack) will output this for each file that is not a .zip/.tar/.rar/...
- Multidisc games
- Testing
Import path (set using compressroms-setup)
../gc
../wii
../ps2
Output path (set using compressroms-setup)
../PS2/OpenPS2Loader (For OPL SMB Share)
../DVD
../CD
../Wii
../GameCube
You can point certains folder to a removable drive, such as a usb hard drive for the Wii.
- Edit /etc/fstab so it mounts the drive with the same path if needed.
- By default
unp
(p7zip-full
,unzip
, etc)ansible
- PS2
- This python script from OPL
pip3
+ lz4
- Wii/GameCube
- Setup individiual path in a more interactive way
- Full TUI
- Dolphin .rvz support improved
- Integrate with cockpit
- It could be done so it identifies the console and executes the correct script/conversion by itself using Redump and No-Intro hashes, requiring only one input folder. But that's above what I can do.
- Nkit seems viable via Mono on Linux, but doesn't seem to be widely use today. I'll probably not integrated it here.
- Script-Server might be useful.
- RetroNAS caused me issues as I use my NAS for more than that, but useful for a dedicated server.
- Might end up in a docker container, probably if I add full Dolphin support. For now, ansible + bash scripts go brrr...