LR-MAME2003 speeding up with B-button press
-
@caver01 I greatly appreciate the response and suggestions. The key to the whole issue was that it was only Mame 2003. lr-Mame4all did not exhibit the problem, nor did any of the consoles.
Turns out it was the UI back/exit key in the Mame 2003 UI (tab menu). Initially, the UI back/exit key was set to "ESC or gamepad-B". I tested with Ms Pacman. Without touching the gamepad, I pressed ESC repeatedly and sure enough, the game sped-up with each press. When I re-mapped the UI exit/back function away from the B button (I chose L1), the problem followed that button.
So the solution for me, was to re-map the "UI escape/back" function to another button in the Mame UI (tab) menu.
I only started using Mame2003 about 2 months ago (mainly to try @dankcushions shader overrides), and I noticed the problem right away (with a clean 4.1 image install) but I initially thought it was only certain roms. I hadn't realized it was with every press of the B button. Joust was the most noticeable since you press B constantly to fly.
Hopefully this info helps somebody out, if they ever happen to see this issue pop up.
-
this is interesting. i can't see why this would happen, but i will test myself. "UI cancel" should have no impact on game speed, and B would be a button i press all the time, so i assume it's something specific with your setup.
but yeah, if anyone else could test that would be helpful! i will try and do the same soon.
-
I would test, but my image is a few revs back, kept updated. Also, as an iPAC user, I have a dedicated button <ESC> to exit the core which overrides the MAME "back/exit" so I always just navigate to the "previous menu" choice in the GUI. It seems like you would quickly get into trouble trying to map a button to a game control if that same button is already mapped to the UI "back/exit".
-
@caver01 said in LR-MAME2003 speeding up with B-button press:
It seems like you would quickly get into trouble trying to map a button to a game control if that same button is already mapped to the UI "back/exit".
to be clear, the 'ui cancel' button is not the 'exit mame' button. in fact, it is mapped to button 1 (retropad b) by default.
https://github.com/libretro/mame2003-libretro/blob/7b55725e744ac9702db092f996e2fca2276146b2/src/inptport.c#L213
and
https://github.com/libretro/mame2003-libretro/blob/master/src/libretro/joystick.c#L18so yeah, if this was an issue it should be affecting everyone with a default setup.
-
I noticed this with Pacman. Didn't think anything of it, as I don't usually press that button (as Pacman doesn't have ANY buttons mapped, apart from insert coin and P1 start I guess).
Just thought it was a weird one-off.
I'll try it again tonight.
-
so yeah, if this was an issue it should be affecting everyone with a default setup
@dankcushions I would agree. I can tell you I first noticed this when I first setup my fresh 4.1 install. Testing "Mat Mania" was the first game I noticed. Every time I pressed the B (punch button) I could hear the music speed up slightly. I thought it was just the rom so I used lr-mame4all for that rom and it was fine. Then I started noticing it with others.
Last night, when I narrowed it down, I was able to reproduce the issue with Ms Pacman, without even playing. I just let the demo run, and started pressing the ESC key on my keyboard (mapped to the UI back button) and I could see tiny speed bursts in the game. With a game running, you can actually hear it.
I'll wait till you've tested, but I can't figure out what I might have set different that wouldn't be default for everyone. I had basically setup my gamepad (basic setup, no problems) and the shader override configs when I first noticed.
-
there's a speedup hack in pacman + ms pacman that is bound to button1.
-
-
There is also something similar in the game Track & Field and/or Hypersports ? One of the buttons is mapped to a 'Run Like Hell' cheat, which needs to be turned off/remaped for most of the events and entering your name
-
@dankcushions said in LR-MAME2003 speeding up with B-button press:
to be clear, the 'ui cancel' button is not the 'exit mame' button. in fact, it is mapped to button 1 (retropad b) by default.
That makes sense. I made it more confusing, partly because while navigating the GUI menus in AdvanceMAME, you can back out of the menus with <ESC> which is also the EXIT key. I always forget it works differently in the lr-mame2003 GUI
-
@dankcushions said in LR-MAME2003 speeding up with B-button press:
there's a speedup hack in pacman + ms pacman that is bound to button1.
I'm not sure this is the same issue that I am indicating. I'll try a few more roms later - and provide examples - but I have seen this issue in far more than just Pacman/MsPacman. I know that Mat Mania, Dig Dug, Joust and others all had the same issue, and as soon as I removed "B" from the mapping for "UI back" the problem went away. And tapping the ESC key (still mapped to "UI back") still showed the issue.
I agree that it makes no sense that "UI back" should do anything in the game, but in my experience it seems to skip a frame or create a split-second speed-up.
-
I tested a few more roms tonight.
Just to be sure, in the Mame2003 UI, I have mapped "UI back" to the ESC key and to the retropad button L1.
"Ui back" should have no effect on games, but with all games I tested, I could see/hear the speed up effect by pressing the L1 button on my gamepad. I tested Dig Dug, Frogger, Ghouls 'n Ghosts, and Kung Fu Master. It also happened with the ESC key, which should eliminate my gamepad as a cause.
I really don't believe I have any setting changed from the default in Mame2003 that would cause this, but the fix was easy enough (just make sure I un-map the "UI back" command away from any gamepad buttons that are used).
I will mention the effect is very subtle, so it's possible with many games in Mame2003, perhaps people just don't notice. It took me 2 months to realize it was with every rom.
As always - appreciate all the responses and efforts.
-
@RumblinBuffalo said in LR-MAME2003 speeding up with B-button press:
I tested a few more roms tonight.
Just to be sure, in the Mame2003 UI, I have mapped "UI back" to the ESC key and to the retropad button L1.
"Ui back" should have no effect on games, but with all games I tested, I could see/hear the speed up effect by pressing the L1 button on my gamepad. I tested Dig Dug, Frogger, Ghouls 'n Ghosts, and Kung Fu Master. It also happened with the ESC key, which should eliminate my gamepad as a cause.
I really don't believe I have any setting changed from the default in Mame2003 that would cause this, but the fix was easy enough (just make sure I un-map the "UI back" command away from any gamepad buttons that are used).
I will mention the effect is very subtle, so it's possible with many games in Mame2003, perhaps people just don't notice. It took me 2 months to realize it was with every rom.
As always - appreciate all the responses and efforts.
assuming you mean "UI Cancel" rather than "UI back" (which i don't think exists?) i think i see where your issue MIGHT be: https://github.com/libretro/mame2003-libretro/blob/7b55725e744ac9702db092f996e2fca2276146b2/src/usrintrf.c#L3856
i need to confirm, but i'm sure your right. it does look like it's polling UI_CANCEL every frame for whatever reason.
-
@dankcushions said in LR-MAME2003 speeding up with B-button press:
it does look like it's polling UI_CANCEL every frame for whatever reason.
It looks like that check is there to accept UI_CANCEL for when/if the OSD MENU is open. If it is, it triggers the menu to close, screen to refresh.
-
@dankcushions You're right - I meant UI_CANCEL.
So if I understand correctly, the theory is that polling allows the UI-CANCEL command to be activated/triggered by the button press (even when the UI menu isn't present), thus causing the tiny frame jump that I kept seeing?
Thanks as always for your efforts.
-
This is now fixed! please update mame2003 from source to get the fix straight away (takes about 40 minutes to install)
Thanks very much to @RumblinBuffalo for the good spot and report!This was a bit of a clunky bug that would have gone missed without your attention :)
-
@dankcushions thanks for the quick turnaround! I have updated though I haven't tried it yet. Have a great weekend :)
-
@dankcushions Glad to be of assistance and thanks for the quick attention and update. I'll say it again - the efforts of the Retropie team and this community are really impressive! Many thanks!
-
Thanks for addressing the issue, much appreciated. But:
The fix does appear to solve a few symptoms of the problem, but it does not solve the problem itself. There is still a check on the b-button, and it does slow down/skip frames on some occasions.
Try for instance Commando or Flying Shark. Some proper fast button mashing on B will still slow down the game or result in slightly visible frameskips.
-
Ressurecting this topic because I noticed that after I upgraded to RPi 4.5 that the speed cheat in Ms pac-man stopped working altogether. I checked the inputs on the TAB menu and button B isn't listed there. There are no dipswitch settings for it, either. I am curious if this is a driver change or if it's something that got broken in the update?
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.