How to save BoP settings

Talk about Dutch Pinball's first project: the Bride of Pinbot 2.0 Upgrade Kit
Locked
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

How to save BoP settings

Post by Jesder »

I'm wondering how the settings and high scores are saved between sessions when running the original BoP ruleset?

I've noticed that some of the my high scores get saved between powering the game down (and then up again the following day), but I'm not 100% sure what process to follow when finished to ensure any service menu adjustments I've made or scores set get saved for the next time I power the game on.

My impression is I need to switch from BoP to 2.0 in order for settings, audits and scores to be saved. Is this the case?

Also I've found that when I hold the start button in while running the original BoP ruleset, it will kick a ball out to the shooter lane to start a new game, shortly before bringing up the mode select. Is there a button combination I need to press to activate the game swap that prevents a ball kick out?

I should mention too than I'm running version 1.19, in case that impacts the answers to the questions above :)
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
Koen
Site Admin
Posts: 163
Joined: July 1st, 2011, 11:00 pm

Re: How to save BoP settings

Post by Koen »

Hi Jesder,

I'm not sure about the settings/high scores of the original BoP. My assumption would be it doesn't matter how you power down the machine.
If that's not the case then maybe going back to the launcher could help, but entering 2.0 after that should have no influence.
If you can reliably reproduce / determine when things get saved and when not we might be able to improve it.

About the kick out when exiting original BoP, there's not much we can do about it, original BoP is a black box for us and it reacts to the start button. But 2.0 can handle the ball being in the shooter lane at startup so that makes this less of a problem.

- Koen
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

Re: How to save BoP settings

Post by Jesder »

Hi Koen,

Thanks for the reply :)

My game has been offline for the last 3 weeks as I've been giving it an overhaul. Finally got it back together today, so can look into these further.

With the ball kick out when exiting the original BoP, I've found that if I hold both flipper buttons and then the start button, no ball is kicked into the shooter lane and I'm returned to the game select. If however I only hold the start button, or one of the flipper buttons together with the start button, a ball is kicked out before the game exits. So there is a work around, although I'm not sure why both flipper buttons being pressed in with the start button prevents the kick out. Is this a feature?

I'll look further into BoP saving scores, settings, etc. I noticed tonight that after setting the 4th place score and then exiting (start + both flipper buttons), the score was not saved next time I went into BoP from the game select menu. It has saved other scores of mine from the past though. I'll see what I can find and report back though :)
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

Re: How to save BoP settings

Post by Jesder »

Hi Koen,

I had a play with the score saving this morning and found something interesting, related to the 4th highest score not being saved.

In this test, I achieved the 4th highest score and went through the process of entering my initials at the end of the game. When it cycles through the high scores in attract mode, notice in the image below it shows the 4th score as 12.1 million.

Image

Then in shows the score from the completed game, which was 14.3 million - which should be sitting in 4th spot (and the game did recognise this since it had me enter my initials).

Image

Given the score on my completed game was higher than 4th and the game had me enter my initials, I'd expect the 14.3 million score to be there. This is most likely what I've seen in the past where a score hasn't saved - It's actually not a save issue, it's that the score isn't added to the high score table to be saved.

Considering BoP is running under emulation, perhaps there is nothing you can do about this. I will try testing further by getting a score in 2nd or 3rd and seeing if that score gets set into the table. What I'm now wondering is if it only adds the #1 score and then pushes the other scores down and achieving a 2nd, 3rd or 4th placed score are not set.
Last edited by Jesder on January 11th, 2018, 1:06 am, edited 2 times in total.
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

Re: How to save BoP settings

Post by Jesder »

I did another test, this time achieving High score #3 and the score was correctly set into the table.

My score of 17.5 million after entering initials on game complete.

Image

Correctly added to the high score table in 3rd spot.

Image

I'll have to test achieving the 2nd place score to be sure, but it does look like the storing of the 4th place score is where the issue is. I will continue to test and report back :)
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
Koen
Site Admin
Posts: 163
Joined: July 1st, 2011, 11:00 pm

Re: How to save BoP settings

Post by Koen »

Hey Jesder,

Interesting stuff, thanks for reporting on it.
Jesder wrote:So there is a work around, although I'm not sure why both flipper buttons being pressed in with the start button prevents the kick out. Is this a feature?
This is new to me. Actually this was the original way to re-enter the launcher but we had it changed to only the start button as it was a bit more user friendly. Makes me wonder if the three button combo is a thing in the original software (not starting the game immediately)? I don't have a machine to test with anymore so I can't find out.

- Koen
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

Re: How to save BoP settings

Post by Jesder »

