Bewildering MAME mystery
-
Okay, I'm at my wits' end here. I'm running the latest Retropie on a standard Raspberry Pi 3, with the "default" version of MAME, the one that goes in the "arcade" folder and uses 0.78 ROMs.
There are two versions of Galaxian in there, galaxian.zip and galaxiaj.zip. Neither has any special config files of their own and as far as I can see both are using identical Retroarch settings (see pics).
But the first one automatically saves its high scores and the second one doesn't.
I get the same issue with two Donkey Kong ROMS - dkong.zip saves high scores, dkongjp.zip doesn't.
Every other game in my MAME install (over 200), so far as I can tell, saves its high scores with no problems.
Can anyone offer any sort of explanation that I haven't been able to think of for why those two ROMs, and those alone, don't save their scores?
(the first two pics, with the "GAME OVER" backdrop, are the version that DOESN'T save. The other two, with the bootup backdrop, are the version that DOES save)
-
@spudsmctoole I will reply with a couple of thoughts to get this discussion moving. First, the screenshots you added are from the RetroArch GUI menu. They represent "saves". RetroArch save states have nothing to do with high scores, although they do make a snapshot of the current state of the emulator. Think of this as pausing, and being able to save the paused state and recall it later.
Most ROMs in MAME are covered by the highscore.dat which was created to help MAME know how to grab the high scores out of memory from each game and save it. This is often necessary because the original hardware may not have saved the scores during a power-off.
As the link mentions, not every ROM is covered by the method. The examples you cited are both clones (in this case, regional Japanese copies) of the parent ROMs. The parents are covered, as you mentioned, these seem to be working, but the clones may not have been a priority and fall into the 2500 or so ROMs that do not save high scores.
Now, maybe I am barking up the wrong tree here, and if someone else has any ideas, perhaps they can share. But, if I am right about this, there is not much you can do unless you want to save game states manually each time you get a new high score. Of course, you would need to save the game state when that happens, and remember to recall the save whenever you launch that ROM.
-
i don't know why you have auto_save_state turned on. that isn't on by default. it isn't the problem, but it says to me 'this person has messed with their settings' so all bets are off :)
but yes i think @caver01 is on the right track. if you look at mame2003's hiscore.dat, you can see it has an entry for galaxian here: https://github.com/libretro/mame2003-libretro/blob/master/metadata/hiscore.dat#L2864
you can see all the variants of romnames that it understands as galaxian, and galaxiaj is not there. you can't just add that rom name, either - it may not keep its hiscores in the same memory range. it's the same story with dkong/djongjp - only dkong is in the .dat. not all mame2003 games will support hiscores - see: https://github.com/RetroPie/RetroPie-Setup/wiki/lr-mame2003#high-scores
i kinda have to wonder why you want to play the japanese version of galaxian/donkey kong, though? just play the standard version?
-
@dankcushions There are plenty of reasons to want to do that. Japanese Donkey Kong, for example, has a totally different (and to most people, superior) level sequence to the US game. DK Jr is the same.
It's also weird because I have a second Japanese variant of Kong in my install (dkongjo.zip) and that one saves the scores fine as well.
-
@spudsmctoole said in Bewildering MAME mystery:
It's also weird because I have a second Japanese variant of Kong in my install (dkongjo.zip) and that one saves the scores fine as well.
that's not weird - dkongjo is in the .dat: https://github.com/libretro/mame2003-libretro/blob/master/metadata/hiscore.dat#L1923
if the name isn't in the dat, it won't save. if it is, it will.
-
@dankcushions The hiscore.dat link appears to list all the Kong variants:
dkong:
dkongjo:
dkongj:
dkongjpo:
dkongo:
dkongjo1:
dkongf: ;******Donkey Kong Foundry (hack)
dkonghrd:
dkongpe: -
@spudsmctoole said in Bewildering MAME mystery:
@dankcushions The hiscore.dat link appears to list all the Kong variants:
dkong:
dkongjo:
dkongj:
dkongjpo:
dkongo:
dkongjo1:
dkongf: ;******Donkey Kong Foundry (hack)
dkonghrd:
dkongpe:but you said dkongjp.zip in your first post - dkongjp is not in that list.
-
@dankcushions Ah, that's an interesting point. There is no "dkongj.zip" in the MAME 0.78 ROMset. There's only
dkong
dkongjo
dkongjo1
dkongjp
dkongoI wonder if simply renaming it will fix the issue. There are also only two Galaxians in the 0.78 ROMset - galaxian and galaxianm. I think we may be onto something... :)
-
@spudsmctoole said in Bewildering MAME mystery:
@dankcushions Ah, that's an interesting point. There is no "dkongj.zip" in the MAME 0.78 ROMset.
hang on, your first post was about dkongjp, not dkongj. dkongjp IS in the mame 0.78 romset, but it is NOT in the hiscore.dat.
I wonder if simply renaming it will fix the issue.
no that will stop it booting entirely i think!
There are also only two Galaxians in the 0.78 ROMset - galaxian and galaxianm.
there's more than that: https://github.com/libretro/mame2003-libretro/blob/7b55725e744ac9702db092f996e2fca2276146b2/src/drivers/galaxian.c#L5250
again, not all of these will neccesarily be in the hiscore.dat.
-
@dankcushions said in Bewildering MAME mystery:
no that will stop it booting entirely i think!
Ah, you were right. Then that's really odd that the names in the ROMset and the names in the HISCORE.DAT don't match up.
-
@spudsmctoole And for your autostate thing, I've faced exact the same effect that the option was activated! .... I've written a small script that will alter your retroarch.cfg as you want.
You can find it here: Dirty Little RetroArch.cfg writer
You can call the script to disable autostate_save feature like this
$HOME/RetroPie/scripts/SetRetroArchCfg.sh "$1" "savestate_auto_save" "true" "false"
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.