• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
RetroPie forum home
  • Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

LR-MAME2003 speeding up with B-button press

Scheduled Pinned Locked Moved Help and Support
lr-mame2003speedbutton
22 Posts 8 Posters 7.0k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C
    caver01
    last edited by 22 Feb 2017, 16:56

    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".

    My 4-player cocktail style cabinet built as a custom "roadcase"

    D 1 Reply Last reply 22 Feb 2017, 17:22 Reply Quote 0
    • D
      dankcushions Global Moderator @caver01
      last edited by 22 Feb 2017, 17:22

      @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#L18

      so yeah, if this was an issue it should be affecting everyone with a default setup.

      G C 2 Replies Last reply 22 Feb 2017, 17:33 Reply Quote 0
      • G
        GtBFilms @dankcushions
        last edited by 22 Feb 2017, 17:33

        @dankcushions

        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.

        1 Reply Last reply Reply Quote 0
        • R
          RumblinBuffalo
          last edited by 22 Feb 2017, 17:46

          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.

          1 Reply Last reply Reply Quote 0
          • D
            dankcushions Global Moderator
            last edited by 22 Feb 2017, 17:49

            SOLVED:
            https://github.com/libretro/mame2003-libretro/blob/7b55725e744ac9702db092f996e2fca2276146b2/src/drivers/pacman.c#L1016

            there's a speedup hack in pacman + ms pacman that is bound to button1.

            G R 2 Replies Last reply 22 Feb 2017, 17:54 Reply Quote 2
            • G
              GtBFilms @dankcushions
              last edited by GtBFilms 22 Feb 2017, 17:54

              @dankcushions

              Wow, nicely discovered!

              Thanks!

              1 Reply Last reply Reply Quote 0
              • W
                windale
                last edited by 22 Feb 2017, 17:57

                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

                1 Reply Last reply Reply Quote 1
                • C
                  caver01 @dankcushions
                  last edited by caver01 22 Feb 2017, 18:02

                  @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

                  My 4-player cocktail style cabinet built as a custom "roadcase"

                  1 Reply Last reply Reply Quote 0
                  • R
                    RumblinBuffalo @dankcushions
                    last edited by 22 Feb 2017, 20:32

                    @dankcushions said in LR-MAME2003 speeding up with B-button press:

                    SOLVED:
                    https://github.com/libretro/mame2003-libretro/blob/7b55725e744ac9702db092f996e2fca2276146b2/src/drivers/pacman.c#L1016

                    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.

                    1 Reply Last reply Reply Quote 0
                    • R
                      RumblinBuffalo
                      last edited by 23 Feb 2017, 04:44

                      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.

                      D 1 Reply Last reply 23 Feb 2017, 11:31 Reply Quote 0
                      • D
                        dankcushions Global Moderator @RumblinBuffalo
                        last edited by dankcushions 23 Feb 2017, 11:31

                        @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.

                        C 1 Reply Last reply 23 Feb 2017, 17:13 Reply Quote 0
                        • C
                          caver01 @dankcushions
                          last edited by 23 Feb 2017, 17:13

                          @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.

                          My 4-player cocktail style cabinet built as a custom "roadcase"

                          1 Reply Last reply Reply Quote 0
                          • R
                            RumblinBuffalo
                            last edited by 24 Feb 2017, 01:32

                            @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.

                            1 Reply Last reply Reply Quote 0
                            • D
                              dankcushions Global Moderator
                              last edited by 25 Feb 2017, 16:48

                              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 :)

                              pjftP 1 Reply Last reply 25 Feb 2017, 22:26 Reply Quote 2
                              • pjftP
                                pjft @dankcushions
                                last edited by 25 Feb 2017, 22:26

                                @dankcushions thanks for the quick turnaround! I have updated though I haven't tried it yet. Have a great weekend :)

                                1 Reply Last reply Reply Quote 1
                                • R
                                  RumblinBuffalo
                                  last edited by RumblinBuffalo 26 Feb 2017, 04:00

                                  @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!

                                  1 Reply Last reply Reply Quote 1
                                  • fritzF
                                    fritz
                                    last edited by 16 Mar 2017, 20:32

                                    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.

                                    1 Reply Last reply Reply Quote 0
                                    • Thorr69T
                                      Thorr69
                                      last edited by 20 Jul 2019, 18:49

                                      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?

                                      RPi 3b
                                      Official PSU
                                      Official RetroPie image
                                      Pandora's Box 5 controller

                                      1 Reply Last reply Reply Quote 0
                                      • First post
                                        Last post

                                      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.

                                        This community forum collects and processes your personal information.
                                        consent.not_received