SOLVED: lr-mame2003 pause screen is black
-
@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 addinput_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).
-
@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.
-
@Rok I have my hot key disabled. Functions like EXIT work fine mapped to a single key.
-
@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 -
- Disable (or remap) the standard mame pause key
- Remap my I-PAC2 controller so that the pause button is something other than "P" and hook that into libretro
- 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?
-
@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?
-
@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!
-
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.
-
@dsstrainer only don't use "O" as that is already used for player 3 SW 4.
-
@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
-
@caver01 Yea i only have a 2 player setup atm but you got the gist.
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.