Jump to content
LaunchBox Community Forums
CriticalCid

How to update your MAME ROMset to a newer version with CLRmamepro

Recommended Posts

Tutorial: How to update your MAME ROMset to a newer version with CLRmamepro

Note #1: This tutorial will show you only how to update your ROMset. If you are completely new to MAME you will probably want to read the noob-friendly MAME guide from @lordmonkus first.

 

Note #2: This tutorial assumes that you already have a complete ROMset from a previous MAME version. If you don’t have a complete ROMset than I would suggest to just grab a complete set for the current MAME version and return to this tutorial if you want to update it in the future. I'm not covering SoftwareLists for the MESS side of MAME in this Tutorial, only the arcade games. Also I'm not an expert for MAME, I just know my way around the things I need from it. If you find any errors or wrong facts in my tutorial, please let me know! I’m always eager to learn more.

Why update the ROMs?: MAME is very sensitive about its ROM versions. You can get an older version of a ROMset to work with a newer MAME version but you should be aware that you can run in many errors and missing files. In the best case your ROMset version matches exactly the MAME version you are using. The MAME developers are updating MAME every last Wednesday of the month, so if you download a complete ROMset today it won’t work perfectly fine with the newest MAME version by the end of next month. If all the games you want to play are all there and working perfectly fine you probably won’t care about new updates, but if you want to get all the new emulation improvements and newly added ROMs you should keep track of them. Now is a complete ROMset with all CHDs roughly 400GB in size, so you probably don’t want to download that amount of data every month. It’s faster to just download all new added ROMs, CHDs and Samples and update the ROMset you already have. And with the program CLRmamero you can do this. If you want more information about why MAME is so sensitive about the ROM versions and mandatory file names I highly recommend this Reddit thread:

https://www.reddit.com/r/MAME/comments/3gh78n/probably_a_silly_question_but_why_are_ROM_packs/

 

Step 1: Groundwork

1. First of all you should know what ROMset version you have. I don’t know if there’s a comfortable way to find out what version you have. Normally your ROMset version should be the same as the MAME version you are currently using but I can’t guarantee that this is the case for you. So if you have absolutely no idea what ROM version you have I would suggest what I wrote at the beginning of this tutorial. Download a complete set of the current version and write down what version that is, so you can update that set in the future.

2. Download all ROM update packs beginning from the version you have until to the current version. With all I mean all and not just the latest. For example if your ROMset is on version 0.168 and you want to update to version 0.171 you will need the update packs: 0.168 to 0.169, 0.169 to .170 and 0.170 to 0.171!

3. Download CLRmamepro at http://mamedev.emulab.it/clrmamepro/ and install/extract it. You will also need to install/update to a version of MAME which matches the version you want to update your ROMset to. In this tutorial I show you how I update my 0.170 ROMset to version 0.171. I use for that MAMEUIFX64 0.171.

4. Optional: If you use a branch of MAME which supports some extra games (like MAMEUIFX) you would probably want these games too. Normally they are not included in an official complete MAME ROMset so you have to download them separately. Use Google to find out if your MAME version supports additional games and then download them. If you use MAMEUIFX like myself you can legally get the additional games in their official forum: http://mame32fx.altervista.org/forum/viewtopic.php?t=4 Just download all ROMs and Samples and keep in mind to create separate folders for ROMs and Samples.

 

Step 2: Setting up the profile and paths

5. Open the “cmpro64.exe” and you will be greeted with a messagebox. Click okay and you will automatically be in the profiler menu.

6. Here you have different options to include a database for Clrmamepro to work with. The easiest and in my opinion the best way is to use the database which comes directly with MAME itself. So click on the create button and a new window will open. As filename search for the .exe file of your MAME version. As description I recommend you name it after the MAME branch and version you are using. In my case I name it MAMEUIFX64 0.171. Keep MAME as the emulator. Click on “Create Profile” and a new window opens in which can organize your profiles. For now just click on OK. 1-2.jpg

7. Now your newly created profile should show up in the profilelist. Double-click on your new profile.

2-1.jpg

8. Now Clrmamepro wants to extract the database from your MAME .exe file. Click on OK. After a short scan it may ask you if you want to import SoftwareLists. If you don’t use MESS within MAME you won’t need that. I don’t use MESS or want to update a MESS romset so I say “NO” to the SoftwareLists. Now some error messages are popping up. That’s totally normal. Just confirm every message with “OK TO ALL”. 3-1.jpg

9. Now you’re in the main menu of CLRmamepro. At first we have to set up our rom paths. Click on "Settings" for that.

