RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support

    Scheduled Pinned Locked Moved Ideas and Development
    mame
    1.5k Posts 70 Posters 1.8m 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.
    • RiverstormR
      Riverstorm
      last edited by Riverstorm

      @grant2258 - I appreciate the explanations as they do help and I do prefer the flexibility of all the options. I think I get the 3 modes and I actually use option 3. The thing to remember with option 3 is you can't 'nul' player 1 inputs (most but not all) because that is how you navigate RA. You can 'nul' all of the player 2, 3 and 4 inputs though.

      Option 1 might be a possibility but I would have to go through and bind everything in RA and revamp my setup.

      Option 2 is out because I can't bind my controller in the MAME TAB, only the keyboard.

      Option 3 is what i use right now. I don't 'nul' any inputs though with option 3 but set RA to match MAME so the double/ghost inputs are still there but they have no effect per se. It also allows for NOT mappings for single stick tank stick games and the like.

      I might still be missing it but when I set Legacy Remapping to disabled I no longer have the ability to bind any MAME inputs for either option 2 or 3 because I can't access the TAB menu.

      So in my thoughts I think the only viable option is RetroPad and I would "gray" the other two options out when it is disabled. When it is enabled then all 3 options make sense. I don't know how else to explain what I am trying to point out with that.

      I was talking with @UDb23 in another thread about TAB inputs I was typing up what I did to troubleshoot the Sky Diver input issue over the past few days when we got into a discussion on inputs this seems kind of inline with this discussion.

      While this may not be the perfect explanation or the exact correct words. This is how I've come to understand the RA "hierarchy" when I am troubleshooting with option 3. I know option 3 has inherent dangers. Anyway it ended up being way longer than I had thought last night even though it only take a few minutes to run through it and find the issue in your thoughts after using focus mode to know it was a MAME/RA conflict.


      It may be the tail wagging the dog but I configure my RA inputs to match MAME mostly as that was my main game focus, arcade games. If you read through that link @grant2258 posted the hardest concept for me to wrap my head around was the RetroPad inputs for the longest time. I try to think of it as a position on a controller and a variable that requires a value(s) to be set. That line is my shortest summary of the key for me to understanding.

      Using the issue I was having with Sky Diver. Player 2 would jump and deploy his chute with a single key press of either button 1 or 2.

      In mame2003-plus when I play the game it shows this as the defaults (for player 2 buttons) in the MAME TAB menu:

      P2 Button 1 = a or RP2 B or Mouse2 LClick
      P2 Button 2 = s or RP2 A

      Using P2 button 1 as an example I know two things for sure. Player 2 button 1 will work with a and Mouse2 LClick. I would call those direct/raw inputs. Notice the 'or' between each input value.

      Now if you asked me what is the value of RP2 B = ? from the above line. I don't know immediately because I think of it as variable (like programming) that will hold a value so I need to go find it.

      To find that value I start at the top of the hierarchy which would be global inputs. Here I find input_player2_a = "s" in the retroarch.cfg file. What that tells me is RP2 B = "s".

      So for the time being I can revise my player 2 inputs (for button 1) from the line above to be read like this:

      P2 Button 1 = a or s or Mouse2 LClick

      Basically I replaced RP2 B with s. Now I know at least three values work for Player 2 button 1 and those being a, s, and mouse 2 left click. This doesn't include controllers.

      Finding that RP2 Bvalue can get a little bit tricky. I have to go through this process several times going from my system, ROM and finally to my core inputs to see if anything is overriding my globally definedsvalue. At any of those RA levels that value may be overrode. The order of inheritance is global, system, core and ROM.

      So for example I could go into the system level and change the value of RP2 B with this input line:

      input_player2_a = "a".

      Now if I look in my global level retroarch.cfg file I would see RP2 B = "s" but if I look in my system level retroarch.cfg file I would see RP2 B = "a".

      To know which value is correct you need to know the order of inheritance. I know that the system level has a higher priority than the global so the correct value would be RP2 B = "a".

      Now you need to continue through each RA level looking for override inputs.

      To summarize you basically need to look through each RA input level when troubleshooting to know the correct value of RA inputs.

      The issue I had with Sky Diver:

      Original problem MAME TAB inputs:

      P2 Button 1 = a or RP2 B or Mouse2 LClick
      P2 Button 2 = s or RP2 A

      Original problem Retroarch inputs:

      input_player2_a = "a"
      input_player2_b = "s"

      Now if I exchange the RP2 A and B "variables" with values I located by going through all the levels MAME TAB it would look like this:

      P2 Button 1 = a or s or Mouse2 LClick
      P2 Button 2 = s or a

      You can see from the two mame2003-plus TAB input lines above Button 1 and 2 were both sending a and s for either button. Basically Player 2 would jump and deploy the chute simultaneously, using either button 1 or 2, it didn't matter which one I pressed.

      There's several ways to fix the issue but the simplest would be to swap my RA inputs to match MAME inputs like below.

      New fixed Retroarch inputs:

      input_player2_a = "s"
      input_player2_b = "a"

      My new TAB values inputs now look like this:

      P2 Button 1 = a or a or Mouse2 LClick
      P2 Button 2 = s or s

      Now you notice each line has a twice and s twice (the infamous double/ghost inputs). I have direct/raw input as well as Retroarch input. The first a is direct input along with Mouse2 LClick and the second a is coming from the Retroarch defined inputs from global or another level.

      The other thing to keep in mind this is just the "keyboard" inputs you still have controller input which is basically the same steps.

      So to add one more layer of complexity here. Remember when I said to think of RP2 B as a variable. Now think of it as an array that may have more than one input value. So RP2 B may be the s key from the keyboard (as in the example above) and it may also be a controller value like button 1 at the same time. Both are inputs along with the direct input if that makes sense.

      This is just the "simultaneous" input explanation. You could change your Quick Menu -> Options -> Input Interface to RetroPad and and only accept Retropad binds set in the MAME TAB menu or change it to Keyboard and use keyboard only inputs in the TAB menu.

      Those methods are simpler but there's some benefits to having access to the TAB and RA together, like using a single Sanwa joystick to play some of the tank games like Vindicators to move the tank which originally required two sticks.

      1 Reply Last reply Reply Quote 0
      • G
        grant2258 Banned
        last edited by grant2258

        This is just the "simultaneous" input explanation. You could change your Quick Menu -> Options -> Input Interface to RetroPad and do away with all the TAB inputs or change it to Keyboard and use TAB only inputs.

        should read

        This is just the "simultaneous" input explanation. You could change your Quick Menu -> Options -> Input Interface to RetroPad and only accepet retropad binds set in the mame tab menu, or change it to Keyboard and use keyboard only inputs in the tab menu.

        @Riverstorm anything that is legacy mode disabled you will need yto ask mark about im not sure what he is going to do with this.

        I would advise this to new users with an ipac dont sweat it put on game focus mode and it will work the way you think it should for an ipac. If you want to get more advanced you need to learn how RA input works.

        1 Reply Last reply Reply Quote 0
        • RiverstormR
          Riverstorm
          last edited by Riverstorm

          @grant2258 - Ok thanks, I made the correction as suggested. I hit the end of the line last night and was done. I am ok with how things are setup now but at some point I might take the plunge and try option 1 although I do prefer the MAME TAB menu.

          Honestly I don't know have any great ideas to simplify things but they do feel complicated but also as you said starting out new the defaults are definitely workable. I appreciate the example and explanations in helping with understanding.

          1 Reply Last reply Reply Quote 0
          • G
            grant2258 Banned
            last edited by grant2258

            i think wires may be crossed somewhere option1 is still usable in the tab menu. Im not sure what you mean by this there might be some miss understanding here

            as for legacy mode = disabled

            this mode is where ra is supposed to setup the controls menu not the tab menu it needs a lot of work that why they have a diff config files. These need to be default and set to digital to work for the most part. Again it very preliminarily youll need to ask mark about his intentions with this mode but from the past im sure he will come up with something none of us have thought of. Think of it of ra trying to do the job of the tab menu wip.

            1 Reply Last reply Reply Quote 0
            • RiverstormR
              Riverstorm
              last edited by

              option1 retropad makes mame ignore the keyboard and only accept the retropad binding from the keyboard.

              @grant2258 - When I have Legacy Remapping set to enabled and Input Interface set to RetropadI can't get into the TAB menu so I figured it was RA bindings only, not the case?

              G 1 Reply Last reply Reply Quote 0
              • G
                grant2258 Banned @Riverstorm
                last edited by grant2258

                @Riverstorm the default is set to l3 in input general if you map in your ra config the menu will open. The reality is mame only used 6 buttons so l2 r2 l3 r3 are possibilities

                1 Reply Last reply Reply Quote 0
                • RiverstormR
                  Riverstorm
                  last edited by

                  @grant2258 - Ah, I see, so Retropad ignores keyboard input? Keyboard ignores controller input and simultaneous allows both keyboard, controller and RA inputs, hence the double inputs?

                  What if you wanted to use RA only for both keyboard and controller. That is Legacy Remapping set to disabled?

                  G 1 Reply Last reply Reply Quote 0
                  • G
                    grant2258 Banned
                    last edited by

                    no thats input interface = simultaneous

                    Legacy Remapping enabled == allows you to use the tab menu mame osd like you do in mame to set your controls

                    Legacy Remapping disabled == use ra quick menu->controls for setting controls its far from complete

                    1 Reply Last reply Reply Quote 0
                    • G
                      grant2258 Banned @Riverstorm
                      last edited by grant2258

                      Let me re itterated when you map keyboard input setting in ra config

                      it sends that key and a retropad bind you bound it too to the core

                      mame picks both these inputs up in the core if we choose a mode other than simultaneous it drops the one you dont want. hope that was clear this is so ipac users have options.

                      in simultaneous mode we accept both

                      game focus mode disables all ra extra binds sends from the keyboard and keyboard is freed up to work as it should apart from the game focus key

                      1 Reply Last reply Reply Quote 0
                      • RiverstormR
                        Riverstorm
                        last edited by

                        @grant2258 - So when Legacy Remapping is disabled does changing Input Interface make a difference?

                        What's the difference between "setting in ra config" and a "retropad bind"? I think of them as the same thing. Basically going into settings -> input -> user 1 binds.

                        1 Reply Last reply Reply Quote 0
                        • G
                          grant2258 Banned
                          last edited by

                          ok lets deal with one thing at a time forget legacy mode == disabled this just disabled the tab menu right now nothing more at the moment.

                          "What's the difference between "setting in ra config" and a "retropad bind"? I think of them as the same thing. Basically going into settings -> input -> user 1 binds."

                          yes this correct

                          1 Reply Last reply Reply Quote 0
                          • RiverstormR
                            Riverstorm
                            last edited by

                            So what is "that key" and the "retropad bind" is sent to the core. The retropad bind I get but what is "that key" mean?

                            1 Reply Last reply Reply Quote 0
                            • G
                              grant2258 Banned
                              last edited by

                              in ra config

                              input_player2_a = "s"

                              ra sends the keycode s as it should and adds a retropad2 a joycode

                              in simultaneous mode in mame
                              you pressed s and retropad2 a

                              1 Reply Last reply Reply Quote 0
                              • RiverstormR
                                Riverstorm
                                last edited by

                                When in the TAB menu you see this line:

                                P2 Button 1 = a or RP2 B or Mouse2 LClick

                                Is "a" and "mouse click" the other key, whereas, RP2 B is the RA bind, not sure if that makes sense.

                                1 Reply Last reply Reply Quote 0
                                • RiverstormR
                                  Riverstorm
                                  last edited by Riverstorm

                                  Ok, so when I see in quick menu -> controls Auto: 9 (N/A), (Key: num1) Start.

                                  The num1 is the RA bind and the 9 is the retropad joycode? I always think of it as binding two keys to one input?

                                  Can you give me an example of where you set the "retropad2 a joycode" or is that both in one line?

                                  1 Reply Last reply Reply Quote 0
                                  • G
                                    grant2258 Banned
                                    last edited by grant2258

                                    im lost what are you asking? If you stuggling with this just use game focus mode

                                    1 Reply Last reply Reply Quote 0
                                    • RiverstormR
                                      Riverstorm
                                      last edited by Riverstorm

                                      Sorry I am not quite getting the "retropad2 a joycode". I get the input_player2_a = "s" set in my retroarch.cfg

                                      I think of binds as RA in the settings -> input or quick menu -> controls but also in the controls menu you can see the controller binds. Like button 9 is select/credits usually on a controller for me but I am taking it the controller is not the "retropad2 a joycode". :)

                                      1 Reply Last reply Reply Quote 0
                                      • G
                                        grant2258 Banned
                                        last edited by grant2258

                                        it means button 9 on the controller and keynum1 is mapped to start

                                        is this case scenario keynum1 would sent sent the a retropad start and keycode keynum1

                                        1 Reply Last reply Reply Quote 0
                                        • RiverstormR
                                          Riverstorm
                                          last edited by

                                          If I can get that piece I get the input options now. in dropping one or the other or accepting both.

                                          1 Reply Last reply Reply Quote 0
                                          • RiverstormR
                                            Riverstorm
                                            last edited by Riverstorm

                                            When I think of the RA retropad I think of two bindings, one to the keyboard and one to the controller for each input?

                                            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.