Preserving Arcade Core High Scores

alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Preserving Arcade Core High Scores

Unread post by alanswx »

thorr wrote: Mon Feb 08, 2021 9:23 pm I am very thankful for this effort. I wanted to mention that with Mame, one way of doing this is to leave the machine powered on when exiting. When you return to it, it is exactly where you left it. It could be in mid-game or whatever. This will keep the high scores unless you reset the machine. This might be easier than trying to find the spot where the high score is saved in each core and storing that. (I don't know exactly how it is being done, but I am just speculating). The downside is if you want to restart your game because you die right away, you will lose your high scores if you reset it. I prefer the method where you can reset the game, but keep the high scores anyway.
Mame has a file called hiscores.dat that has the information on where things are stored in ram for many many games.
User avatar
jimmystones
Core Developer
Posts: 217
Joined: Sun Nov 22, 2020 1:26 pm
Location: Reading, UK
Has thanked: 32 times
Been thanked: 251 times
Contact:

Re: Preserving Arcade Core High Scores

Unread post by jimmystones »

Still working on the Sega System 1 titles, but in the meantime have some:
- Zaxxon
- Super Zaxxon
- Future Spy (getting a high score should be a bit easier now the bomb button works!)
User avatar
LamerDeluxe
Top Contributor
Posts: 1181
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 828 times
Been thanked: 266 times

Re: Preserving Arcade Core High Scores

Unread post by LamerDeluxe »

lamarax wrote: Sun Feb 07, 2021 7:27 pm
LamerDeluxe wrote: Sun Feb 07, 2021 7:08 pm
Aspie wrote: Sun Feb 07, 2021 4:43 pm Well my X Arcade is almost 20 years old. I'm thinking of changing the joysticks to the IL ones.
I've just modded the JLF stick in my HRAP3 with Kowal short throw (engage actually) and stronger 2 lb spring. And changed all its buttons to Sanwa ones. It is a lot better, but still not as good as my old Suzo Arcade sticks, so I'd probably prefer those IL ones as well. And I love the leaf-switch buttons on those as well.
Oh hi :mrgreen: What you need to do is throw the JLF to the garbage, and get a real Japanese stick; LS-32, or better, LS-40. You can keep those Kowal acrylic plates(?) only if you're intending to use them with an LS-56. Those mouthbreathers in the FGC have forced those useless Sanwa parts down our throats (now they're hip with Korean stuff), because they're ignorant of the fact that most candy cabs used Seimitsu parts by default (and when they were using Sanwa, it was the JLW, made to imitate HAPP-SUZO-IL parts)

Ah [edit] I forgot about the Viewlix cabs... yeah, those are having JLFs by default, but we're not playing SFIV on LCDs here ;)
Sadly the LS-32 and LS-40 don't fit the HRAP3, I had to cancel an order I did for an LS-40. I'd love to try it.
The LS-56-01 fits, when using a flat mounting plate. I'm waiting for it to get back in stock. I did read about someone preferring the modded JLF for shooters though. It is not an acrylic plate, it is an over sized actuator and it does help a lot, especially in combination with the stronger spring.
User avatar
lamarax
Top Contributor
Posts: 472
Joined: Wed Nov 11, 2020 6:28 pm
Has thanked: 33 times
Been thanked: 199 times

Re: Preserving Arcade Core High Scores

Unread post by lamarax »

LamerDeluxe wrote: Tue Feb 09, 2021 1:50 pm Sadly the LS-32 and LS-40 don't fit the HRAP3, I had to cancel an order I did for an LS-40. I'd love to try it.
The LS-56-01 fits, when using a flat mounting plate. I'm waiting for it to get back in stock. I did read about someone preferring the modded JLF for shooters though. It is not an acrylic plate, it is an over sized actuator and it does help a lot, especially in combination with the stronger spring.
Yeah sorry, I thought you meant the 'short throw' mod which consists of one or two acrylic spacers sandwiched inside the body of the stick. If the LS-56 will fit though, I'd suggest you go with that stock, instead of a 'franken-JLF'. Is the HRAP3 compatible with SS P-40 mounting plates? If so, there's also the LS-62 to consider, which is something of an amalgamation of all the previous Seimitsu models.

P.S. No, I'm not a Seimitsu shill ;)
P.P.S. Ah, I missed the part about the flat mounting plate. Then again, they recently came up with 2 'Viewlix compatible' plates for both large and compact bodied sticks. They don't seem to sell them separately yet. Anyway this eliminates the LS-62 I suggested above, as it will be sitting too low with a flat plate due to its short shaft.
thorr
Top Contributor
Posts: 1140
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 564 times
Been thanked: 260 times

Re: Preserving Arcade Core High Scores

Unread post by thorr »

