Whats your naming conventions for Romhacks mods and translations?

How do you name and organize manually patched Roms? What rules do you follow, if any? I’m in the process of an entire reorganization and cleaning up stuff (which takes lot of time) and have a hard time to get a consistent naming scheme across all systems.

In example whenever I patch a Rom that is not a translation, then I have something like this:

# Original_Mod vModVersion (Disc N)
Chrono Trigger_Prophets Guile v1.0.smc 
Baten Kaitos Origins_Undub v1.0 Uncensor v1.2 (Disc 1).rvz

Edit: For multiple patched and for Disc number, I changed to this configuration (also put Disc N to the end again, otherwise order of all Disc 1 from patched would be grouped together):

Baten Kaitos Origins_Undub v1.0 + Uncensor v1.2 (Disc 1).rvz

And for whatever reason for the translation patches I follow entirely other rules, where I include the name who translated it in place of Mod name. But was very inconsistent over the years:

# Original (Original Language) [T+LangTranslVersion Translator]
Ace wo Nerae! (J) [T+Eng1.3 RPGONE].smc

# Original (Original Language) [T-Lang by Translator vTranslVersion]
Hokuto no Ken 3 (Japan) [T-En by BlackPaladin v1.0].nes

For translations, sometimes I use comma to separate multiple translator names, sometimes I use “&” character. It’s a mess.

I want to make clear, that this is all about manual patched Romnames, where I get to choose the name. How do you guys organize this stuff?

1 Like

For my SNES hacks I use a folder named “SNES Hacks”. Since I won’t be updating them often, if ever, I strip the names of everything referencing the hacker or version number. In rare cases when the author of the hack does multiple versions I will include that info. (e.g. [English Subtitles])

To indicate if it is just a mod I include [Mod] in the name, otherwise I assume it is an English translation and include the original country. (e.g. (Japan))

1 Like

Mods: Do you include the name of the mod and the name of the original game in the filename too? Many of the mods I have are not encoded with the original game name and therefore I often don’t know what game it is based on. In example I just came across a mod in my collection that is named “The Legend of Banjo-Kazooie - The Jiggies of Time” and wasn’t sure if its a Banjo Kazooie mod or an Ocarina of Time mod.

Translations: I have mods and translations separated, because I see translations being the original game and just want to treat them separate. And that also means I do not need to add “[Mod]” into the name, as they are separated anyway. However I include the name of the hacker for the translation, as this serves basically what the name of the mod is, to distinguish it from other translations for same game.

Version: There was a time when I did not pay attention to the version number too. There are two reasons why they are important: a) I actually do track newer versions of mods and translations, sometimes in waves, and b) because of save states and save files (and screenshots!) are separate for each version, as not each version of the Rom might be compatible and even change drastically over time. If I want keep using an older save, I could just copy it over.

Optimally each Romhack/mod have a text file as a readme alongside the Rom, to explain whats different and how to play it and meta information. But I’m actually too lazy for that.

1 Like

I use soft-patching when I can.

With soft-patching, you still need to rename the files, right?

How does RetroArch handle the associated files with soft-patching: save files, save states, screenshots and so on. In example with “Super Mario World.smc” the core would create “Super Mario World.srm” save file under saves/ directory. What if I use a patch file to soft-patch (live patch)? You can only have one patch file per game if you don’t want to rename it. And it would collide with the associated files, right?

And if you decide to rename them, then we are back to the point what standards you have renaming them? Unfortunately not all cores understand all patch files. And soft-patching messes a little bit with the other tools I am using, in example when file search for Roms, then it will complicate things for me when taking patch file formats into account.

Probably this is not a correct/direct answer to your question, just wanted to share my set-up.

I actually gave up on keeping a standard naming scheme for hacks/translations, the simple reason is that I have too many files and it will be a very hard/long job.

When adding or updating files I just try to keep as much info as possible but the most important is the version number so that I know if I need to update the hack/translation or not. then 2nd place for authors and date.

Since a long while I settled on keeping hacks and translations in their own directory.

