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.7m 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.
    • G
      grant2258 Banned
      last edited by

      @catver try goto settings->inupt-> poll type behaviour there are 3 settings there

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

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

        @catver try goto settings->inupt-> poll type behaviour there are 3 settings there

        Interesting. I have hotkeys disabled on my cab and most of the related functions mapped to NUL so I cannot enter RGUI. I guess I could make some changes to re-enable first, but if there is a retroarch config I can add/edit in my cfg file . . .

        I do have a saved .cfg from my nespi box. I will dig around in there and see if I can find the config item searching for "poll". This sounds promising!

        <EDIT: Found it: input_poll_type_behavior = "2" I will have to explore these values. . .

        I did try setting my usbhid.mousepoll=0 which is supposed to let the device decide the poll rate, but I guess this can drag CPU performance? I am not noticing any slowdowns. Aside from some lag, I can make sensitivity adjustments to avoid backspin, but responsiveness is not like running MAME in the old windows XP days.

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

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

          @caver01 at asying that have the same problem on libreelec on my pie with my touchpad the mouse response is terrible unless i change the the usbhid.mousepoll kernel parameter. I would say keep the setting here that fixes avanced mame as well as trying them modes

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

            @Riverstorm im curious how do you play analog games on mame with a dpad (snes / arcade pannel) without changing inputs general or inputs this game?

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

              @grant2258 Found some details commented in my retroarch.cfg:

              # Influence how input polling is done inside RetroArch.
              # 0 : Early  - Input polling is performed before call to retro_run.
              # 1 : Normal - Input polling is performed when retro_input_poll is
              #     requested.
              # 2 : Late   - Input polling is performed on first call to retro_input_state
              #     per frame
              #
              # Setting it to 0 or 2 can result in less latency depending on
              # your configuration.
              #
              # When netplay is enabled, the default polling behavior (1) will
              # be used regardless of the value set here.
              # input_poll_type_behavior = 1
              

              I am going to try 0 then 2, as 1 is default, and this item is not enabled on my setup--yet.

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

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

                It is hard to prove without more play testing, but I think that setting input_poll_type_behavior = "0" might have improved things a bit.

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

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

                  @grant2258 - That makes sense. I like anything MAME centric. :)

                  How do I play analog games? I'm not sure what you're asking. I start Out Run for example and I can use a keyboard or my controller to play.

                  Are you quizzing me to see if you can trip me up? ;) I I can tell you now it won't be hard to do. Yes I am making assumptions and no I don't fully understand how it works hence the questions but I appreciate you explaining how it works. There's a lot of combinations to test. As you said only a few people fully understand how it works so it requires someone starting to explain it and then others will pass it around on how things work.

                  Yeah when I was referring to the default.cfg being reset it's the name of the file being written when changing Input (general). I started messing with the core options and next thing I know I had to redo all my Input (general) options. Resetting Input (general) is a big deal because it's the "root" config file.

                  I change quite a few options from defaults in Input (general) like L3 for TAB or enter and escape to navigate the menu or adding in the dual sticks inputs for left/left, left/up, etc. All these trickle down to all your game specific config files in Input (this game) so it can make things pretty messy even though it's only one file you're resetting.

                  I am on the latest version so I can safely flip between analog and digital without deleting any cfg files but I will need to redo my Input (general) file?

                  When you say none legacy mode or are you referring to Legacy remapping enabled? I thought that only gave you access to the TAB menu inputs?

                  One thing that might help is remove combo options that don't make sense. Like if I have Legacy Remapping disabled what's the point of being able to change the Input Interface to keyboard or simultaneous. I can't get into the menu. It seems some option combos aren't even viable.

                  On a side note should audio skew be disabled by default for most games?

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

                    not tricks im asking your seriously how do you get a snes pad (outrun no analog stick on it) working mame on a joystick. that is what digital mode is no keyboard in this mix is about joypads. Thats what digital only does changes input general to digital mapping for people with arcade panels because they have no analog controllers.

                    yes input general is default.cfg

                    It not messy at all input this game uses input general unless it highlighted white. The white settings you set never change when changing input general you decided you dont want defaults.

                    There is no reason to use digital only unless you have digital only controllers users that will never use a analog joystick have to set every analog setting in the input general. That can do this manually if they choose too.

                    "I am on the latest version so I can safely flip between analog and digital without deleting any cfg files but I will need to redo my Input (general) file?"
                    yes this is correct.

                    Legacy remapping enabled? - legacy mode
                    none legacy = none legacy

                    any questions to none legacy mode need to be directed to mark its his creation

                    Input Interface to retropad ,keyboard, or simultaneous are basically there for ipac users for flexibility the way RA double maps controls for the tab menu with double presses with from mapping the joypad and keyboard at the same time.

                    audio skew is internal timing there is no reason to change this setting. unless you fix your RA setting up for audio scew leave it as is. Some games will play too fast with default RA settings with it off again no reason to change this but feel free too do what you like with it just dont games like robocop playing too fast if you do.

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

                      @grant2258 - Well I see what you're saying and it makes sense.

                      Basically here's what I have. My inputs have something like left (for digital) or RP1 AXIS 0 X- (for analog) so it works fine on a keyboard and it also works fine on a controller (just tested it).

                      To me left is digital input for an arcade stick. Well the SDL keycode or whatever is the same whether it's an IPAC -> Sanwa or a keyboard.

                      So I figure it will work on my arcade panel with a Sanwa stick but I haven't tested that yet. If you have left configured it works on a keyboard and the Sanwa stick also previously. It seems it should still work for both on my arcade panel with a stick or am I still missing something here.

                      Switching points. If I disable Legacy Remapping and set my Input Interface to simultaneous. I can't access the TAB menu 'inputs' so that option doesn't make sense to me. The same with keyboard. Even in your comment you refer to the TAB menu but you can't access the TAB menu inputs with Legacy Remapping disabled. To me it makes no sense to have those Input Interface options available when it is disabled.

                      With audio skew, sorry I was messing with it and I can't remember if it was enabled or disabled by default. It sounds like it's enabled by default?

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

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

                        Legacy Remapping

                        Legacy Remapping = mame tab menu that why you dont get it it RA that will deal with the controls.

                        Legacy == mame osd

                        none legacy == ra alternative to the tab menu. input interface has nothing to do with this it far from complete the only options you can change its whats in the control menus it needs some work done on it

                        inputs have something like left (for digital) or RP1 AXIS 0 X-

                        exactly a snes pad doesnt have RP1 AXIS 0 X- (lstick analog) and left is a keyboard input it wont work try using your xbox 360 dpad just like it wont work on sanwa unless you map it to analog in ra

                        left (is keyboard left) or joystick RP1 AXIS 0 X-

                        if your using an ipac it will be sending the keyboard control not the dhat

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

                          I suppose i better give you an example load up shinobi this is a digital game.

                          use the default ra mapping for retropad in your ra config for up/down/left right

                          set your input interface to retropad so ra doesnt send keyboard and retropad controls from the keyboard(double input) and only sends the retropad binding

                          set your mode to analog and digital try and move left and right nothing will happen.

                          change change the mode to digital and it will work.

                          now load mame up your digital pad wont work ether unless you map it.

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

                            &grant2258 - I guess certain things don't make sense how they are being worded but I know what they do so that's good enough.

                            I appreciate the input example as I think it will help in understanding what I am missing. I know you know what you're doing being the programmer that implemented it. I am going to sit down tonight and play around and test things out. Thanks again.

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

                              the input interface mode is there for ipac/keyboard support alternatives i named the inputs retropad -> keyboard -> mame

                              mark changed mame to simultaneous i think naming it to mame makes clear it accepts all inputs it just schematics at the end of the day.

                              I dont think legacy mapping is a perfect name either it would be better named mame_osd and RA it more clear that way.

                              This mode is far from complete and it requires you dont mess with the control in input general or input this game this way both modes are supported and dont mess each other up when swapping. You do need to restart when changing this option.

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

                                Ill try simplify this interface option option for you.

                                as you know most cores in ra dont support keyboard only retropad.

                                some background when you map input to keyboard in ra config it binds this to a retropad function. Problem is it sents the keyboard and retropad binding when you press that key.

                                mame reads keyboard inputs as well as retropad so it reads both at the same time as the are sent at the exact same time you will see this in the tab menu.

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

                                case use for this is the user has all his/her ipac/keyboard retropad functions mapped in ra config

                                option2 keyboard makes mame ignore retropad input and uses keyboard only binds this is specifically for ipac users that dont use other controllers.

                                case use for this is the user wants to use the core mame defaults for ipac/keyboard and avoid conflicts with ra retropad keyboard bindings and mame core keyboard bindings differing

                                option3: simultaneous
                                this accepts both inputs now if the user has ra conf binds and conflicts with mame defaults this will be a disaster.

                                the solution is set your ra config to nul not all users want to do this so option2 exists for them.

                                Best solution for this mode use game focus mode it disables keyboard retropad binds and hotkey binds and you have full access to the keyboard

                                people only using normal joystick interfaces do not even have to think about these settings as they are using a joystick encoder not a keyboards encoder.

                                We can remove these options of flexibility and only allow mame to use retropad inputs that would force you set your keyboard input settings in ra if that is something you would think would be better only one way to set it. Everyone has a different setup These options are just there to help people have options

                                1 Reply Last reply Reply Quote 0
                                • 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
                                            • 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.