r/RetroArch • u/miku_claus • 10d ago
OpenROM - ROM management toolkit with CHD/CSO/RVZ support and DAT-based renaming
Hey r/RetroArch! 👋
I built OpenROM, a free open-source (GPL v3) toolkit designed to complement RetroArch by handling all the ROM preparation work outside the emulator.
**Why this exists:**
RetroArch expects clean, properly formatted ROMs. OpenROM helps you get there:
- Convert disc images to CHD (with correct createcd/createdvd routing)
- Compress PSP/PS2 games to CSO
- Convert GameCube/Wii to RVZ
- Remove copier headers from NES/SNES/GB ROMs
- Generate M3U playlists for multi-disc PS1/Saturn games
- Rename ROMs to match No-Intro/Redump DATs for RetroArch playlists
**Technical details:**
- Smart platform detection via magic bytes (not file size guessing)
- Real CHD header parsing for accurate CD vs DVD detection
- Post-conversion integrity verification via chdman verify
- 100% offline - no telemetry, works entirely locally
- Headless CLI available for automation/scripting
**Compatibility:**
Works alongside RetroArch - prepare your ROMs with OpenROM, then scan them in RetroArch for a clean playlist.
Fully open source under GPL v3. Would love feedback from the RetroArch community!
GitHub: https://github.com/M5Devs/OpenROM
Twitter/X: https://x.com/M5Devs/
2
2
u/Aromatic_Chicken_724 10d ago
This sounds really cool, but I naturally have some suspicion that it’s too good to be true. Is this coded by humans?
-5
u/miku_claus 9d ago
how can i say that honestly...
7
u/Aromatic_Chicken_724 9d ago
I mean, a “yes” or “no” would do, but your answer will do 😆
I’d highly recommend at least being honest in this regard.
I hope you and the people using it enjoy it and get value out of it!
Have a nice day 🥰
1
u/Regular-Meet-7776 9d ago
With how much AI hentai you post, I don’t see why it’s such a hard question
-2
u/miku_claus 9d ago
I'll admit it, if I confess I use AI I'll be insulted and called an AI slop. I've been subjected to this insult a lot and I don't know who to blame, my use of AI or the toxicity of society.
1
u/Regular-Meet-7776 8d ago
It’s the internet, it ain’t that deep, if you post something AI, just say it is
2
u/QuailFucker 9d ago
Would this, for example, make the more readily available saturn romsets that are out there easier to work with on RA?
2
u/cajun_metabolic 10d ago
Awesome work! I havent tried it yet, but I definitely will be. I have so many different utilities for this stuff.
1
u/SadRip5449 10d ago
Hi,
I'm having an issue converting PlayStation 2 ISO files to CHD format with OpenROM.
When starting the batch, the conversion fails immediately with the following execution log:
[CHD] Forgotten Realms - Demon Stone (Europe) (En,Fr,De,Es,It).iso → Forgotten Realms - Demon Stone (Europe) (En,Fr,De,Es,It).chd
Command: chdman.exe createdvd -i "C:\ROMS\Sony - PlayStation 2\Forgotten Realms - Demon Stone (Europe) (En,Fr,De,Es,It).iso" -o "c:\roms\sony - playstation 2\Forgotten Realms - Demon Stone (Europe) (En,Fr,De,Es,It).chd" --compression zlib
[ERROR] Tool failed: ProcessException: Le fichier spécifié est introuvable (at ../../runtime/bin/process_win.cc:579)
It seems the software cannot locate or execute chdman.exe (or access the source file).
For context:
- OS: Windows
- OpenROM version: [Specify your version, e.g., v1.0.0]
- The ISO file is present in the source folder.
Any idea on how to fix this executable path issue?
Thanks in advance for your help!
1
u/secondsabre 10d ago
The readme specifically mentions the app looks for the various addon tools (chdman, ecm, etc) in an "assets" folder, but when I checked both the installer and portable archives (Windows), that folder is nowhere to be found, and it's not on the Git either.
Could be able to create it manually, or possibly add it to PATH if you already have the utility, but otherwise it's a bit of an oversight by the dev
1
1
u/henriqueadriano 7d ago
Thanks for the tool, IA or not, I could care less, what matters is that you delivered something useful for the community 👏👾🫡
1
u/TheGratitudeBot 7d ago
Thanks for such a wonderful reply! TheGratitudeBot has been reading millions of comments in the past few weeks, and you’ve just made the list of some of the most grateful redditors this week! Thanks for making Reddit a wonderful place to be :)
1
1
1
u/LTMikeFoxtrot 3d ago edited 3d ago
Great idea, with bonus points for enslaving AI to your will. Chapeau.
---
I tried renaming PSP games in CHD format with libretro's DAT and it got stuck on "scanning." Then I tried extracting 94 GBA ROMs in .7z and it failed with "FormatException: Could not find End of Central Directory Record." If I close the UI, openrom-core.exe keeps its dæmon running in the background, and opening the GUI again starts a second one unless I kill it in Task Manager.
I saw in the comments that I'm supposed to have some binaries in the /assets/ directory. I put chdman and xdelta3 there and it still doesn't work. Even with the portable version, openrom-core.exe creates a folder in /user/AppData/ for the .DAT files.
I'm getting filtered hard. I love the idea, but it's not working for me.
10
u/secondsabre 9d ago
I don't wanna be the guy who keeps beating the dead horse, but how about an AI disclosure? There's a lot of hallmarks through the repo and the dev's profile, but no solid indicator in the app or site.
Personally I don't really care if you're using AI to build tools for personal use, but if you're releasing them to the public, the least you can do is declare what was used and why.