In my main roms folder I have some directory with " # " so they stay on top:

MainRomsFolder/# Hacks #/
MainRomsFolder/# Homebrews #/
MainRomsFolder/# Translation #/

within those I have subfolders named after the systems

MainRomsFolder/# Hacks #/Sega - Megadrive/
MainRomsFolder/# Hacks #/Nintendo - Famicom/
...

In some “special” cases I have other subfolders

MainRomsFolder/# Hacks #/Nintendo - Super Famicom/SMW - Central/
MainRomsFolder/# Hacks #/Nintendo - Super Famicom/FastROM/
...

When I’m in the mood to play an hack I just:

Load Content -> Start Directory -> then select the folder

Once in the folder I can use the search function (“S” is my hotkey) if needed.

This process is very quick because Start Folder is my main rom folder and the hacks or translation folders are on top of the list so that very few “clicks” are needed.

1 Like

Thanks for sharing your setup. I’m interested into this kind of stuff too, not just the filenames of manually created patches. So you went this route with the folders then. Love to see how everyone solves these every day first world problems. :smiley:

I went with a similar approach, but put all system related stuff into one folder, which contains subfolders for each category:

Roms/snes/snes_homebrew
Roms/snes/snes_mods
...

So you don’t use playlists then? For the playlists I have a structure like this now (159 playlists, 62 MB!):

Sega - Saturn - Mods.lpl
Sega - Saturn - Translations.lpl
Sega - Saturn.lpl
...

The cool thing with playlists is, we can have a search with words that limits all matching names. And on top of that, we can do a more narrow search withing the search results. And for systems like Arcade its useful to have fullnames. The builtin RetroArch filebrowser just jumps to the next entry by a single letter.


I also run games directly in my operating systems filebrowser without loading RetroArch first. Just double click the Rom. This works, because I have a special program or script as a starter, which runs the appropriate core with the Rom. But that is a totally different story for another day.

(Note: BTW I constantly have to delete paragraphs, because my replies somehow tend to be on the longer side.)

I do use playlists but mainly for “clean” romsets: no-intro and other curated lists (ie. ps1, n64) and some other (amiga whdload, fbneo etc) total playlists is around 50.

I use xmb as menu driver and 50 playlist are already a lot to handle (lots of scrolling!), I would like to do more playlists but for that I would need something like this

You can search with the file browser in a similar way, not sure what do you mean by:

when you enter in a folder use the hotkey for search, then type a word and it will filter the list, then you can do it again to further filter it.

1 Like

Strange, you are right (somehow I have a talent for spreading misinformation. :D). Just tested it and search in filebrowser works like on playlists. I remember in the past trying that; no idea what happened. Two things I noticed while trying it out again:

  • the core have to be selected each time (that’s fine to me), in contrast I have a default core for each playlist, filebrowser is useful if I want quickly test a Rom with a different core than the default core in the playlist
  • the scan button might be pressed by accident, so one has to be careful there not to scan entire directories by accident, if you have a careful manual scanned playlist collection
1 Like

yes, that’s true, not having a default core is a small drawback, but is not too bad.

uhm, I don’t see any “scan button”. maybe I disable it?

uhm, I don’t see any “scan button”. maybe I disable it?

There is no option at Settings > User Interface > File Browser that could affect this. For the record, I am using the “ozone” menu_driver and switched to “xmb” for testing. The menu in xmb doesn’t show the key, but I tested it and the key still works (Y on SNES layout and a on the keyboard, at least for me, I hit it by accident earlier). So then I have looked at Settings > Input > Menu Controls and there are options to Disable Info Button and Disable Search Button, but nothing for scanning.

So go to a directory with games you have scanned (like nointro) and test that on a single game. This key seems to be hardcored, as I cannot find something in retroarch.cfg searching for "a" in the file (other than input related keys that are active for the core).

you are right! tested and indeed it does the scan with either a or Y button. :frowning:

Would be safer to have a way to disable it, I will post it on development suggestion.