Aller au contenu

Upgrade Mame version with minimal pain for updating roms


Messages recommandés

Posté(e) (modifié)

Updating mame is a major pain because the developers keep changing random stuff in roms and there is no clear list of what changed or which roms need to be fixed. Sometimes you upgrade and think everything will be ok but randomly discover games not working anymore.

 

I tried many different tools to scan roms but never managed to do the simple job I need: just scan the roms I have and find which ones need updates. So I made a small tool for that:  scanroms_v2.1.7z

 

For example, I updated today to 278 and ran the tool and it gave me the comprehensive list of roms that need to be updated below. When roms are missing, sometimes you already have them in another archive so check the bottom of the log. If not you need to find a good source for the new roms. Usually I like to google for "mame 278 rom sooner", but if you have any better recommendation please share with everyone.

 

C:\Mame278>scanroms.exe
Found C:\Mame278\mame.exe
Found C:\Mame278\7z.exe
Repacking of roms disabled
[aligator] mu.c5_3a65_pal16r8.bin missing
[brkthru] 1.f9 missing
[brkthru] 2.f11 missing
[brkthru] 4.f14 missing
[brkthru] good CRC but wrong name. brkthru.3 instead of 3.f12
[brkthru] good CRC but wrong name. brkthru.12 instead of 12.bin
[brkthru] good CRC but wrong name. brkthru.7 instead of 7.b6
[brkthru] good CRC but wrong name. brkthru.6 instead of 6.b4
[brkthru] good CRC but wrong name. brkthru.8 instead of 8.b7
[brkthru] good CRC but wrong name. brkthru.9 instead of 9.bin
[brkthru] good CRC but wrong name. brkthru.10 instead of 10.bin
[brkthru] good CRC but wrong name. brkthru.11 instead of 11.bin
[brkthru] good CRC but wrong name. brkthru.13 instead of 13.bin
[brkthru] good CRC but wrong name. brkthru.14 instead of 14.bin
[brkthru] good CRC but wrong name. brkthru.5 instead of 5.d6
[brkthru] brkthru.1 not needed
[brkthru] brkthru.2 not needed
[brkthru] brkthru.4 not needed
[radikalb] m.1c_2af3_pal16l8.bin missing
[radikalb] m.6a_3f91_pal16l8.bin missing
[radikalb] m.a_4426_pal16l8.bin missing
[raiden2] good CRC but wrong name. raiden_2_seibu_bg-1.u0714 instead of raiden_2_seibu_bg-1.u075
[raiden2] good CRC but wrong name. raiden_2_seibu_bg-2.u075 instead of raiden_2_seibu_bg-2.u0714
[snowboar] mu.sb.3972_pal16l8.bin missing
[surfplnt] a_m_b2_4914_pal16l8.bin missing
[surfplnt] c_deco_-i_pal16l8.bin missing
[surfplnt] c_m.b1_4936_pal16l8.bin missing
[thoop2] 3.c23 missing
[thoop2] 2.c22 missing
[thoop2] th2c22.c22 not needed
[thoop2] th2c23.c23 not needed
[touchgo] tg_873d_56_5-2.ic56 missing
[touchgo] tg_cee8_57_5-2.ic57 missing
[touchgo] c5_3a65_pal16r8.bin missing
[touchgo] mu.6a_5083_gal18v6qs.bin missing
[touchgo] mu.8_777d_gal20v8.bin missing
[touchgo] mu_8_668b_pal20l8.bin missing
[touchgo] tg_56.ic56 not needed
[touchgo] tg_57.ic57 not needed
[wrally] invers_taula_c23_coche_8-11-93_e.bin missing
[wrally] invers_taula_c22_coche_8-11-93_o.bin missing
[wrally] worldr16.c22 not needed
[wrally] worldr17.c23 not needed
[wrally2] dallas_usa_wr-2_2_64_usa_e47e_31-7.bin missing
[wrally2] dallas_usa_wr-2_1_63_usa_c584_31-7.bin missing
[wrally2] wr2.16d missing
[wrally2] wr2.17d missing
[wrally2] wr2.18d missing
[wrally2] wr2.19d missing
[wrally2] wr2.09d missing
[wrally2] wr2.10d missing
[wrally2] wr2.11d missing
[wrally2] wr2.12d missing
[wrally2] wr2.01d missing
[wrally2] wr2.02d missing
[wrally2] wr2.20d missing
[wrally2] wr2.13d missing
[wrally2] wr2.21d missing
[wrally2] wr2.14d missing
[wrally2] 7a_5461_gal16v8.bin missing
[wrally2] mu.7a_436f_pal16l8.bin missing
[wrally2] mu8_668b_palf20l8.bin missing
[wrally2] wr2_63.ic63 not needed
[wrally2] wr2_64.ic64 not needed
[wrally2] wr2_ic68.ic68 not needed
[wrally2] wr2_ic69.ic69 not needed
[wrally2] wr2_ic70.ic70 not needed
[aligator] missing mu.c5_3a65_pal16r8.bin can be found in thoop2.7z\pal16r8-1.b16
[touchgo] missing c5_3a65_pal16r8.bin can be found in thoop2.7z\pal16r8-1.b16

 

 

