MAME Content Manager 2.0

Contents

Overview
How MCM Works
MCM Assumptions & Limitations
Using MCM Step by Step
Upgrades & Bug Reports
Credit & Thanks
Version History

Software License

Overview

MCM allows you to rename or delete specific categories of MAME data files. It can operate on ROMs, Snapshots, Flyers, Title Snaps, Cabinet Pictures, and Marquees files.  Categories of games that it can hide include Adult, Quiz, Mahjong, Puzzle, Fighter, Shooter, and many others, depending on the INI file you use with it. 

MCM was created because there are a number of Adult oriented games in MAME.  If you have children that play games in MAME, you probably don't want them playing games with Adult content.  If you run a front-end for MAME, you might be familiar with Screensaver options that will cycle through game snapshots.  What a surprise it may be if one of those snapshots for an adult-themed game pops up at the wrong time!

Additionally, some categories of games may not appeal to you.  I, for one, don't like Mahjong games.  I wanted to be able to delete all Mahjong games from my MAME machine to save disk space.  MCM allows you to pick and choose which categories of MAME games you keep or get rid of.

How MCM works

MCM requires an INI file that contains specific information about games.  MCM.INI and CATVER.INI are two such files, and are updated each time a new MAME release comes out.  MCM reads the INI file and pulls out all the Major categories so you can pick which you want to remove from MAME.  MCM also looks at your MAME directory structure, to determine whether you store your support files (snapshots, flyers, cabinet pics, etc) as individual .png files or all zipped up.  Whichever way you store them, MCM can handle renaming or deleting them.

After you choose which games to hide, and which support file types you want to MCM to work with, you click one button and everything is done.  It's pretty easy, and saves a ton of time over manually editing the contents of each MAME folder.

MCM Assumptions & Limitations

I know, no program should make assumptions about anything, but I don't have time to code for every possible situation under the sun, and if I did MCM would be much more difficult to use.  So here are the assumptions MCM makes, and the known limitations it has.  If something doesn't work for you, check to see if you're an exception to the rules listed here.

1. Your MAME ROMS and support files are in the default folders under your MAME folder.  If you've changed the location of your ROMs or other support files (and I don't know why you would) MCM will not be able to find them. At least, not as of version 2.0.  If you've made a separate folder for your NEOGEO ROMs for example, you'll need to run MCM twice, renaming your NEOGEO folder to ROMS the second time to operate on those files.

2. Your ROMS are in Zip Files, not in folders.  MAME allows you to keep your roms extracted in folders rather than in Zip files, but I don't think many people have the extra disk space to do that.  However, if you are one of the few, MCM will not be able to rename or delete your Roms.  Note that MCM doesn't care whether you're using split or merged roms sets.  See the next note for more info.

3. MCM doesn't check ROM parent/child relationships.  It assumes you use split Roms sets, but if you use merged that's OK too - there just won't be any child sets for MCM to operate on, but MCM doesn't care.  Note that if you hide a parent set, the child set won't work.  That should be obvious, but ya never know....

4. If you have a Zip file in one of your support folders, as well as .png files, MCM assumes you want to operate on the .Zip file.  You should have one or the other - extracted .png files or everything in one .zip file, but if you have both MCM chooses to use the Zip.  Moral of the story - pick one method of storing your support files and stick with it.

5. Files to be operated cannot be not read-only.  I know it seems like common sense, but if you copied your ROMs or support files from CD or DVD, they're probably flagged as read-only.  Remove the read only flag before you run MCM.

6. MAME folders are not going to change.  MCM uses the SNAP, CABINETS, FLYERS, TITLES, and MARQUEE folders.  These folder names hard-coded in, at least until I get a chance to make them user-editable.  If the MAME developers change these folder names, you'll need to re-name them temporarily before you run MCM.  This is something I intend to fix in a later version.

7. .Png files inside of a Zip archive must be named in lowercase letters.  The Zip handling library used in MCM is case sensitive, because it's used on multiple OS platforms.  If you've downloaded data files in .png format, they should be stored in all lowercase letters.  Thus, MCM looks for lowercase text.  This case-sensitive limitation only applies to files inside .Zip files.  If this is a problem, extract the files from the Zip into the appropriate data folder before running MCM, then Zip them up when you're done.  This is one of those "I could do something about it but it would take way more time and effort than I'm willing to throw at it" problems.  

Using MCM - Step by Step

MCM 2.0 was my first attempt at writing software in a "wizard" format.  I designed it this way in an attempt to make it easy to understand and use.  Hopefully I did my job correctly, and you won't need to refer to this section much. :)

Step 1 - Setup

This step is pretty simple.  MCM tries to find your MAME folder and INI file in a couple default places, but if it can't find them you'll need to enter them manually. Use the browse buttons if you need to search for the correct path names.  You cannot proceed until you've entered valid information.  If you don't have a copy of MCM.INI or CATVER.INI, there's a link to the home page you can click to get the latest version.  You can also click a link to bring up this documentation in your default browser.

Step 2 - Select data files to hide

There are six types of MAME data files that MCM recognizes.  You select which of them you want MCM to hide.  In most cases, hiding ROMS, Snaps, and Titles is sufficient, but if you wish to hide the other types, that's OK too.  You must select at least one type of file before you can continue.

Step 3 - Select method of hiding files

