UvulaBob Posted May 10, 2023 Share Posted May 10, 2023 I'm looking to trim my MAME ROM collection down, and I'm seeing some really weird behavior with Launchbox. Please note that going into this, I have a very old-school mentality when it comes to how this stuff works: I have a collection of ROMs. I put them in a folder. I create a platform, and I import those ROMs under that platform, and then populate those entries with media and metadata. Simple. But MAME seems to be a different beast entirely. I have 14,000+ Rom files in this MAME folder of mine, and according to Launchbox, I only have about 2500 of them actually imported (assuming it's one ROM per game). My plan, which has worked with all the other platforms I have, is to export all the games to a new folder, and then use WinMerge to compare them, deleting the unused ones from the original ROM folder. But I'm getting some really weird results. For example, I have rastan.zip in my giant ROM folder, and I have Rastan in Launchbox. The path to rastan.zip is indeed the path to the ROM file. I can play Rastan by double-clicking on the game in Launchbox. But when I try to export the ROM, Launchbox tells me that the ROM file can't be found. Does Launchbox consider MAME roms to be some kind of special case, where the path to the ROM doesn't mean anything when it comes to actually exporting it? Why would that be? It doesn't make any sense to me why this would be different than any other platform. Quote Link to comment Share on other sites More sharing options...
C-Beats Posted May 10, 2023 Share Posted May 10, 2023 Yes. MAME files are handled very differently because we don't have any way of knowing what type of MAME rom set you have and moving/deleting files in merged/split sets can break things pretty badly. MAME is typically distributed in one of these versions: merged, split, non-merged. In the first two dependencies of a game are shoved in other files so that you only need each dependency once (saves a ton of space), because of this if we move/remove one of those files it breaks every game relying on it. A lot of the tools to do these operation on these games works differently (or not at all) so that users don't accidentally break their sets. Quote Link to comment Share on other sites More sharing options...
UvulaBob Posted May 10, 2023 Author Share Posted May 10, 2023 Interesting. It sounds like I kind of just have to be OK with having tens more gigs of ROMs than it looks like I need, and that when Launchbox says it's using rastanu.zip, it's not actually using a file named that, but that there's some kind of wizardry going on behind the scenes. Quote Link to comment Share on other sites More sharing options...
neil9000 Posted May 10, 2023 Share Posted May 10, 2023 Quote Link to comment Share on other sites More sharing options...
UvulaBob Posted May 10, 2023 Author Share Posted May 10, 2023 One thing I don't quite understand is how Launchbox is able to tell MAME which version to load. I can see right in the details for the game that it's launching /Games/Arcade/rastanu.zip, but I don't have a file named rastanu.zip in that location. Quote Link to comment Share on other sites More sharing options...
neil9000 Posted May 10, 2023 Share Posted May 10, 2023 7 minutes ago, UvulaBob said: One thing I don't quite understand is how Launchbox is able to tell MAME which version to load. I can see right in the details for the game that it's launching /Games/Arcade/rastanu.zip, but I don't have a file named rastanu.zip in that location. Launchbox isnt really loading anything, it doesnt actually do anything with your rom files it just says hey mame load this, and passes the rom name, not the rom itself. Quote Link to comment Share on other sites More sharing options...
UvulaBob Posted May 10, 2023 Author Share Posted May 10, 2023 Right, that's what I mean when I say "load", I guess. I've done some testing, and it looks like if I pass "rastsaga" into MAME, for example, MAME just knows that it needs to look in the rompath for rastan.zip, find the folder in there called rastsaga and load that in addition to the files in the root of the ZIP. How does Launchbox know what string to pass into MAME? Does it derive that from the ROM File path in the game's entry, or does it have some kind of internal list that it consults? As an aside, is it correct that I truly want to trim my MAME collection down to the barest essentials in both ROM count and disk space, that I need to use a non-merged set and be willing to really get in there with a scalpel to (for example) delete the seven different versions of Rastan that I don't need? Quote Link to comment Share on other sites More sharing options...
C-Beats Posted May 10, 2023 Share Posted May 10, 2023 MAME has it's own dictionary lookup within the app. We pass it in the rom name for the game you ultimately want to play as well as tell it what folder the roms are in. MAME then uses that lookup to determine which files it actually needs to read to play that game and grabs them before starting the game. To answer your second point you don't have to manually filter down. You can filter down in LaunchBox and then use the move ROMs tool to only move the files that LaunchBox is still associated to, then delete those that remain in the older folder. Quote Link to comment Share on other sites More sharing options...
neil9000 Posted May 10, 2023 Share Posted May 10, 2023 7 minutes ago, C-Beats said: To answer your second point you don't have to manually filter down. You can filter down in LaunchBox and then use the move ROMs tool to only move the files that LaunchBox is still associated to, then delete those that remain in the older folder. Yes, this is what i do when putting mame on other devices i just get Launchbox to export the working roms it imported, which is around 2900 and takes about 12GB of space. Non-Merged is required to start in order to do this though. Quote Link to comment Share on other sites More sharing options...
UvulaBob Posted May 10, 2023 Author Share Posted May 10, 2023 Quote To answer your second point you don't have to manually filter down. You can filter down in LaunchBox and then use the move ROMs tool to only move the files that LaunchBox is still associated to, then delete those that remain in the older folder. That's actually what got me into this mess in the first place. I exported what I thought were the 2500 or so ROMs that I was using, and deleted the leftover ones, but when I moved the 2500 back, a whole bunch were missing. What I found was that multiple games in Launchbox were pointing to ZIPs that didn't exist, and so never got moved to the export folder. I think the version of a given game that you select as the default changes the path to the ROM - potentially to one that doesn't technically exist. For example, if I select the Japanese version of Rastan to be the default game, the path to the ROM changes from Games/Arcade/rastan.zip to Games/Acrade/rastsaga.zip, which doesn't exist in my ROM folder. Then, if I tell Launchbox to only export that game, I get an error message that the ROM doesn't exist. THat's likely why a bunch of games that I see in Launchbox never had their ROMs exported. Quote Link to comment Share on other sites More sharing options...
neil9000 Posted May 10, 2023 Share Posted May 10, 2023 2 minutes ago, UvulaBob said: That's actually what got me into this mess in the first place. I exported what I thought were the 2500 or so ROMs that I was using, and deleted the leftover ones, but when I moved the 2500 back, a whole bunch were missing. What I found was that multiple games in Launchbox were pointing to ZIPs that didn't exist, and so never got moved to the export folder. I think the version of a given game that you select as the default changes the path to the ROM - potentially to one that doesn't technically exist. For example, if I select the Japanese version of Rastan to be the default game, the path to the ROM changes from Games/Arcade/rastan.zip to Games/Acrade/rastsaga.zip, which doesn't exist in my ROM folder. Then, if I tell Launchbox to only export that game, I get an error message that the ROM doesn't exist. THat's likely why a bunch of games that I see in Launchbox never had their ROMs exported. Yes, this is exactly what would happen if you have a merged romset, if you look at the image i posted above all versions of a game are in one zip file, and that will not be named like the specific version that you want, so wont be found. A Non-Merged romset each game varient/region is its own zip file with a fully working game inside, allowing these to be exported out and still work. Quote Link to comment Share on other sites More sharing options...
C-Beats Posted May 10, 2023 Share Posted May 10, 2023 Yeah, like I was saying before. Using any of these tools with a merged or split set completely breaks your romset and leaves a broken mess in it's wake. It's why many of the tools have checks in them to not even try to work if done via MAME. We just haven't put anything in that tool since when used correctly allows users to really reduce space on their hard drive. Quote Link to comment Share on other sites More sharing options...
neil9000 Posted May 10, 2023 Share Posted May 10, 2023 17 minutes ago, C-Beats said: Yeah, like I was saying before. Using any of these tools with a merged or split set completely breaks your romset and leaves a broken mess in it's wake. It's why many of the tools have checks in them to not even try to work if done via MAME. We just haven't put anything in that tool since when used correctly allows users to really reduce space on their hard drive. Yeah its a real handy tool, i think the best thing that you could really do is read the rom folder name like you do at import to identify the rom version, and if it comes back with split or merged the export tool cant be run or at least has a very frank disclaimer that proceeding will break the romset. Quote Link to comment Share on other sites More sharing options...
C-Beats Posted May 10, 2023 Share Posted May 10, 2023 Yeah I do wish MAME had functionality in it that it could scan a directory and tell if you it had a full merged, non-merged, or split set in it natively that we could then use to determine which tools would break the set up. Quote Link to comment Share on other sites More sharing options...
zepsalpha Posted September 11, 2023 Share Posted September 11, 2023 Hi, if I may follow up on this topic (I hope this isnt considered thread jacking). I also tried to Copy/Export Roms but get the "No Rom files were found to copy to the destination folder" error. There is surprisingly very few google search results on this error. From what I gather, its because 1, Im probably using a merged Romset. 2. LB doesnt actually know where the actual files are, it tells MAME what game it needs to launch. Did I understand this correctly? I was hoping to grab some selected games and transfer them on an sd card to put on a Retro Handheld. Ive already tried to do this manually and most of them runs ok (I'd say 70%) while 30% dont work (probably looking for a parent rom). Im ok with these odds, I just want an easy way to copy selected games vs manually doing them one by one (by checking the filename associated with each game and searching for it) Cant LB add this one simple feature in future releases? (say with a "Warning!" Not all copied mame roms might work. Continue?" or something like that) Quote Link to comment Share on other sites More sharing options...
neil9000 Posted September 11, 2023 Share Posted September 11, 2023 1 hour ago, zepsalpha said: 2. LB doesnt actually know where the actual files are, it tells MAME what game it needs to launch. Did I understand this correctly? Correct. Depending on the set version you have the files a actual game needs could be in several other different zip files (mame itself knows in which zips a specific file would be, but a rom is more than one file) Launchbox doesnt have tis info, not is it a rom rebuilder, which is what would be needed to "fix" these games on export. The only true fix is to simply use a Non-Merged romset, while initially a larger file size than merged or split, each zip file there is a single working game (hence the file size difference, many duplicated files across the entire set that are only in one zip in the other two set types). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.