This is quickly becoming a favorite joystick thread, but personally I love the groovygamegear Dominux 8 leaf switch grommet joystick (I have two). It is terrible for fighting games, but for everything else it is just about perfect in my opinion. I have a quality clicky fight stick if I want to play those games. I use my MiSTer for classic gaming and the Dominux 8 has that classic feel. I used to obsessively worry about 4-way and 8-way games/joysticks and I tried a lot of 4-way options. When it came down to it, my Dominux 8 in 8-way mode works just fine 99.9% of the time and is better feeling in 4-way games than all of the 4-way joysticks I tried. It doesn't have that diamond shape throw, but I don't play that way anyway. If I move up, I move up. I don't drag along the edge to get there, I just go. The Dominux 8 has a 4-way restrictor option but I don't want to waste space on my control panel with an extra joystick when the 8-way works just fine. I use my 8-ways with the short throw circular restrictor option.

With all that being said, it is tempting to get an Ultimarc 360 joystick that can be customized to 4-way, diagonal 4-way, 8-way and analog. I can play Qbert and Congo Bongo with that, and Star Wars.

Back to the topic at hand, I am looking forward to Donkey Kong, Donkey Kong Jr., Ms. Pacman, Galaga and Frogger high score saving. :-)
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Preserving Arcade Core High Scores

Unread post by alanswx »

I think Frogger and Ms. Pacman have high score saving..
User avatar
LamerDeluxe
Top Contributor
Posts: 1181
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 828 times
Been thanked: 266 times

Re: Preserving Arcade Core High Scores

Unread post by LamerDeluxe »

lamarax wrote: Tue Feb 09, 2021 4:14 pm
LamerDeluxe wrote: Tue Feb 09, 2021 1:50 pm Sadly the LS-32 and LS-40 don't fit the HRAP3, I had to cancel an order I did for an LS-40. I'd love to try it.
The LS-56-01 fits, when using a flat mounting plate. I'm waiting for it to get back in stock. I did read about someone preferring the modded JLF for shooters though. It is not an acrylic plate, it is an over sized actuator and it does help a lot, especially in combination with the stronger spring.
Yeah sorry, I thought you meant the 'short throw' mod which consists of one or two acrylic spacers sandwiched inside the body of the stick. If the LS-56 will fit though, I'd suggest you go with that stock, instead of a 'franken-JLF'. Is the HRAP3 compatible with SS P-40 mounting plates? If so, there's also the LS-62 to consider, which is something of an amalgamation of all the previous Seimitsu models.

P.S. No, I'm not a Seimitsu shill ;)
P.P.S. Ah, I missed the part about the flat mounting plate. Then again, they recently came up with 2 'Viewlix compatible' plates for both large and compact bodied sticks. They don't seem to sell them separately yet. Anyway this eliminates the LS-62 I suggested above, as it will be sitting too low with a flat plate due to its short shaft.
I was already interested in Seimitsu, because the engage and throw of the JLF were way too large and the spring too weak. Sadly the HRAP 3 has an s-plate welded onto its top plate. It is also a hassle to open, so no quick changing of the restrictor plate between modes.

Maybe we need an arcade stick topic, haha.

Great to see so many arcade cores getting high score support, it makes them so much more fun and true to the originals.
User avatar
lamarax
Top Contributor
Posts: 472
Joined: Wed Nov 11, 2020 6:28 pm
Has thanked: 33 times
Been thanked: 199 times

Re: Preserving Arcade Core High Scores

Unread post by lamarax »

alanswx wrote: Tue Feb 09, 2021 9:38 pm I think Frogger and Ms. Pacman have high score saving..
lol yeah, sorry for derailing the thread :oops: We *should* have a dedicated arcade stick thread in the inputs subforum.

I promise I'll start it off with a long treatise when time permits :mrgreen:
User avatar
Aspie
Posts: 187
Joined: Sat Sep 26, 2020 1:07 pm
Location: Manchester
Has thanked: 20 times
Been thanked: 46 times
Contact:

Re: Preserving Arcade Core High Scores

Unread post by Aspie »

Donkey Kong being the classic arcade game should have hi score enabled. I look forward to it
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Preserving Arcade Core High Scores

Unread post by alanswx »

I added it to irem 62. Can someone test it? I can’t get a high score.
metalfacemark
Posts: 166
Joined: Mon Jan 04, 2021 12:04 pm
Has thanked: 16 times
Been thanked: 15 times

Re: Preserving Arcade Core High Scores

Unread post by metalfacemark »

Do i need to do something to the config to enable the high score saving feature, i dont see it in the options for the games, my mister is all up to date.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Preserving Arcade Core High Scores

Unread post by alanswx »

Save settings saves the scores too
metalfacemark
Posts: 166
Joined: Mon Jan 04, 2021 12:04 pm
Has thanked: 16 times
Been thanked: 15 times

