Jump to content
LaunchBox Community Forums

Does Launchbox treat MAME ROMs differently?


UvulaBob

Recommended Posts

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. 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

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. 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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?

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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. 

 

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 4 months later...

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)

 

 

 

Link to comment
Share on other sites

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).

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...