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

      @robertvb83 said in mame2003-plus: 250 new games, new input system, new features, new bugs:

      i am not dumping anything. i dont map button 6 in 4 button games, whoo hoo

      We might be failing to communicate or I might not be understanding. Maybe we have two discussions happening? ;) RA has this setup and it won't change.

      YXL
      BAR
      

      Those six inputs will be mapped to MAME inputs. This is just for illustrative purposes and may not use the exact scheme but makes the point. Where is my "L" button? You're binding button 4 to R (a second time) and shifted YX to the right.

      RYX
      345
      123
      BAR
      

      You're favoring a 3 and 4 button layout simultaneously in lieu of any 6 button layout. Which leaves you later to address the issue of a 6th button at some point whether that be through ROM level remaps, etc.

      This bind will be global when the layout is loaded and then you'll need to address 6 button games.

      Using either :

      123
      456
      

      OR

      456
      123
      

      Still allows 6 button games to work and at least covers every game for everyone even if the button rows are correct or swapped as in either layout above.

      With your suggested subtype mapping 6 buttons games will never work unless you do a ROM level override. When that subtype is loaded. That's the key right there. It (button 6) doesn't exist in that subtype with those mappings. You gimped those games in favor of a combined 3/4 button simultaneous layout.

      robertvb83R 1 Reply Last reply Reply Quote 0
      • robertvb83R
        robertvb83 @grant2258
        last edited by

        @grant2258 said in mame2003-plus: 250 new games, new input system, new features, new bugs:

        o   o 
          o
        o   o
        
        

        layout

        i think
        345
        123
        would suit pretty well (muahaha)

        My full size arcade cabinet Robotron vs. Octolyzer

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

          @robertvb83 said in mame2003-plus: 250 new games, new input system, new features, new bugs:

          @grant2258 said in mame2003-plus: 250 new games, new input system, new features, new bugs:

          o   o 
            o
          o   o
          
          

          layout

          i think
          345
          123
          would suit pretty well (muahaha)

          and you call me crazy :D

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

            @robertvb83 you should have just glued a snes pad onto of your cabinet :) :D

            robertvb83R 1 Reply Last reply Reply Quote 0
            • robertvb83R
              robertvb83 @grant2258
              last edited by robertvb83

              @grant2258 i could not play 3 button games 123 ;-)

              My full size arcade cabinet Robotron vs. Octolyzer

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

                To add to the above. Your suggested layout would leave MAME button 6 to equal 'NUL' because it's left unmapped by the subtype. Any game using MAME button 6 will just simply fail to respond. Well it won't exist to actually press.

                1 Reply Last reply Reply Quote 0
                • robertvb83R
                  robertvb83 @Riverstorm
                  last edited by

                  @riverstorm said in mame2003-plus: 250 new games, new input system, new features, new bugs:

                  RYX
                  345
                  123
                  BAR
                  

                  this is not how it works! it will be

                  345
                  YXL
                  BAR
                  123
                  

                  My full size arcade cabinet Robotron vs. Octolyzer

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

                    @robertvb83 said in mame2003-plus: 250 new games, new input system, new features, new bugs:

                    @riverstorm said in mame2003-plus: 250 new games, new input system, new features, new bugs:

                    RYX
                    345
                    123
                    BAR
                    

                    this is not how it works! it will be

                    345
                    YXL
                    BAR
                    123
                    

                    this is correct but the point remains the same button 6 is not assigned ! im going to drill you a extra button! lol

                    1 Reply Last reply Reply Quote 0
                    • robertvb83R
                      robertvb83
                      last edited by robertvb83

                      my next cab will be

                      333
                      YXL
                      BAR
                      333
                      

                      that way its more of a Challenge because i can only use mame button 3 for ALL the games

                      My full size arcade cabinet Robotron vs. Octolyzer

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

                        @robertvb83 thats it im removing button 3 from mame ahahah :)

                        robertvb83R 1 Reply Last reply Reply Quote 0
                        • robertvb83R
                          robertvb83 @grant2258
                          last edited by

                          @grant2258 ill beat the games Joystick only, no problem

                          My full size arcade cabinet Robotron vs. Octolyzer

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

                            @robertvb83 honestly though i can see why you want it setup like gamepad. it is unusal to do this but not really a wrong thing to do if like that layout. Maybe some people want a gamepad layout instead. I prefer arcade styles is all. The good thing now is mame is flexible enough to do both regardless of default mapping now. People will have to learn RA mapping is all

                            robertvb83R 1 Reply Last reply Reply Quote 0
                            • robertvb83R
                              robertvb83 @grant2258
                              last edited by robertvb83

                              @grant2258 i dont want to but i have to, because there is no arcade layout for 4 button games on a 6 button panel
                              4
                              123
                              is not by any means a proper arcade layout

                              but yes understanding and learning RA is key and then its only 5 minutes to do whatever you want

                              My full size arcade cabinet Robotron vs. Octolyzer

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

                                @robertvb83 said in mame2003-plus: 250 new games, new input system, new features, new bugs:

                                caus

                                agreed but its just as valid as
                                34
                                12

                                robertvb83R 1 Reply Last reply Reply Quote 0
                                • robertvb83R
                                  robertvb83 @grant2258
                                  last edited by robertvb83

                                  @grant2258 said in mame2003-plus: 250 new games, new input system, new features, new bugs:

                                  @robertvb83 said in mame2003-plus: 250 new games, new input system, new features, new bugs:

                                  caus

                                  agreed but its just as valid as
                                  34
                                  12

                                  i can accept that

                                  My full size arcade cabinet Robotron vs. Octolyzer

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

                                    Maybe a different way to explain it using your example above. I just trying to make a point about the concept and not the actual values. Here is your mapping example below.

                                    Subtype:

                                    345
                                    YXL
                                    BAR
                                    123

                                    MAME Mappings:

                                    MAME 1 = RA B
                                    MAME 2 = RA A
                                    MAME 3 = RA R
                                    MAME 3 = RA Y
                                    MAME 4 = RA X
                                    MAME 5 = RA L
                                    MAME 6 = ? (NUL)

                                    Looking at the above example you mapped button 3 twice. You're saying MAME 3 = 'RA R' and you're saying MAME 3 = 'RA Y' at the same time. I don't know but maybe @grant2258 could answer the question if that can even be done.

                                    Also MAME 6 is not mapped to any RA field. There's no RA to MAME mapping so button 6 will never be available, even with overrides because it's not mapped to anything.

                                    You could theoretically use the MAME Remapper to assign a value to MAME button 6 basically skipping RA altogether which defeats the point of RA subtypes.

                                    MAME games are still using MAME button 6 but you didn't map any RA fields so it's going to do nothing as long as your subtype is loaded.

                                    So any games coded in MAME to use button 6 will not work. Basically 6 button games wouldn't work properly with this subtype if that makes sense.

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

                                      @riverstorm

                                      let me explain it this way
                                      YXL
                                      BAR

                                      this is how you physically bind your controller (in retropie its when configure your input for the controller)

                                      when you select arcade 6 panel mame will smart map the default i set for this
                                      123
                                      456

                                      when you go into select+x then choose controls you can remap all buttons to button 1 if you choose too or a button per retropad.

                                      When you save this remap per game or per core(core in this case is mame 2003+) it will be the new map you set mame2003+ if you choose core. It wont effect anything outside of mame2003+

                                      however mame2003 is doing it a very different way and you setup will be different for that.

                                      here is something you can do to make your life easier

                                      type

                                      cd /opt/retropie/configs/all/retroarch/autoconfig/
                                      ls
                                      you will see your controler.cfg file

                                      type pico controlerfilename.cfg

                                      add this too it at the end i really think retropie should be doing this

                                      input_x_btn_label = "X"
                                      input_a_btn_label = "A"
                                      input_b_btn_label = "B"
                                      input_y_btn_label = "Y"
                                      input_l_btn_label = "L"
                                      input_r_btn_label = "R"
                                      input_l2_btn_label = "L2"
                                      input_r2_btn_label = "R2"
                                      input_select_btn_label = "Select"
                                      input_start_btn_label = "Start"
                                      input_l3_btn_label = "L3"
                                      input_r3_btn_label = "R3"

                                      press ctrl+x to save

                                      start mame and your controls screen will make sense

                                      0_1528316542924_snapshot.png

                                      without adding button labels it looks like this not cool at all

                                      https://retropie.org.uk/forum/topic/17766/mame2003-plus-250-new-games-new-input-system-new-features-new-bugs/247

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

                                        @grant2258 - I am still missing a piece. I modify this file by hand immediately after the initial RetroPie setup. I change defaults for my controller. Also below that is my all/retroarch.cfg for "keyboard/IPAC" input modifications which I also modify by hand. Then I move to <system>/retoarch.cfg for system overrides, then to MAME 2003-plus.cfg for core overrides and finally to ROM level overrides. I am familiar with these files. I use all these overrides in my typical setup.

                                        I thought these RA fields were cross-mapped to MAME keys 1-10. How do RA front-end fields get mapped back to Plus?

                                        I might be oversimplifying but I was thinking some struct that says something like this or the way I understand it.

                                        MAME B1 = input_b_btn && input_player1_b

                                        When RetroPie boots the first time you assign values to each field and no duplicates are allowed. I suppose you could manually modify retroarch.cfg to assign duplicate values though.

                                        Xbox 360 Wireless Receiver.cfg

                                        input_device = "Xbox 360 Wireless Receiver"
                                        input_driver = "udev"
                                        input_r_y_plus_axis = "+3"
                                        input_l3_btn = "11"
                                        input_r_x_minus_axis = "-2"
                                        input_l_btn = "4"
                                        input_load_state_btn = "16"
                                        input_start_btn = "9"
                                        input_exit_emulator_btn = "9"
                                        input_l_y_minus_axis = "-1"
                                        input_up_btn = "15"
                                        input_r_y_minus_axis = "-3"
                                        input_a_btn = "1"
                                        input_b_btn = "0"
                                        input_reset_btn = "nul"
                                        input_reset_axis = "-0"
                                        input_enable_hotkey_btn = "8"
                                        input_down_btn = "16"
                                        input_l_x_plus_axis = "+0"
                                        input_l_y_plus_axis = "+1"
                                        input_r_btn = "5"
                                        input_save_state_btn = "15"
                                        input_r2_btn = "7"
                                        input_r3_btn = "12"
                                        input_right_btn = "14"
                                        input_state_slot_increase_btn = "14"
                                        input_x_btn = "3"
                                        input_menu_toggle_btn = "3"
                                        input_select_btn = "8"
                                        input_l_x_minus_axis = "-0"
                                        input_y_btn = "2"
                                        input_left_btn = "13"
                                        input_state_slot_decrease_btn = "13"
                                        input_r_x_plus_axis = "+2"
                                        input_l2_btn = "6"
                                        input_screenshot_btn = "5"
                                        

                                        all/retroarch.cfg:

                                        # Keyboard input, Joypad and Joyaxis will all obey the "nul" bind, which disables the bind completely,
                                        # rather than relying on a default.
                                        input_player1_a = "alt"
                                        input_player1_b = "ctrl"
                                        input_player1_y = "shift"
                                        input_player1_x = "space"
                                        input_player1_start = "num1"
                                        input_player1_select = "num5"
                                        input_player1_l = "z"
                                        input_player1_r = "x"
                                        input_player1_left = "left"
                                        input_player1_right = "right"
                                        input_player1_up = "up"
                                        input_player1_down = "down"
                                        # input_player1_l2 =
                                        # input_player1_r2 =
                                        # input_player1_l3 =
                                        # input_player1_r3 =
                                        
                                        G robertvb83R 2 Replies Last reply Reply Quote 0
                                        • G
                                          grant2258 Banned @Riverstorm
                                          last edited by grant2258

                                          @Riverstorm Keyboard is something different

                                          this applies to controller setups what exactly are you asking ?

                                          if you add below to the end of Xbox 360 Wireless Receiver.cfg

                                          you will see exactly how your xbox360 pad is mapped with the retropad you choose for it

                                          input_x_btn_label = "X"
                                          input_a_btn_label = "A"
                                          input_b_btn_label = "B"
                                          input_y_btn_label = "Y"
                                          input_l_btn_label = "L"
                                          input_r_btn_label = "R"
                                          input_l2_btn_label = "L2"
                                          input_r2_btn_label = "R2"
                                          input_select_btn_label = "Select"
                                          input_start_btn_label = "Start"
                                          input_l3_btn_label = "L3"
                                          input_r3_btn_label = "R3"

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

                                            I'm not sure exactly now. I am trying to figure out how the RA fields/values are passed to Plus but maybe it doesn't matter at this point what's happening under the hood and just what I can see as a user. I get stuck in that how does the code look from a bird's eye view. I get stuck in ideas of variables, strings, float, if/else/then, for/next, structures, subscripts, array's, C pointers, etc. My head swim's with programming concepts but I guess the end game is a decent layout so it probably doesn't matter now. Always good conversation I guess! ;)

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