mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support
-
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! ;)
-
@riverstorm said in mame2003-plus: 250 new games, new input system, new features, new bugs:
ode look fr
6 panel is passed as YXL BAR physical layout 8 panel is passed as Y X L R B A L2 R2 physical layout retropad is passed as L2 R2 L R Y X b a physical layout thats how you work your mapping out to each one if you picked the 6 panel retropad for 8 panel physical mapping this is what would happen to the mame button. 1 2 3 6 Y X L R B A L2 R2 4 5 in 6 pannel physical mapping it translates right 1 2 3 X Y L B A R 4 5 6 your global mapping is how you bind your controller physically with ES in retropie
-
@riverstorm said in mame2003-plus: 250 new games, new input system, new features, new bugs:
@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.
this sounds like much trouble, why do you need to configure that on so many levels. i know of the different possibilities (game specific cfg overrides and input remapping) but you should really use them alternatively and not all together?
for an xbox pad it is sufficient to have it autoconfigured in ES and then use the RA input remapping core wide and game specific
-
This post is deleted! -
@robertvb83 fixed it before you posted this im typing by hand. This is why the automaps are there for people who really dont understand this its just to give them the best defaults all rounf till they grasp it
-
@robertvb83 said in mame2003-plus: 250 new games, new input system, new features, new bugs:
this sounds like much trouble, why do you need to configure that on so many levels. i know of the different possibilities (game specific cfg overrides and input remapping) but you should really use them alternatively and not all together?
I don't want to go down that rabbit hole but global is what it is at the top, system allows me to make MAME changes across multiple cores, I prefer my FBA to have a different key layout so I use core. ROM level I use for artwork, shaders, custom resolutions, etc.
I guess as you go you add more customization to your setup.
I think that was just a typo by Grant and nothing serious.
-
@riverstorm 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:
this sounds like much trouble, why do you need to configure that on so many levels. i know of the different possibilities (game specific cfg overrides and input remapping) but you should really use them alternatively and not all together?
I don't want to go down that rabbit hole but global is what it is at the top, system allows me to make MAME changes across multiple cores, I prefer my FBA to have a different key layout so I use core. ROM level I use for artwork, shaders, custom resolutions, etc.
I guess as you go you add more customization to your setup.
I think that was just a typo by Grant and nothing serious.
YXL
BARis the 6 panel mapping so you can use all cores as closely as possible to a snes pad layout thats why this was chosen for the 6 panel. The l and r have to be there physically for the layout.
on a 8 panel y x r l makes more sens for your left right so you know roughtly where your buttons are.
when playing psx ectand then the normal retropad will need maps I dont think whats there is very much but im not really a gamepad user so dont know the best maps people want for them. It will be at least a sf2 and other aka modern gamepad and classic
@robertvb83 are you happy with this binding it can be changed i though i was a sensible default for 6 pad panels for all core defaults in ra
-
@grant2258 - I don't mind the tweaks. I can go from a stock image to fully configured in not much over the time it takes to copy the ROMs. I don't think my overrides are excessive but they do allow me to dial in my setup precisely with some nice optionals. They can actually be used for most anything and not just layouts.
I think any layout works as long as all 6 buttons are mapped. Core overrides really are pretty straight forward if another layout is preferred. The subtype of a bottom row set of keys for simple games & palm resting would have just been icing on the cake. At some point I hope to have 8 buttons so I can implement a proper Neo-Geo, CPS, etc. setup! ;)
I'll have to put some thought into what you wrote and maybe take a peek at the code so it makes more sense. I can manipulate RA to whatever setup I need and maybe understanding the underlying code doesn't bring much value to the end user.
-
@riverstorm said in mame2003-plus: 250 new games, new input system, new features, new bugs:
@grant2258 - I don't mind the tweaks. I can go from a stock image to fully configured in not much over the time it takes to copy the ROMs. I don't think my overrides are excessive but they do allow me to dial in my setup precisely with some nice optionals. They can actually be used for most anything and not just layouts.
I think any layout works as long as all 6 buttons are mapped. Core overrides really are pretty straight forward if another layout is preferred. The subtype of a bottom row set of keys for simple games & palm resting would have just been icing on the cake. At some point I hope to have 8 buttons so I can implement a proper Neo-Geo, CPS, etc. setup! ;)
I'll have to put some thought into what you wrote and maybe take a peek at the code so it makes more sense. I can manipulate RA to whatever setup I need and maybe understanding the underlying code doesn't bring much value to the end user.
@Riverstorm it brings high value to the mame setup if you understand it.
Before you where stuck to one layout choice now you can have a 8 button , 6 button and a xboxpad auto setup just by picking the retropad type for the player number. You really need to understand it though.
basically you install set your 6 panel up to
XYL
BAReverything should work including mame if you pick the 6 panel layout for the retropad number the controller is in. Well the mame defaults as they are having the inverse
456
123and
456
1234would be ideal for both panels but the alt panel will be user voted seems the fairest way to do it
-
@grant2258 - Yep I am aware of the options available and I use most of them. I was referring to understanding exactly how it works from a coding perspective, which isn't necessary to use RetroPie/RA...but probably helpful.
-
@Riverstorm here is where we tell the controls menu what retropad buttons do for mame
here is where we define the retropad layouts for mameification
https://github.com/libretro/mame2003-plus-libretro/blob/050ba51cccd6ca63ce039eb9076f0d6638e10507/src/mame2003/mame2003.c#L1325and we have a system that can be remaped in ra hope this helps you understand a bit better
trust me im over simplifying here mark has put a lot of though time and effort into this and i think he done a great job of it
-
@grant2258 - Heading out here I do appreciate you taking the time to explain it and also the links. Not something a programmer has to do but incredibly neat. I do believe it is more complex then what you outlined. The RGUI menu options for Plus looks great. I love the per user layouts. Well thought out and implemented!
I always try your
Input Interface
&Layout
after each update pertaining to them to get a feel of what you're changing. Anyway I just update a few hours ago and triedInput Interface
=retropad
and cycled through the player layoutsmodern
,6-button
&8-button
. When playing Donkey Kong all layouts require Y (physical button X) to jump on a 360 controller or Final Fight is YX (physical buttons XY) to punch and kick.I just prefer BA (physical button AB) to jump, punch & kick, etc. on a 360 so I don't need to reach my thumb over the BA buttons to get at the YX buttons or when I am excitedly playing hit the wrong button under my thumb so I remap. It saves a half-inch thumb stretch and no under thumb buttons! ;)
I know covering every scenario is impossible so once I have my remap I just dump it in my "mirror" setup to bulk copy it over to RP after the initial setup and all is right as rain.
EDIT: I don't mind the CLI vs. GUI.
-
@riverstorm I do believe the classic option should be in there as well as far as i know its not the last time i checked.
I dont know if its the exact layout you want but there can more than one gamepad layout only ones there now seem to be the snes(6panel) and gamepad(modern sf2) both sf2 variants. classic and something else as well if classic doesnt suit your needs would be beneficial for users that play more than sf2
this is classic if it doesnt suit please post your one as well and ill change it into code and put a pr in for mark to look over
5 6 L R 3 4 Y X B A 1 2
As you can see this is the controller shape pattern robert wanted for his panel it's probably the most logical mapping for a 2x2 gamepad in mame if your not playing sf2.
-
@grant2258 - It seems classic was removed in favor of 8-button. I downloaded from source again around midnight last night to verify. That layout in the diagram above is perfect. I don't even have sf2 in my build but adding it might be beneficial for testing more than 4 buttons. Can you suggest any 8-button games for testing that layout also? How do folks test 8 button games?
I think the point yesterday on posting both controller & keyboard configs when you asked was I guess I never put much thought into how others build-up RetroPie but I always think about controller and panel changes/repercussions at the same time and configure accordingly. I also try to align non-Libretro cores basic functionality inputs so they match Libretro cores. It makes them seamless to the average player. I keep two lines of thought going at all times so the discussion can get confusing at times.
Forums are nice for quick information but not ideal for chatting. An all day discussion in a forum can take place in about 15 minutes in person.
I did some testing with the OST options toggle but it seems to be always enabled. I tried core and ROM overrides. I couldn't find the option name in the override to verify so it doesn't seem to be writing out. This is a spit-n-shine option here. These type of additions are really nice touches.
-
I was the one who arbitrarily decided to hide the Classic layout in the hopes of starting with the most concise list possible but it does seem like we're going to add at least one more default layout.
Classic is still coded in there as dankcushions implemented it a few months back -- if we need it back it's just a matter of adding
|Classic
to the core option init for each of the players.I may have rushed through a little of the spit polish a few days ago. I'll try not to code and run when I sit down to make these fixes.
I've also got NVRAM bootstraps to add for "Charlie Ninja" and all of the playable "Defender" clones.
-
@markwkidd can you please call it gamepad classic. I want people to know know gamepads and arcade panels are completely seperate if that is ok
@Riverstorm the 8 panel is specifically for 8 panel arcade nothing else.
the snes sf2 pad layout and 6 panel match thats the only reason it was named 6 button
-
@markwkidd - Ok thanks, That's the one I preferred as classic seems to be more suited to arcade gaming. Using the closest buttons on the pad (right/lower) primarily for firing, jumping, etc. and further buttons (left/up) for game functions less commonly used like a lobbing a grenade or activating a super-weapon.
I appreciate the OST option toggle even with a bug it's no big deal. Some days are just like that.
-
@riverstorm said in mame2003-plus: 250 new games, new input system, new features, new bugs:
@markwkidd - Ok thanks, That's the one I preferred as classic seems to be more suited to arcade gaming. Using the closest buttons on the pad (right/lower) primarily for firing, jumping, etc. and further buttons (left/up) for game functions less commonly used like a lobbing a grenade or activating a super-weapon.
I appreciate the OST option toggle even with a bug it's no big deal. Some day are just like that.
the diagram was made from teh classic its still in the source just not use at the moment mr River. Im just making sure its mapped right for you
-
@grant2258 said in mame2003-plus: 250 new games, new input system, new features, new bugs:
@Riverstorm the 8 panel is specifically for 8 panel arcade nothing else.
Hmmm, ok, so do you know of any 8 panel arcade games for testing the 8-button layout?
the diagram was made from teh classic its still in the source just not use at the moment mr River. Im just making sure its mapped right for you
Yes sir, that's what Mark just said.
-
mame only uses 6 buttons but the maps need to match a core layout for it the 8 button. The 8 is identical to the 6 button at the moment with different physical maping check the diagrams uploaded and the post above for the explanation
if you want to test the 8 panel binding play a psx game or core that uses l r l2 r2
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.