4-1.jpg

10. In the left upper corner you can select for what kind of files you want to set up the paths. We want to add our ROM-Paths so we select “ROM-Paths”. You can either click on “Add” to add your paths or just drag-and-drop them into the window. So add the path to your current romset you want to update. (NOT the paths which are containing your updates!)

5-1.jpg

11. Every file CLRmamepro finds within the ROM- and Sample-Paths which don’t fit to the current MAME version will automatically be moved into the Backup folder. The standard setting for this is a folder called “backup” within CLRmamepro folder. If your CLRmamepro installation is on the same drive as your MAME romset than you can leave it as it is. If CLRmamepro and your ROMset are on different drives I highly recommend changing the backup folder path into an empty folder which sits on the same drive as your ROMs. It will highly increase the speed. Leave the rest as it is.

12. Change the path type to “Add-Paths”. Here you need to add every path you want the program to look for updates or new ROMs you want to add. If you have more than one update pack you can add all update packs at once in order to update your ROMset to the current version. No need to repeat this entire updating process for every single update pack.

IMPORTANT: You have to add the backup path too! In my case I want to update from 0.170 to 0.171 and add the extra games for MAMEUIFX.

6-1.jpg

13. Optional: If you want to scan/fix/update your Sample files too, choose “Sample-Paths” and add the folder for it as well. A small explanation what sample files are (thanks Google): Samples go in a folder called 'samples' in your main Mame directory. They are used in conjunction with games that either doesn't have emulated sound or used external sound samples via another device (like a Tape). Mame will automatically use the correct ones with the game if they are present in the samples folder.

7-1.jpg

14. Close the window. All settings are being saved automatically.

 

Step 3: The Scanner

15. After we have set up all paths we want that CLRmamepro scans our current romset and fix/remove every outdated ROM, CHD and Sample file. For that we click on "Scanner".

16. The “You want to scan” section is self-explanatory. In the “You prefer” section you have to select the option which matches to your ROMset. So if you have a split set select “Split Sets”, etc. If you don’t know what kind of set you have just go with “Split Sets”.

17. “Prompts” you can leave it as it is.

18. In the check/fix section we want to check and fix everything. Click on “All” and every checkbox should be checked now.

19. Ignore the “Advanced” and “LogFile” button and click on “Systems”. A new window opens up. Here click first on “All” and then on “Auto-Assign”. It will automatically set the paths for all systems into the ROM-Path you chose earlier. At the end of this tutorial I will say something more to this but for now just close the window.

8-1.jpg

20. Click on the “Hash & CHD” button. In the new window check both options at the bottom “Run Analysis” and “Fix file (If Possible)". These options will decrease the scanning speed but if you have corrupted ROM files it will try to repair them automatically. Leave the rest at is and close the window.

9-1.jpg

21. Ignore “Statistics”. Now we have configured the scanner and it should hopefully look like this:

10-1.jpg

22. Click on “New Scan” and wait. The scanner will tell you if it finds something which needs to be fixed. Confirm every message with “Yes To All”. In the “Scan Results” window you can see exactly what is currently wrong with your romset. You don’t have to worry about that.

23. When the scan is finished a window pops up that’s giving you information about the current status of your ROMset. Click on “OK” and close the scanner. 11-1.jpg

 

Step 4: The Rebuilder

24. Our ROMset is cleaned and fixed now. At next we have to update it to the new version. For that click in “Rebuilder”.

25. Check the box “Use Add-Paths” and CLRmamepro will use all the paths for the updates that we already set up.

26. At "destination" you have to check the box “Use System Default Paths”.

27. In the Merge option you can choose how you want to have your ROMset to be constructed. For the best compatibility with LaunchBox I highly recommend a split or non-merged set! Here are the differences between the different set options:

Non-Merged: Each set has ALL files it needs. This is normally a waste of disk space because even clone sets have the parentsets included.

Split: Parent sets only have the parent files and a clone sets consists of the clone files only.

Merged Sets: Full merged sets are parentsets only, which also include all clone files. So you will have every version of the game in just on file. I don’t want to waste disc space so I go with a split set in this tutorial.

IMPORTANT: If you change the way of how your ROMset is currently constructed prepare for long waiting times because your whole set will be extracted and completely new rebuild.

 

28. At “Compress Files” you have to choose which file format you want for your ROMS. I prefer .7z because it saves more space on the hard drive as .zip.

