mamedev / mame

MAME
https://www.mamedev.org/
Other
7.76k stars 1.95k forks source link

Possibly incorrect `gba.xml` entries #11482

Open HTV04 opened 10 months ago

HTV04 commented 10 months ago

Hi; apologies for not using the bug report template. Since this isn't an issue with MAME itself, many of the fields didn't really apply.

Some time ago, I worked on a GBA save-type database generator using the entries from MAME's gba.xml file, alongside the No-Intro database for some additional info. However, I noticed that a few of the entries seemed to be either inaccurate or missing when comparing them with the No-Intro database (especially the notoriously unverified Classic NES dumps).

It turns out that many of the inconsistencies I found were because the entries in gba.xml are actually using the hashes of known bad dumps. Here's an example; the trusted dump is above, while the bad (overdumped) hash is below: image

I also found some other entries using the wrong save type after some research, and I believe some were simply missing. So, I gathered up all the inconsistencies I could find and created an override database with corrections: Title Serial SHA-1 Size Save Type
0246 - Kinniku Banzuke - Kimero! Kiseki no Kanzen Seiha (Japan) AK5J CF0A6C1C473BA6C85027B6071AA1CF6E21336974 8388608 SRAM 256k
1364 - Famicom Mini 01 - Super Mario Bros. (Japan) (En) (Rev 1) FSMJ F08B1F60E41FC2080C50C65EA2B2AF912661ED99 1048576 EEPROM 4k
1366 - Famicom Mini 02 - Donkey Kong (Japan) (En) FDKJ B5AFC36A8203C2C485344819D069300ECAFD9657 1048576 EEPROM 4k
1492 - Classic NES Series - The Legend of Zelda (USA, Europe) FZLE 28AAC26365BF41BA84E67F97E98D15C4678CB99D 1048576 EEPROM 64k
1494 - Classic NES Series - Super Mario Bros. (USA, Europe) FSME 8CA35864AE33C9462DD66CEFF1FAC5A79E2E0A6F 1048576 EEPROM 4k
1496 - Classic NES Series - Bomberman (USA, Europe) FBME 741EB2874C526CC014BF3E642B4EE37F18312735 1048576 EEPROM 4k
1498 - Classic NES Series - Xevious (USA, Europe) FXVE B2088582808480E0D70C63A777B046409D4E15C4 1048576 EEPROM 4k
1499 - Classic NES Series - Pac-Man (USA, Europe) FP7E 843D853ED28A116C85A5357F9A94E9179F36A6D0 1048576 EEPROM 4k
1500 - Classic NES Series - Ice Climber (USA, Europe) FICE 64E965D61B2D1BE5DFADB0236FED83FEA5995724 1048576 EEPROM 4k
1501 - Classic NES Series - Donkey Kong (USA, Europe) FDKE 8E3B203630F10C32AA7896AFE9B7FBED7E1C8D30 1048576 EEPROM 4k
1721 - Classic NES Series - Zelda II - The Adventure of Link (USA, Europe) FLBE 22EA42AD9A99A6BC0FCBA8721CF8F484F68C3BF7 1048576 EEPROM 64k
1722 - Classic NES Series - Castlevania (USA) FADE 47A60315ED4074A8C986723B95B3C90513D3B35C 1048576 EEPROM 4k
1723 - Classic NES Series - Dr. Mario (USA, Europe) FDME FC396F0EAE55CF19E573AA322F525427E03D3854 1048576 EEPROM 4k
1724 - Classic NES Series - Metroid (USA, Europe) FMRE 838DA11F879E2FA3FFDEF95E1C6D5A54246C1846 1048576 EEPROM 4k
2830 - NES Classics - Castlevania (Europe) FADP 8BC8740A681E4D365419DBCEE73619FE4429D66E 1048576 EEPROM 4k
2841 - King Kong - The Official Game of the Movie (Europe) (En,Sv,No,Da,Fi) BKQX ECFB6409ABB7FF429AADC65A6B953DBAEF3D09D8 8388608 EEPROM 4k
2846 - Dogz 2 (USA) (Rev 1) BIME FF2772E347212264D1A1C4D322A08685ADC1E6A7 16777216 EEPROM 64k
x025 - Famicom Mini - Dai-2-ji Super Robot Taisen (Japan) (Promo) FSRJ 8FA03B1E23E7DEA0DBC841D23046D03D246A1CDF 1048576 EEPROM 64k
x026 - Famicom Mini - Kidou Senshi Z Gundam - Hot Scramble (Japan) (Promo) FGZJ B4C1A3582F596D3912A1A7EA2D1EB6681B769448 1048576 EEPROM 4k
x027 - Super Mario Bros. (Japan) (Hot Mario Campaign) FSMJ 6701010F7C195CF3FBDEDB19E4627835A3158748 1048576 SRAM 256k

Hopefully, these entries can be of use and implemented into gba.xml, I'd love to be able to get rid of these overrides. Please let me know if I messed up anything here or if any of this is outdated.

RetroEdit commented 5 months ago

I found this issue independently because two of them are ROM hash duplicates instead of hashes of bad dumps:

RetroEdit commented 5 months ago

@HTV04 Hi, I was wondering how you got the save types? I'm interested in solving this issue, and I've been able to create my own list of hashes that need to be updated that largely matches your list, but No-Intro doesn't seem to consistently provide save type information.

If you have any related code from your GBA save-type database generator that could be referenced, that might also be helpful.