Something worth noting too is that when you are exiting original BoP back to the game select, it will trigger a new game. It's brief, but the starting sound effect plays and if you do the start+flipper buttons combo, both flippers engage. The main difference is holding both flipper buttons prevents the ball kick out. It's interesting to know that was the original method for exiting!

Also I should confirm that you do need to exit BoP back to the game select in order to save settings and scores on BoP. You're correct that entering 2.0 isn't necessary. If you switch the game off while running BoP, it will shut down properly, but any changes to settings or scores added to the high score table will be lost. It would be great if your software could save the current state of BoP or have it exit and save when shutting down as it's an extra step to remember when switching the game off. It's never an issue in BoP 2.0, but you have full control over that and I understand you're limited to what can be done while running the original game under emulation.

If you would like me to test any specific scenarios, let me know, i'm happy to help. Same with code changes - if you decide to make any, I'm happy to test. Just send me a PM or email (it's on my profile) :)

I'd be interested to know if DP would ever release the source for the community to continue to develop. From what you've said in a previous thread, DP consider BoP 2.0 complete, but as a coder (and ex game dev), it would be great to continue to see BoP 2.0 maintained as it's a terrific game!
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

Re: How to save BoP settings

Post by Jesder »

Something extra I want to add on this is when you use either method to switch back to BoP 2.0 (Hold start or Hold start + left flipper + right flipper), it will increment the "Games started" audit. It would be good if there was a cleaner way to switch back or have the BoP settings saved when the game is switched off without having to exit :)
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
Snux
Posts: 5
Joined: January 24th, 2015, 2:12 pm

Re: How to save BoP settings

Post by Snux »

Hi Jesder,

I'm the guy that put together the pinmame build used in the BOP 2.0 kit. During that time I never actually had a BOP so testing was a somewhat painful process. However since 2 days ago I have a BOP in the house :) I'm discussing with DP some possible pinmame improvements / fixes, but more news on that if we move forward.

Both flipper buttons and start button together, as Koen says, was the original "escape" method. The "hold the start button" was added for a couple of reasons. First it's easier and means you don't need to put your beer down. Secondly on some earlier games (like my F14), when the game is in attract mode the flipper buttons don't register.

So the fact that the game starts a fraction before actually quitting when holding the start button should just be a case of reducing a little the time it needs to be held in. So it's just under the time the emulation decides to start a game, which is something controlled by a parameter in a config file. I'll do some experimenting.

The other issue you've found with the high scores is actually a known bug in the BOP ROM, nothing much we can do about it. Original BOP games do it too, occasionally. There is a thread on pinside about it here :

https://pinside.com/pinball/forum/topic ... re-problem

Mark
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

Re: How to save BoP settings

Post by Jesder »

Snux wrote:I'm the guy that put together the pinmame build used in the BOP 2.0 kit. During that time I never actually had a BOP so testing was a somewhat painful process. However since 2 days ago I have a BOP in the house :) I'm discussing with DP some possible pinmame improvements / fixes, but more news on that if we move forward.
This is excellent news! I really hope you and DP can continue to improve it :) I switch to the original BoP quite often, so it's an important part of the 2.0 kit for me 8-) I sent an email awhile ago to be added to the beta testing list, so happy to help test any changes that do happen for BoP / BoP 2.0.
Snux wrote:So the fact that the game starts a fraction before actually quitting when holding the start button should just be a case of reducing a little the time it needs to be held in. So it's just under the time the emulation decides to start a game, which is something controlled by a parameter in a config file. I'll do some experimenting.
Interesting. The flipper buttons + start must cut in quicker than just the start button since if you only hold the start button, it will serve a ball up before exiting. Is there a reason why the emulation would detect game exit quicker with the flipper+start method (to exit before a ball is served)? Do they run through different code branches or have different config values?
Snux wrote:The other issue you've found with the high scores is actually a known bug in the BOP ROM, nothing much we can do about it. Original BOP games do it too, occasionally. There is a thread on pinside about it here: https://pinside.com/pinball/forum/topic ... re-problem
Thanks for the info & link. If it's in the original then that explains why it's there now under emulation (maybe a case where we don't want something emulated 100% :lol: ). It's good to know though!
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
Snux
Posts: 5
Joined: January 24th, 2015, 2:12 pm

Re: How to save BoP settings

Post by Snux »

"Both flippers and the start button" is coded deliberately to quit immediately all 3 are pressed, the theory being that you couldn't hit that combination accidentally. The delay on the start button is because pressing that on it's own is normal. We just need to reduce the time slightly to below that which starts a game. At the moment it's set to 750ms so we might not have a lot of wriggle room, but I'll play with it.
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

Re: How to save BoP settings

Post by Jesder »

Snux wrote:"Both flippers and the start button" is coded deliberately to quit immediately all 3 are pressed, the theory being that you couldn't hit that combination accidentally. The delay on the start button is because pressing that on it's own is normal. We just need to reduce the time slightly to below that which starts a game. At the moment it's set to 750ms so we might not have a lot of wriggle room, but I'll play with it.
It will be interesting to hear how you go with it. I agree there doesn't sound like a lot of wriggle room at 750ms since it's vital it doesn't get confused and exit instead of start a new game. Even with the immediate exit, I hold both flippers first and then start last - the game still begins, the start sound effect plays and the games played stat increases (just no ball serve) - so even the immediate exit doesn't get in before the new game fires. Maybe the best that can be aimed for is no ball serve on the hold start method? I think is the best mode of exit since it's one handed and consistent with BoP 2.0. Anyway - interested to see how you go :)
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
Snux
Posts: 5
Joined: January 24th, 2015, 2:12 pm

Re: How to save BoP settings

Post by Snux »

OK, in my build here I've fixed the start button issue.

When it's pressed, instead of passing that to the emulation we just make a note of the time. If it hasn't been released before the timeout, then the game quits and the emulation never knew we pressed the button. If it is released before the timeout, then we simulate sending button close/open to the emulation.

This does mean that the emulation only realises you've pressed the start button when you actually release it, but it's all so quick I can't think of a situation when this causes any problem.

"Both flippers and start" will exit immediately without game start. Note though that in attract mode the flippers are not active, so pressing them then doesn't make a difference (it'll just wait until the timeout and then quit).

