A little help? Trying to use Logiqx's mamediff for something

All about datafiles.

Moderator: Wanderer

Crunchy Cheato

A little help? Trying to use Logiqx's mamediff for something

Post by Crunchy Cheato »

In the past, I've used Quattro Pro or Access to make my dats for my own use. However, because of the improvements to mamediff, I was hoping to use that. I am having problems, though (using the newest version, 2.4). I would like to do things like this, for example:

Remove current MAME ROMs from Barthax's Arcade All-in-One dat.
Remove all ROMs I have in some folder from EgoElf's arcade dats.

I have been playing with mamediff for a while, and if it can do it, I can't figure it out. What I'd like to do is remove all matching CRCs or MD5s or SHA1s from the AIO dat to have a much smaller version of the AIO dat that doesn't take so long to load.

I also often make my own dats of the ROMs I have in my various folders so that I can quickly detect any duplicates that I may have recently downloaded.

When I use the -d1 option, it shows me that all the zips have been deleted and they all been recreated. It doesn't seem to detect any "renamed" ROMs at all, even though the contents of one zip in one dat completely match the contents in another. Example: bm6thmix. In EgoElf's "Minor Emus" dat, it's something like "DJMAIN - bm6thmix," but in one of my folders, it's just "bm6thmix." So, I made my own dat of that folder where bm6thmix and others are stored, and used mamediff to compare to the EgoElf dat:

mamediff -d3 myfolder.dat minor.dat

But, in the resultant mamediff.dat, it lists DJMAIN - bm6thmix as a new ROM set. It doesn't seem to realize that it's just a changed name, even though the zip contents are identical.

I have also played with the -r option (not really thinking that's what I needed to do), and as expected, it doesn't change things.

And, I have played with the merge settings, too, just to see if that was the root of the problem, but no luck.

I like the "split-merged," etc. supplement dats that Logiqx provides with the, say, RAINE, or CPS-1, or whatever, dats, and I'd like to be able to do that with the Barthax and EgoElf dats (among others) to compare to dats generated from folders I have with ROMs in them.


Anybody got any advice? I think the answer's going to be: "mamediff can't do that; keep using Quattro Pro." It did seem a little crazy to me that mamediff could somehow compare all the CRCs in one dat to another and figure out what to do with them, and do it all so quickly. But, from the way the program's described, I had my hopes up.


I haven't really used ClrMAMEPro much (preferring the more hands-on approach of ROMCenter), but is it possible there's a function in there somewhere I could use? I remember something about a "deep search," but I think that was only for rebuilding, not for any dat building.

User avatar
Logiqx
Puzzle bobble
Puzzle bobble
Posts: 129
Joined: Sun Sep 30, 2001 10:50 am
Contact:

Post by Logiqx »

Sorry but its not intended for what you are trying to do. MAMEDiff has two purposes:

1) Tell you what has changed in a MAME release. This is a game level comparison and renames can be spotted because the comparison is intelligent (it actually does this with CRCs for the games themselves). The standard option (no switches), -v option, -s/-m/-n options are all game level comparisons. Originally comparisons was all that MAMEDiff was for, telling you what has changed in an intelligent manner and no data files generated.

2) Compare ZIP contents and create a changes/supplement data file so that games are fully playable in an emulator (the -dX options). -d1 was written first (aka. changes data files), -d3 was second (aka supplement data files), -d2 was third (somewhere between the two, required for supplements on supplements to work). Game renames are irrelevant here because if game is called 'pacman' in the original data file and called 'newpacman' in the second data file (say with a parent of 'puckman') then the newpacman must be listed in the changes/supplement data file for the game to work. For your purpose however, you don't want newpacman listed.

What you want is essentially a tool that removes games/roms from a dat if they are in another dat, regardless of names because emulator compatibility is not important for archiving. MAMEDiff is about tracking changes or making playable supplements, not minimising sizes of collections (as you would like).

I could probably knock together something that does what you need in an hour or so but I am working on other things in my spare time and don't actually need the tool myself. I'll add it to my todo/thinkabout list but it will be a fair way down seeing as I don't actually need it myself. ;)

Logiqx

Crunchy Cheato

Post by Crunchy Cheato »

That's about what I figured. Thanks for the explanation.

I'll just keep using Quattro Pro (or sometimes Access). I just set up tables and eliminate dupes using lookups (or joins in Access). I like the Barthax and EgoElf dats because they help identify random ROMs. I often download stuff and it gets put away with awkward names, and then I'm not sure exactly what's there when I finally get around to looking at them.

At least EgoElf excludes MAME from his, but Barthax's is just a giant (and does a good job of what it's designed for). But, to try to identify a couple of ROMs, if I haven't reduced the dats with Quattro Pro, I often find myself in WordPad searching for a CRC, or just giving up and loading the massive dat.

Anyway, thanks for the response!

And since I hadn't said it before, thanks for DatUtil! I love that tool. I use it for finding duplicate files all over the place: MP3s, e-books, you name it.

User avatar
Logiqx
Puzzle bobble
Puzzle bobble
Posts: 129
Joined: Sun Sep 30, 2001 10:50 am
Contact:

Post by Logiqx »

If you want to identify ROMs then you could always try using ZIPIdent too as that supports all formats of DatUtil and my other tools (RomCenter, CMPro, XML, etc). You've probably thought of that already though.

It's good to hear that you like DatUtil. :)

matt

I also need this feature

Post by matt »

I am also desperate for this feature that provides just the 'new' roms that
a datfile contains. I need to be able to efficiently determine what has
been added to the lastest Tosec releases. I don't want to rescan. Just
compare the dats for the relevent data. Also since a bunch of stuff
was left out of the latest releases, I need to figure out exactly what
without having to rescan.

User avatar
Logiqx
Puzzle bobble
Puzzle bobble
Posts: 129
Joined: Sun Sep 30, 2001 10:50 am
Contact:

Post by Logiqx »

That's what MAMEDiff does, the original message was about something quite different... comparing data files generated by very different people.

Comparison of different versions of tosec dats should work well using MAMEDiff.

Matt

Thanks for source

Post by Matt »

Logiqx, thank you for providing source code.

I was able to customize mamediff to get the functionality I wanted.

User avatar
Logiqx
Puzzle bobble
Puzzle bobble
Posts: 129
Joined: Sun Sep 30, 2001 10:50 am
Contact:

Post by Logiqx »

Cool. I'm glad you found it useful.

Post Reply