Modifié par ducon2016
Posté(e)

Thanks for this - always a source of confusion on what to update. I'm using .278 no nag version and getting this when I run scanroms.exe or scanroms.exe -h:

"Could not find platform independent libraries <prefix>"

 

your files are run from command line and are next to the mame.exe. Roms are kept in \roms folder within mame .278.

Posté(e) (modifié)
6 hours ago, cander19 said:

Thanks for this - always a source of confusion on what to update. I'm using .278 no nag version and getting this when I run scanroms.exe or scanroms.exe -h:

"Could not find platform independent libraries <prefix>"

 

your files are run from command line and are next to the mame.exe. Roms are kept in \roms folder within mame .278.

 

Ah it seems I had forgotten to put files in the archive. Can you try again and let me know if it works or not? There should be a ScanromsPython folder that also need to be there. If it does not work, I must have made another mistake. First time deploying a python app, so learning.

1. Unpack all files and folder in the root folder of mame, next to mame.exe

2. Run ScanAllRoms.bat

Modifié par ducon2016
Posté(e) (modifié)

Cool. I added for the missing rom the display of CRC, then you can search http://www.arcaderestoration.com/RomIdentification.aspx for the missing rom CRC. Sometimes you need to look in previous versions of mame to find where the existing rom was taken from: http://github.com/mamedev/mame/releases/download/mame0277/mame0277lx.zip  

 

[wrally2] wr2.01d 753a138d missing

 

If you look now in the CRC database or in mame0278.xml it says it is part of wrally2, so not helping. But if you look at mame0277.xml you find that it is part of the old wrally2a. So you can download the old wrally2a and extract the rom from there.

 

	<machine name="wrally2a" sourcefile="gaelco/gaelco2.cpp" cloneof="wrally2" romof="wrally2">
		<description>World Rally 2: Twin Racing (EPROM version)</description>
		<year>1995</year>
		<manufacturer>Gaelco</manufacturer>
		<rom name="wr2.01d" size="524288" crc="753a138d" sha1="b05348af6d25e95208fc39007eb2082b759384e8" region="gfx" offset="400000"/>

 

I have not found a simple way to do that from a single mame version, I might make the tool download all databases but if you skipped few installs it might make things more complicated.

Modifié par ducon2016
Posté(e)
21 hours ago, ducon2016 said:

For example, I updated today to 278 and ran the tool and it gave me the comprehensive list of roms that need to be updated below. When roms are missing, sometimes you already have them in another archive so check the bottom of the log. If not you need to find a good source for the new roms. Usually I like to google for "mame 278 rom sooner", but if you have any better recommendation please share with everyone.


1. Download update packs and dat's from pleasuredome
2. Install romvault and run once
3. Put update pack into "ToSort" folder, extracted dat into "DatRoot" of RomVault
4. Run RomVault and:
 a) Click on Update DATs
 b) Right Click on Mame set that is now showing, and select "Set Dir Mappings" to set your original Mame roms folder directory 
 c) Click on "Scan ROMs"
 d) Click on "Find Fixes"
 e) Click on "Fix ROMs"

