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

    SOLVED: lr-mame2003 pause screen is black

    Scheduled Pinned Locked Moved Help and Support
    20 Posts 5 Posters 8.1k 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.
    • dankcushionsD
      dankcushions Global Moderator @Rok
      last edited by

      @Rok to get any libretro functions (print screen, quit, save state, load state, etc) working you normally need to hold your defined 'hotkey' first (usually this defaults to the designated select button). this is why you have to hold select AND start to quit, for example.

      1 Reply Last reply Reply Quote 1
      • caver01C
        caver01 @Rok
        last edited by caver01

        @Rok As @dankcushions said, there is a hotkey which is probably keeping your remapped RetroArch pause from working (you need to press both the pause key and the hotkey at the same time). I forget now what was the hotkey default--either num1 or num5), but I disabled my hotkey functionality because it was driving me crazy. I don't use hand-held controllers--I have arcade controls--and I would be playing Metal Slug, frantically trying to drop coins and push Player 1 start, and BOOM that combo would trigger the game to exit (one key was the hotkey, the other was mapped to EXIT)! I think I did it once by accident trying to re-enter a game of Gauntlet. That can really make the 3 other players upset!

        If you are trying to get away from overlapping keys, you might reconsider using num2, as that is already used in MAME for Player 2 start.
        My workaround for MAME that I will use will be to edit /opt/retropie/configs/mame-libretro/retroarch.cfg like you did and add input_pause_toggle = "nul". This will effectively remove the retroarch pause since I already have the P key working inside the emulator itself.

        Your modification with the Player 1 UP is probably now resulting in RetroArch sending UP when you push LEFT, and MAME is still interpreting LEFT as LEFT, so both happen together at the same time. It can get pretty confusing, especially if you have made input modifications in-game (which MAME saves for that game specifically).

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

        1 Reply Last reply Reply Quote 1
        • R
          Rok
          last edited by

          @dankcushions : Ahhh, that's what I was missing! Pressing hotkey + P uses the libretro pause and freezes the picture perfectly.

          @caver01 : My table also has arcade controls (I've just posted a few pictures over in the projects and themes thread if you're interested). I added buttons on the side of the table for the purpose of pausing games and returning to the menu. Using non-libretro emulation this isn't a problem but I'd like to get them working with the libretro emulators. I think I read that it's possible to disable the hotkey so that actions can be mapped to single keys. I hope that's right as it's the only way I can think to get pause and exit working on the single button presses. And if I can do that I'll have to disable them from the standard mame controls apparently. It's time for some playing around with the config files I think!

          The black pause screen issue is sorted anyway. Thanks everyone for your input.

          caver01C 1 Reply Last reply Reply Quote 0
          • caver01C
            caver01 @Rok
            last edited by caver01

            @Rok I have my hot key disabled. Functions like EXIT work fine mapped to a single key.

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

            R 1 Reply Last reply Reply Quote 1
            • R
              Rok @caver01
              last edited by

              @caver01 : I've made progress! I've modified /opt/retropie/configs/mame-libretro/retroarch.cfg with the following -

              input_enable_hotkey = "nul"
              input_exit_emulator = "escape"
              

              This means I can exit games by simply hitting my exit button. Great! Pause is still broken however because it's performing the (desired) libretro pause as well as the (undesired) mame pause. Not only am I getting a black screen, but I have to press the pause button three times to unpause the game! I can see three ways of fixing this behaviour -

              1. Disable (or remap) the standard mame pause key
              2. Remap my I-PAC2 controller so that the pause button is something other than "P" and hook that into libretro
              3. Disable the libretro pause key and stick with the standard mame pause that's blacking out the screen

              Any idea if there's a way of disabling the standard pause key as (1) is definitely my preferred option?

              dankcushionsD 1 Reply Last reply Reply Quote 0
              • dankcushionsD
                dankcushions Global Moderator @Rok
                last edited by

                @Rok I think if you hit the tab key in-game, and look in the global input options, there should be a binding somewhere for the pause button. just bind it to something else or I think if you press delete it clears it?

                R 1 Reply Last reply Reply Quote 1
                • R
                  Rok @dankcushions
                  last edited by Rok

                  @dankcushions : You're a superstar!

                  For anyone in a similar situation, wanting to map P for pause and Esc for exit in lr-mame2003, here are my modifications to /opt/retropie/configs/mame-libretro/retroarch.cfg -

                  # Remove the need for pressing a hotkey combination to activate pause and/or exit
                  input_enable_hotkey = "nul"
                  
                  # Change the exit button
                  input_exit_emulator = "escape"
                  
                  # Disable other hotkeys manually
                  input_state_slot_increase = "nul"
                  input_state_slot_decrease = "nul"
                  input_reset = "nul"
                  input_toggle_fast_forward = "nul"
                  input_menu_toggle = "null"
                  input_toggle_fullscreen = "nul"
                  input_netplay_flip_players = "nul"
                  input_frame_advance = "nul"
                  input_rewind = "nul"
                  
                  # Disable Mame's default pause button by hitting tab in-game and removing the global pause key bind
                  

                  My table is now working exactly as I wanted it to! I may move these changes into the global retroarch file later but for now everything is great. Thanks guys!

                  1 Reply Last reply Reply Quote 2
                  • D
                    dsstrainer
                    last edited by

                    The libretro pause is far superior since it doesn't black the screen. Change the mame2003 in-game pause to something like "o" and leave retroarch pause as is so that it is consistent with all other emulators.

                    RetroPie v4.2 • RPi3 Model B • 5.1V 2.5A PSU • 8GB SanDisk class 10 microSD • 16GB External USB Thumb Drive
                    Roms, images and configs stored in USB and symlinked from normal microsd location
                    Xarcade Keyboard encoder + Zero Delay Joystick encoder

                    caver01C R 2 Replies Last reply Reply Quote 0
                    • caver01C
                      caver01 @dsstrainer
                      last edited by

                      @dsstrainer only don't use "O" as that is already used for player 3 SW 4.

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

                      D 1 Reply Last reply Reply Quote 0
                      • R
                        Rok @dsstrainer
                        last edited by

                        @dsstrainer Thanks, but this was solved quite a while ago. I am using the LibRetro pause. The other part of the problem was getting the pause and reset functions to work on single button presses, hence the described LibRetro config modifications. Thanks for the suggestions though - much appreciated

                        1 Reply Last reply Reply Quote 0
                        • D
                          dsstrainer @caver01
                          last edited by

                          @caver01 Yea i only have a 2 player setup atm but you got the gist.

                          RetroPie v4.2 • RPi3 Model B • 5.1V 2.5A PSU • 8GB SanDisk class 10 microSD • 16GB External USB Thumb Drive
                          Roms, images and configs stored in USB and symlinked from normal microsd location
                          Xarcade Keyboard encoder + Zero Delay Joystick encoder

                          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.