Think that makes sense.
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

Re: How to save BoP settings

Post by Jesder »

Snux wrote:OK, in my build here I've fixed the start button issue.

When it's pressed, instead of passing that to the emulation we just make a note of the time. If it hasn't been released before the timeout, then the game quits and the emulation never knew we pressed the button. If it is released before the timeout, then we simulate sending button close/open to the emulation.

This does mean that the emulation only realises you've pressed the start button when you actually release it, but it's all so quick I can't think of a situation when this causes any problem.
This sounds great, I like the solution of it starting a game on button release - Nice work!!

One other question I raised earlier in the thread was about saving the BoP scores / settings / etc if shutting down. At the moment you have to exit to the game selector - can the current state save when shutting down via the power switch? It would be great to have this saved without the extra step of exiting (if possible).
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
Snux
Posts: 5
Joined: January 24th, 2015, 2:12 pm

Re: How to save BoP settings

Post by Snux »

I think we're not going to have much luck with that one. MAME is really designed to load the nvram from disk, run the game, and then save the nvram when quitting gracefully.

https://github.com/tomlogic/pinmame/blo ... ame.c#L571

When you power off the pin, the shutdown controller that DP supply is effectively just pressing the power button on the PC. Just like most things in Windows if you press the power button you lose any unsaved work, pinmame is no exception to that. The only option might be to have pinmame write out it's nvram from time to time, but that is so deep in the core of mame (deeper than I've delved) that I don't know what effects that might have. You certainly run a risk that if you power down while it's doing that nvram write, you could corrupt it and then you'll get a factory reset or similar when you power back on.
User avatar
Jesder
Posts: 32
Joined: November 22nd, 2017, 1:53 pm
Location: Melbourne, Australia
Contact:

Re: How to save BoP settings

Post by Jesder »

Snux wrote:I think we're not going to have much luck with that one. MAME is really designed to load the nvram from disk, run the game, and then save the nvram when quitting gracefully.

https://github.com/tomlogic/pinmame/blo ... ame.c#L571

When you power off the pin, the shutdown controller that DP supply is effectively just pressing the power button on the PC. Just like most things in Windows if you press the power button you lose any unsaved work, pinmame is no exception to that. The only option might be to have pinmame write out it's nvram from time to time, but that is so deep in the core of mame (deeper than I've delved) that I don't know what effects that might have. You certainly run a risk that if you power down while it's doing that nvram write, you could corrupt it and then you'll get a factory reset or similar when you power back on.
No worries. Possible changes deep in PinMAME for this is certainly beyond what I was thinking. I was thinking/hoping a high level solution might have been possible, along the lines of the shutdown process on the machine running an exit / close script from pinmame (just as the start button method does) before it powers down. If a simple solution isn't possible, then it's not really worth the trouble for something so small :)
http://www.enteryourinitials.com - Pinball repair, service & restoration write ups

http://www.dutchpinball.com/bop2/live/thegrid - My BoP 2.0 Live Page
Locked