With that you will have your mame set updated to the newest version

Posté(e) (modifié)

Thanks for the alternative option, does not work for me but good for others to try. I tried again Romvault but it is really NOT great for my use case. Example I put just 3 roms with issues in ToSort. Updated the dat with the fresh mame288.xml, scanned roms. Already all hell break loose here, for 3 roms, it said I had 18 roms! Then I clicked fix, it created 31 archives!!! Complete disaster

 

Again thanks for sharing, but this is exactly why I created my tool. There is nothing that does a simple scan of your roms and does not create a bigger mess.
 

Modifié par ducon2016
Posté(e)

Hi there, when I run Run ScanAllRoms.bat it asks me o press any key to continue and after I do press any key it closes, I would like to run this app to know which roms need to be updated.

Posté(e)
3 hours ago, MyGames said:

Hi there, when I run Run ScanAllRoms.bat it asks me o press any key to continue and after I do press any key it closes, I would like to run this app to know which roms need to be updated.

 

Did you put all the files and folders from ScanAllRoms.bat into the mame folder? Please send a screenshot of the result

Posté(e)
1 hour ago, MyGames said:

All the files in the zip were extracted in the directory where the mame.exe is

scanroms.jpg

That looks correct, sorry I mean can you send me a screenshot of the window when you double click ScanAllRoms

Posté(e)
11 minutes ago, MyGames said:

Here it is. I did a test, the ScanAllRoms.bat runs correctly when run from C drive, the error I am getting is when running it from a drive that is not C

scanroms1.JPG

 

Ah you need chdman in the mame folder. I will add a test to make sure it is there.

Posté(e)

Yep, chdman for some reason got trashed, now downloaded mame and copied the chdman where my MAME with all files and roms is located but still didn't work, it gave another error, here it is. This is with chdman already next to mame.exe. Remember, this is with all my MAME not in C.

scanroms.JPG

Posté(e) (modifié)
31 minutes ago, MyGames said:

Yep, chdman for some reason got trashed, now downloaded mame and copied the chdman where my MAME with all files and roms is located but still didn't work, it gave another error, here it is. This is with chdman already next to mame.exe. Remember, this is with all my MAME not in C.

scanroms.JPG

 

Sorry not sure what is going on. I tried on F: and Y: local and network drives and everything worked without issue. If you are on a network drive, make sure it is mapped to a drive letter.

Modifié par ducon2016
Posté(e)
5 minutes ago, ducon2016 said:

 

Sorry not sure what is going on. I tried on F: and Y: local and network drives and everything worked without issue. If you are on a network drive, make sure it is mapped to a drive letter.

It's not a network drive, it's a local drive, so what is the issue and how to fix it?

Posté(e)

Got it! What was causing the issue was the hyperscan folder inside the roms folder, that where it is meant to live right in the same way chd files are each in their folders inside the roms folder, seems like scansroms refuses to run when it finds this and other folders which don't containd chd files.

Posté(e)
48 minutes ago, MyGames said:

Got it! What was causing the issue was the hyperscan folder inside the roms folder, that where it is meant to live right in the same way chd files are each in their folders inside the roms folder, seems like scansroms refuses to run when it finds this and other folders which don't containd chd files.

Thanks for reporting the bug, will check it out and fix it.

Posté(e) (modifié)

V2 is available: scanroms_v2.1.7z

 

Can now search the full mame romset and previous version of mame romset for missing roms if you run ScanExistingRomsAndOthers.bat

For just the local files like before: ScanExistingRoms.bat

 