Re: Preserving Arcade Core High Scores

Unread post by metalfacemark »

hmm, saved on moon cresta and it didnt save.
User avatar
redsteakraw
Posts: 244
Joined: Sun May 24, 2020 11:19 pm
Has thanked: 1 time
Been thanked: 40 times

Re: Preserving Arcade Core High Scores

Unread post by redsteakraw »

A cool idea is since this is being saved, we can potentially upload the high scores with the core version and rom hash to a website and potentially have a global or regional highscores, that can be downloaded like the cheats.
Fear is the mind killer!
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Preserving Arcade Core High Scores

Unread post by alanswx »

redsteakraw wrote: Fri Feb 12, 2021 2:23 pm A cool idea is since this is being saved, we can potentially upload the high scores with the core version and rom hash to a website and potentially have a global or regional highscores, that can be downloaded like the cheats.
Wark91 is working on porting hi2txt to python so we can run it on mister, generate json and/or xml and upload it to misterfpga.org - we need help either integrating it with phpbb or writing something from scratch. I haven't tried to launch a phpbb in a docker to play with it yet.

I was originally thinking we could download the scores back into the core, but the more I think about it.. I think we should use the ID and a has from misterfpga.org, and build an online leaderboard where we have game/username/score listed. A lot of the older games don't have that many high scores. So it would be very kludgy to try to convert a global leaderboard into something we could display in donkey kong, or pac man.
User avatar
Aspie
Posts: 187
Joined: Sat Sep 26, 2020 1:07 pm
Location: Manchester
Has thanked: 20 times
Been thanked: 46 times
Contact:

Re: Preserving Arcade Core High Scores

Unread post by Aspie »

What a brilliant idea alanswx. I'm really looking forward to this
thorr
Top Contributor
Posts: 1140
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 564 times
Been thanked: 260 times

Re: Preserving Arcade Core High Scores

Unread post by thorr »

I love it! This sounds like a wonderful addition and give us all more reasons to play our favorite games together and do as well as we can. I used to enjoy the high score challenges on atariage. I got my highest score ever in Keystone Kapers. https://atariage.com/forums/topic/23917 ... mer-quest/ Doing high score saves to leaderboards for consoles is probably way over the top at the moment but it will be great for arcade games!

One suggestion: It would make sense to also store the dip switch settings with the high score. I like to play Donkey Kong with the maximum number of lives.
zakk4223
Posts: 270
Joined: Sun May 24, 2020 10:55 pm
Been thanked: 107 times

Re: Preserving Arcade Core High Scores

Unread post by zakk4223 »

It's not just dip switches: any game with nvram based settings has a potential of having different settings that make scores incomparable. Typically communities just come up with standard settings for these things, or split leaderboards based on particular settings. Unfortunately this is a deep deep drama filled rabbit hole depending on the game. It'll likely require moderation too :(


I'd like to repeat my request that the high score data be saved separately from "nvram". Especially with this new feature. For games that actually have nvram based settings it would be be best if those could be copied/removed/etc without bringing along high scores (also in the case of the CPS 1.5 core, they are purposefully in the same format as mame's nvram saves, which is nice)

I'm willing to do the Main Mister work if we can agree upon a sane scheme. Maybe just allow multiple nvram 'slots' and standardize high scores to index=99?
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Preserving Arcade Core High Scores

Unread post by alanswx »

zakk4223 wrote: Fri Feb 12, 2021 10:00 pm It's not just dip switches: any game with nvram based settings has a potential of having different settings that make scores incomparable. Typically communities just come up with standard settings for these things, or split leaderboards based on particular settings. Unfortunately this is a deep deep drama filled rabbit hole depending on the game. It'll likely require moderation too :(


I'd like to repeat my request that the high score data be saved separately from "nvram". Especially with this new feature. For games that actually have nvram based settings it would be be best if those could be copied/removed/etc without bringing along high scores (also in the case of the CPS 1.5 core, they are purposefully in the same format as mame's nvram saves, which is nice)

I'm willing to do the Main Mister work if we can agree upon a sane scheme. Maybe just allow multiple nvram 'slots' and standardize high scores to index=99?
In the MRA we would just have two NVRAM entries, with different indices, and add a "filename" parameter. But Sorg said he didn't want us to patch it to do that. He said to concatenate the files. So we will do that for now. Most games right now have one or the other.
zakk4223
Posts: 270
Joined: Sun May 24, 2020 10:55 pm
Been thanked: 107 times

Re: Preserving Arcade Core High Scores

Unread post by zakk4223 »

Well that's unfortunate; it'll make things more difficult for some upcoming cores. Oh well.


One UI thing that people should be currently aware of: in a lot of the cores if you use the 'core' reset menu entry it will wipe the HS table to default. You just have to be careful to not save settings until you've fully reloaded the core so your on-disk saved scores don't get overwritten.