IMPORTANT #1: If you change the file format to a different format as your ROMs are already zipped it will take very long to rebuild your ROMset, because all your ROMs will be extracted and compressed again. So if you have all your ROMs in .zip files and you want it to change to .7z prepare for a long waiting time until everything is done.

IMPORTANT #2: If you want to use .7z you will have to need 7-Zip installed on your PC. If you want to use .rar you will have to need WinRAR installed on your PC.

 

29. Check “Recompress Files”, “Show Statistics” and “Remove Matched Sourcefiles”.

30. Ignore “Systems” and “Advanced” and click on “Rebuild”.

12-2.jpg

31. Optional: If you get an error relating to a .7z file it helps to copy the “7z.exe” and “7z.dll” from your 7-Zip folder into your “CLRmamepro” folder.

32. Now the rebuilding starts. Depending on your ROMset and your options it could take quite a while. When the rebuilding is finished you get a status report. 13-1.jpg

33. Click on ok and close the rebuilder. Now we are almost finished.

34. If you want to update your CHDs now is the time to do this. But be aware that CHDs have their own update packs and you’ll have to download them separately. To update them just move the folders which are containing the CHD files from your CHD update folders into your ROM folder. You have to do that manually because the rebuilder of CLRmamepro doesn’t copy any new CHDs into your ROM folder. Only the scanner renames/removes old ones (if you have CHDs checked in the options). I also would highly suggest you to do that in order of the versions. For example if you want to update from 0.171 to 0.173 first move the updated CHDs from the 0.171 to 0.172 pack, than the ones from 0.72 to 01.73 etc. If Windows asks you if you want to integrate the files in the already existing folders confirm that with "Yes". BUT if it asks you at any point if you want to overwrite old files I would suggest you to decline that and do another scan so that the scanner of CLRmamepro can fix the CHD names from the older update packs. To speed up the scan you can uncheck "ROMs" and "Samples" in the scanner options first before you start the scan. After the finished scan you just have to move the remaining CHDs from the update pack which wanted to overwrite old CHD files into your ROM folder and then simply continue with the other update packs. Repeat that if Windows asks you again if you want to overwrite some files.

35. Do the same with your Sample files if you want to add or update them. Just keep in my mind to move them in your samples and not into your ROM folder.

36. Go back to the “Scanner” and click on “New Scan”. If you have unchecked “ROMs” and “Samples” in order to update your CHDs check those two again before you start the final scan.

37. If everything worked the new scan result screen should look like this:

14-1.jpg

I only miss a sample file for one game which I couldn’t track down yet. Everything else is complete and now up to date.

38. Now you can delete all your update folders.

 

Bonus Step: Split your ROMset in to different systems If you don’t want every ROM in one big single folder and instead separate folders for separate arcade systems you can split them with CLRmamepro too. For example if you like to have the NeoGeo ROMs separated because you want them as a separate platform within LaunchBox.

NOTE: If you are using the MAME Lightspeed Importer by @Antropus to import your MAME games into LaunchBox you won't need to do this and you should keep all ROMs in a single folder. Go back to the “Scanner” and click on “Systems”. Choose the System you want to be separated from your other ROMs and make a double-click on the path. Choose or create an empty folder in which you want to move the ROMs for that system and click “OK”. Now click on “Move Sets” and the program will automatically move all ROMs into the folders you chose

. 15-1.jpg

NOTE: If you want to scan your ROMs again a message will show up saying that the new paths for your systems aren’t ROM-paths. Click on yes to add them automatically to your ROM-Paths. The end.

 

I hope this tutorial was understandable and useful for some of you. If you have questions feel free to ask.

  • Like 10

Share this post


Link to post
Share on other sites
So much love and care to put together the guide step by step. Feels aimed for people that know nothing about the difficult part of MAME and just know how to play games.

Share this post


Link to post
Share on other sites
Thank you so much for this I am going to try and update my MAME 161 to 173. I have downloaded every update pack in between (161 to 162, 162 to 163, etc..) At step 12 can I select each update pack folder and do the entire update in 1 process or do I need to repeat this entire thing with every update pack? Thank you again!

Share this post


Link to post
Share on other sites
You can add all update packs at once. No need to repeat this entire process for every single update pack :)

Share this post


Link to post
Share on other sites
Thank you. Last question. Do the update packs also update the CHDs or do I need to get different update packs for those? Can I update my Roms without updating my CHDs or without a complete CHD set? Thank you again

Share this post