C:\Roms\test>scanroms.exe -deepSearch
Found C:\Roms\test\mame.exe version 0.278
Found C:\Roms\test\chdman.exe
Found C:\Roms\test\7z.exe
Repacking of roms disabled
Search in entire romset and previous romset enabled
Using cached mame0277lx.zip
Using cached mame0277.xml
Using cached mame0278.xml
[aligator] mu.6_4769_pal16l8.bin 00aedab5 missing
[aligator] mu.6_585b_palce16v8.bin 6ba240e3 missing
[aligator] mu.c5_3a65_pal16r8.bin 27b1ca8b missing
[thoop2] 3.c23 6cd4a8dc missing
[thoop2] 2.c22 59ba9b43 missing
[thoop2] th2c22.c22 not needed
[thoop2] th2c23.c23 not needed
[touchgo] tg_873d_56_5-2.ic56 6d0f5c65 missing
[touchgo] tg_cee8_57_5-2.ic57 845787b5 missing
[touchgo] c5_3a65_pal16r8.bin 27b1ca8b missing
[touchgo] mu.6a_5083_gal18v6qs.bin c6758737 missing
[touchgo] mu.8_777d_gal20v8.bin 01cdc724 missing
[touchgo] mu_8_668b_pal20l8.bin 4145d424 missing
[touchgo] tg_56.ic56 not needed
[touchgo] tg_57.ic57 not needed
[wrally2] dallas_usa_wr-2_2_64_usa_e47e_31-7.bin 5e6a364a missing
[wrally2] dallas_usa_wr-2_1_63_usa_c584_31-7.bin 5c106494 missing
[wrally2] wr2.16d ad26086b missing
[wrally2] wr2.17d c1ec0745 missing
[wrally2] wr2.18d e3617814 missing
[wrally2] wr2.19d 2dae988c missing
[wrally2] wr2.09d 372d70c8 missing
[wrally2] wr2.10d 5db67eb3 missing
[wrally2] wr2.11d ae66b97c missing
[wrally2] wr2.12d 6dbdaa95 missing
[wrally2] wr2.01d 753a138d missing
[wrally2] wr2.02d 9c2a723c missing
[wrally2] wr2.20d 4f7ade84 missing
[wrally2] wr2.13d a4cd32f8 missing
[wrally2] wr2.21d 899b0583 missing
[wrally2] wr2.14d 6eb781d5 missing
[wrally2] 7a_5461_gal16v8.bin a9bbdb7e missing
[wrally2] mu.7a_436f_pal16l8.bin 632adb2f missing
[wrally2] mu8_668b_palf20l8.bin 4145d424 missing
[wrally2] wr2_63.ic63 not needed
[wrally2] wr2_64.ic64 not needed
[wrally2] wr2_ic68.ic68 not needed
[wrally2] wr2_ic69.ic69 not needed
[wrally2] wr2_ic70.ic70 not needed
[aligator] missing mu.c5_3a65_pal16r8.bin can be found in thoop2.7z\pal16r8-1.b16
[touchgo] missing c5_3a65_pal16r8.bin can be found in thoop2.7z\pal16r8-1.b16
[thoop2] missing 3.c23 is in old thoop2a\3.c23. Google for "mdk.cab thoop2a" or "myrient thoop2a"
[thoop2] missing 2.c22 is in old thoop2a\2.c22. Google for "mdk.cab thoop2a" or "myrient thoop2a"
[touchgo] missing tg_873d_56_5-2.ic56 is in old touchgoe\tg56.ic63. Google for "mdk.cab touchgoe" or "myrient touchgoe"
[touchgo] missing tg_cee8_57_5-2.ic57 is in old touchgoe\tg57.ic64. Google for "mdk.cab touchgoe" or "myrient touchgoe"
[wrally2] missing wr2.16d is in old wrally2a\wr2.16d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.17d is in old wrally2a\wr2.17d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.18d is in old wrally2a\wr2.18d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.19d is in old wrally2a\wr2.19d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.09d is in old wrally2a\wr2.09d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.10d is in old wrally2a\wr2.10d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.11d is in old wrally2a\wr2.11d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.12d is in old wrally2a\wr2.12d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.01d is in old wrally2a\wr2.01d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.02d is in old wrally2a\wr2.02d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.20d is in old wrally2a\wr2.20d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.13d is in old wrally2a\wr2.13d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.21d is in old wrally2a\wr2.21d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[wrally2] missing wr2.14d is in old wrally2a\wr2.14d. Google for "mdk.cab wrally2a" or "myrient wrally2a"
[aligator] missing mu.6_4769_pal16l8.bin requires new maniacsq\mu.6_4769_pal16l8.bin. Google for "mame 278 sooner"
[aligator] missing mu.6_4769_pal16l8.bin requires new sltpcycl\mu.6_pal16l8.u12. Google for "mame 278 sooner"
[aligator] missing mu.6_4769_pal16l8.bin requires new sltpstep\mu.6_pal16l8.u12. Google for "mame 278 sooner"
[aligator] missing mu.6_585b_palce16v8.bin requires new maniacsq\mu.6_585b_palce16v8.bin. Google for "mame 278 sooner"
[touchgo] missing mu.6a_5083_gal18v6qs.bin new in 0.278. Google for "mame 278 sooner"
[touchgo] missing mu.8_777d_gal20v8.bin new in 0.278. Google for "mame 278 sooner"
[touchgo] missing mu_8_668b_pal20l8.bin new in 0.278. Google for "mame 278 sooner"
[wrally2] missing dallas_usa_wr-2_2_64_usa_e47e_31-7.bin new in 0.278. Google for "mame 278 sooner"
[wrally2] missing dallas_usa_wr-2_1_63_usa_c584_31-7.bin new in 0.278. Google for "mame 278 sooner"
[wrally2] missing 7a_5461_gal16v8.bin new in 0.278. Google for "mame 278 sooner"
[wrally2] missing mu.7a_436f_pal16l8.bin new in 0.278. Google for "mame 278 sooner"
[wrally2] missing mu8_668b_palf20l8.bin new in 0.278. Google for "mame 278 sooner"

 