It also just occurred to me on games that do have nvram based settings this is going to present a real problem. Many of them will re-initialize when exiting the test menu, which means they reset the HS table to default. So they'll be no way to make settings changes without nuking saved scores. I'm not sure what current 'official' cores this is relevant for. Cave is all I know of off the top of my head.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Preserving Arcade Core High Scores

Unread post by alanswx »

Jimmy has added some better reset logic. We need to think through this. Or we can backup the high scores to the server and restore them I guess.
zakk4223
Posts: 270
Joined: Sun May 24, 2020 10:55 pm
Been thanked: 107 times

Re: Preserving Arcade Core High Scores

Unread post by zakk4223 »

Mame gets around this by reading the memory locations before initial restore and then refusing to save the score data if it is equal to that first read. Maybe that's feasible here too, although the concatenated nvram situation might complicate things later. Probably the best way to ensure you never save or restore a default score table (it also means you don't have a bunch of garbage uploads to the server that are just saved default score tables)
User avatar
jimmystones
Core Developer
Posts: 217
Joined: Sun Nov 22, 2020 1:26 pm
Location: Reading, UK
Has thanked: 32 times
Been thanked: 251 times
Contact:

Re: Preserving Arcade Core High Scores

Unread post by jimmystones »

@zakk4223 I've added some extra logic to Zaxxon (just until it is tested and working, then I'll roll it back to other cores) which should handle the in-core reset situation. Appreciate any testing you can give it as I'm getting paranoid about it occasionally not loading scores, but then whenever I check again it does :shock:
zakk4223
Posts: 270
Joined: Sun May 24, 2020 10:55 pm
Been thanked: 107 times

Re: Preserving Arcade Core High Scores

Unread post by zakk4223 »

Unfortunately I'm very bad at Zaxxon so I'm not sure how much testing I can actually do!

I did have an incident earlier where Scramble restored all zeros, but I need to do more testing there because it's possible my modified Main_Mister could have caused it. I'll file a proper bug if I can reliably reproduce it on vanilla mister code
User avatar
jimmystones
Core Developer
Posts: 217
Joined: Sun Nov 22, 2020 1:26 pm
Location: Reading, UK
Has thanked: 32 times
Been thanked: 251 times
Contact:

Re: Preserving Arcade Core High Scores

Unread post by jimmystones »

Hah, I know the feeling (and I know alanswx does too!), getting a high score on every game to test it is half the challenge :)

Any help testing is always appreciated, I'd rather make sure the module is solid before we put it into too many more cores.
User avatar
LamerDeluxe
Top Contributor
Posts: 1181
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 828 times
Been thanked: 266 times

Re: Preserving Arcade Core High Scores

Unread post by LamerDeluxe »

Maybe an infinite lives cheat rom patch for development would be an idea.
alanswx
Core Developer
Posts: 296
Joined: Sun May 24, 2020 6:55 pm
Has thanked: 5 times
Been thanked: 154 times

Re: Preserving Arcade Core High Scores

Unread post by alanswx »

We can edit the high scores file in a hex editor. That is what I did with centipede when I originally wrote the high score save code. Everything about this has become long and monotonous!
User avatar
LamerDeluxe
Top Contributor
Posts: 1181
Joined: Sun May 24, 2020 10:25 pm
Has thanked: 828 times
Been thanked: 266 times

Re: Preserving Arcade Core High Scores

Unread post by LamerDeluxe »

alanswx wrote: Sat Feb 13, 2021 1:35 pm We can edit the high scores file in a hex editor. That is what I did with centipede when I originally wrote the high score save code. Everything about this has become long and monotonous!
But very much appreciated. It makes the arcade games much more authentic and it adds a sense of progress when playing them.
User avatar
jimmystones
Core Developer
Posts: 217
Joined: Sun Nov 22, 2020 1:26 pm
Location: Reading, UK
Has thanked: 32 times
Been thanked: 251 times
Contact:

Re: Preserving Arcade Core High Scores

Unread post by jimmystones »

Bomb Jack now has high score support and I added a pause button as well (needed to support pause for the upcoming Sega System 1 high score support so I thought I might as well add it on my travels through the cores where it doesn't cause issues).
User avatar
Alkadian
Top Contributor
Posts: 723
Joined: Thu May 28, 2020 9:55 am
Has thanked: 291 times
Been thanked: 118 times

Re: Preserving Arcade Core High Scores

Unread post by Alkadian »

alanswx wrote: Fri Feb 12, 2021 1:54 am I added it to irem 62. Can someone test it? I can’t get a high score.
Thanks a lot for this fantastic implementation!

I have tested joujyudn, where I am relatively good at..lol..but my score wasn't saved. I made sure that the High Score Save was set to manual.

Thanks!
Post Reply