MCM will either rename files to hide them, or it will delete them permanently from your hard drive.  If you’ve previously hidden files by renaming them, you may restore the original names with the Restore option.  If you rename the files, they’re hidden from MAME but they can be brought back.  If you delete them, they’re gone for good.  Rename is the recommended option.  After you select your preferred operation, click Next.

Step 4 - Select games to hide

Now it's time to tell MCM which games you want to get rid of.  You can either select pre-determined categories of games using the drop down list, or you can type text into the search box.  Note that only game category information is searched for a match.  You cannot search for file name or game title, just the category.

Results of your search will appear in the "Search Results" list.  You may manually remove games from this list if you wish.  Once you're happy with the Search Results list, click the "Add" button to move those results into the Work list.  You can then perform another search, or click Next to continue.  There must be something in the Work list before you can proceed.

The Work list is the list that MCM actually uses to hide games.  The Search Results list is just for your convenience.  If you right-click either of these lists, you can manually remove games from them, clear them entirely, or create a batch file to be run manually on another PC.  Batch files are for older DOS machines that can't run MCM.  Note that you may need to use Notepad to search & replace text in the batch file to get it to do exactly what you want.  This is an advanced operation for those familiar with DOS batch files, so I won't go into more details here.

Step 5 - Complete the Process

Here's where you finally click the button to make things happen.  The screen will be constantly updated to let you know what files are being worked on.  Once everything is done, you'll see a "Changes complete" message box.  That's all there is to it!

Updates, Bug Reports, Etc.

You can get the latest version of MCM from http://www.mameworld.net/mcm

Please send any issues or bug reports to dgood@psea.org

 

Credit and Thanks

The following people deserve a standing ovation, but all they’re going to get is their name in this lousy HTML file:

KillerClown, for hosting the MCM web page on Mameworld.net
Triggerfin, for keeping CatVer.INI up to date and compatible with MCM.

Max Hutchinson – For the concept, creation, and maintenance of MCM.INI.  His dedication to making MCM a more useful program though the power of an INI file motivated me to update the software and release version 2.0 final.  Next time you meet him, buy him dinner.
 

Version History

Version 2.0 Final – December 15, 2004
 - No major changes since RC1, just documentation updates.

Version 2.0 RC1 – December 8, 2004
-
A few cosmetic changes to the program
- Added the Restore option to allow “undoing” of Rename operations.
- Small change to Category list box, entering * or ALL will select all roms.  This was needed for the restore option.
- Removed the rather useless progress bar and added realtime information on what files are being processed.

Version 2.0 Beta 3 – November 29, 2004
- Fixed an issue with the Marquee checkbox setting not being remembered correctly.
- Updated to the latest version of the Zip handling library to prevent crashing when files inside a zip file were renamed.

Version 2.0 Beta 2 – October 14, 2004
- Adjusted the user interface to allow for longer category names
- Other minor user interface changes to accommodate MCM.INI and any other INI files that may come along in the future
- Changed the category search routine so that all categories AND sub-categories in the INI file will now show up in the list.
- Fixed bug that prevented the category dropdown list from resetting if you went back and loaded a new catver.ini file
- Made “Mature” the default search word to assist people who may not have used MCM before. 
- Fixed an issue that could cause MCM to hang if Catver.Ini isn't formatted properly.
- Added support for Trigger Fin's version of CatVer.Ini from  www.mameworldnet/catlist
- Added a feature to remember the settings that were last used, so you don't have to manually set them each time you run MCM.  
  (Settings are stored in mcmprefs.ini if anyone really cares)
- Changed the Search page to simplify the entering of search criteria.  You may now type your own search text right into the 
  category pick list.  Results are updated immediately as you type.

Version 2.0 Beta 1a - February 24, 2003 - Figures, only an hour after I released this on the net I found a bug that prevented Catver.ini from loading in some cases.  Since this is an extremely important function of MCM, I had to release an immediate fix.  Hopefully the last beta didn't get too far. Ah well, that's why we call it BETA I guess...

Version 2.0 Beta 1 - February 24, 2003 - A long time in coming, MCM 2.0 is a complete re-write.  90% of the code is brand new, only a few procedures from the original 1.x version were used in this version.  This version is way better than 1.x, even though it is in Beta form right now. Support for Zipped data files, the ability to hide five types of data files other than ROMs, the interface, you name it, it's all new.

Version 1.1 - 2001 - this was the original MCM with a few bug fixes.  Version 1 was just a quick and dirty program designed to rename or delete ROMs.  It didn't handle support files, and had no support for Zip files.  It was limited to only 4 categories of Roms. News that people were still using it two years after I wrote it completely took me by surprise, and I decided I had to put out something better.

 

Software License

Program and documentation copyright 2003-2005 Douglas Good, All rights reserved.

MAME Content Manager is a copyrighted work, meaning that I hold the rights to the software.  However, the program is distributed as free software.  You may use it however you see fit, but you cannot sell it and you do not own it.  You may use it only on the condition that you're willing to accept all liability and hold me harmless for any damage the software may cause, either to your data, your computer, or you.  By using this software, you assume all liability for its use.  I will not be held responsible for anything this software does.  If you live in a jurisdiction that limits my rights to waive liability, then you may not use this software. Use this program at your own risk, or don't use it at all.