Modifié par ducon2016
Posté(e) (modifié)

Hey there, seems like it still has issues/bugs, after I run both the old and new app, it keeps telling me that some files are missing even though I already update many roms after the first scan told me that some files were missing, here is an example in the screenshot with 3wondersu.zip I donwloaded it twice one from a .278 romset and the other from here https://www.winkawaks.org/roms/cps1/3wondersu-download.htm

That site even shows all the crc32 (and file names) the app says are missing.

I played 3 wonders before updating to the .278 romset and it played just fine regardless of the missing files or the fact that I haven't updated the rom for a while.

scanroms 3wondersu.JPG

Modifié par MyGames
Posté(e) (modifié)
1 hour ago, maabus19 said:

roms have to be in default mame om dir?

 

 

do you account for merge, split, or non merge sets or does it not matter?

 

 

yes roms have to be in the mame rom dir.

 

Right now I think it is looking at split, will implement merge/non-merge soon.

 

2 hours ago, MyGames said:

Hey there, seems like it still has issues/bugs, after I run both the old and new app, it keeps telling me that some files are missing even though I already update many roms after the first scan told me that some files were missing, here is an example in the screenshot with 3wondersu.zip I donwloaded it twice one from a .278 romset and the other from here https://www.winkawaks.org/roms/cps1/3wondersu-download.htm

That site even shows all the crc32 (and file names) the app says are missing.

I played 3 wonders before updating to the .278 romset and it played just fine regardless of the missing files or the fact that I haven't updated the rom for a while.

scanroms 3wondersu.JPG

 

I just tried the rom and link you gave winkawaks and it reported this:

 

[3wondersu] parent rom 3wonders missing

 

Then I added 3wonders and the scan had no error.

 

Scanning: 3wondersu

 

I did not have the error you mentioned.

 

Modifié par ducon2016
Posté(e)
8 hours ago, MyGames said:

Got it! What was causing the issue was the hyperscan folder inside the roms folder, that where it is meant to live right in the same way chd files are each in their folders inside the roms folder, seems like scansroms refuses to run when it finds this and other folders which don't containd chd files.

 

Found two issues with randomly named folders and unicode folders, should be fixed now. Thanks for reporting the bug. You should be fine with any folder in the roms folder now.

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • CrĂ©er...