Link to post
Share on other sites
Like Brad said they have their own update packs and you can update the ROMs without the updated CHDs or a complete CHD set. For the latter be aware that the scanner will of course tell you that you’re missing some CHDs and sets. I also cover CHDs on Step 34. If you want to update the CHDs you can just move all the CHDs from your CHD update packs after you already scanned and rebuild your entire romset. That's because the rebuilder of CLRmame doesn’t copy any new CHDs into your romfolder. Only the scanner renames/removes old ones (if you have CHDs checked in the options). I would suggest you to do that in order of the versions. So first copy/move the updated CHDs for 0.162, than the ones from 0.163 etc. If it asks you at any point if you want to overwrite old files I would suggest you to decline that and do another scan so CLRmame can fix the CHD names from the older update packs. After that you just move the remaining CHDs from the update pack which wanted to overwrite old CHD files and than simply continue with the other update packs. If you've finished updating the CHDs I would suggest to do one last final scan. Btw. thanks for pointing that out. I guess I will add these information’s to the tutorial as well any time soon. EDIT: Just updated Step 12, 34 and 36 with some new information's :)

Share this post


Link to post
Share on other sites
Thank you. I'm still having a little trouble with CHDs because I can't find an update pack to save my life. I can't even a torrent or full CHD pack for .173. So basically I now have a fully updated from set at .173 (thanks to your tutorial) but an outdated CHD set at .161. If I could find update packs I would do that but since I cant seem to, is there a way to run a check to see which specific CHDs are outdated? This way I could just get them individually. Least amount of hassle would be a full .173 CHD set but as mentioned I can't find one. As always thank you for the advice

Share this post


Link to post
Share on other sites
When the scanner checks your ROMset you can see in an extra window what’s exactly missing. If you have a complete ROMset (and Samples if you check your samples as well) it will only show you the missing CHD files.

Share this post


Link to post
Share on other sites
This is a great tutorial, however I am thoroughly confused about certain things: I thought that the tutorial is aimed at scanning/fixing and then rebuilding existing Rom set 0.170 into a new rom set 0.171. I’m assuming therefore that before your start, you have an existing MAMEUIFX 0.170 installation, containing the 0.170 full romset in the /roms folder. So if your tutorial is aimed at updating to a new romset of 0.171, surely you must also have the MAMEUIFX 0.171 emulator installed as well, with its own folder structure and currently empty /roms folder? If so, shouldn’t your tutorial show how to “REBUILD” from the source of /MAMEUIFX-0.170/ roms folder into /MAMEUIFX-0.171/ roms folder?? Because from my understanding, your tutorial has scanned/fixed your existing 0.170 romset and then updated it using “REBUILDER” to 0.171 romset. But the updated roms are surely still present in your 0.170 /roms folder? Do you then simply copy the updated roms to your 0.171 /roms folder or what

Share this post


Link to post
Share on other sites
I don’t know if I understand your question correctly. I have my own folder structure so I don’t use the „roms“ folder within the MAMEUIFX installation. So for me it’s always the same folder in which I keep my MAME ROMs and I just point every new version of MAMUIFX to that folder. If you keep your ROMs within the MAEMUIFX folder than you can simply just move that folder into the new MAMUIFX installation. It shouldn’t matter if you do this before or after the update. Rebuilding the whole set into a new folder every time would just be an unnecessary waste of time in my opinion.

Share this post


Link to post
Share on other sites
Aha, that now makes sense to me. Wasn't aware that anyone would do it that way but I can see now the benefit of doing so. Thanks for the reply.

Share this post


Link to post
Share on other sites
After running the Rebuild for a few minutes I started getting these errors:  photo IMG_0003_zpsoogb85im.jpg If click YES Rebuild stops and if click NO looks like file might being skipped.

Share this post


Link to post
Share on other sites
If the error is related to a .7z file it might be a good idea to look at Step 31 of my tutorial. Have you done that and get the error anyway?

Share this post


Link to post
Share on other sites
CriticalCid said If the error is related to a .7z file it might be a good idea to look at Step 31 of my tutorial. Have you done that and get the error anyway?
I did it. I got a lot and I mean a lot of these errors. However after I think 7 hrs I think I have a complete set. MAMEUIFX Shows Available games at 10560 of 10560. I guess its right.

Share this post


Link to post
Share on other sites
Okay, that’s odd. I got the same error a few times myself but it always vanished after I copied the 7z.exe and 7z.dll into the CLRmame folder.

Share this post


Link to post
Share on other sites
So all my ROMs are .zip. When I try to change to .7z looks like I end up with both zip and 7z of same file. Also some of the .zip aren't changing to 7z. Not sure what doing wrong. I have full set of 174 with CHDs and trying to updated to 175 and then 176.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×