mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support
-
@grant2258 said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
@hhromic said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
ould unbind all RA keys (using "nul" in their bindings) except for the hotkey enable system and leave the core on its default bindings. This will solve 1) but not 2). I believe I still need to
the solution is simple.
set a enable hotkey so you have to press that and the hotkey for the hotkey to access.
Did that, yes.
assuming youve set up all your binds for p1 and p2 to in ra config.
I did too.
remove the keyboard defaults from mame they are casuinf double binds as well all will work.
This is what I can't manage to do. In the TAB menu, where I can rebind the keys, the core is receiving double input, so I can't get rid of the internal key binding.
With a default config, for example it says "P1 Up : UP or RetroPad1 Up", I understand I need to only have "P1 Up: RetroPad1 UP", but I can't achieve this with the double-input. If I use game focus mode, I don't receive the RetroPad1 input and of course doesn't map.Is there a way to create a
default.cfg
file with custom bindings manually? The file is not human readable so can't edit it by myself with a text editor.Ill do some code to do an ipac mode when i get time.
that has no keyboard codes set as default the problem is when you press a key it pressing a key and retropad (in this mode because of your retropad binds) as well and the mame default keys that are set cause the problem. This is not the place to discuss it. it a really simple fix
That sounds exactly like what is needed, I hope you find the time to implement it. No rush though!
Thanks for all the help. -
@hhromic - When I refer to TAB input. I actually launch a game and press TAB (with MAME remapping enabled) so I can access the
Input (general)
orInput (this game)
. Maybe an example will help but take what I say with a grain of salt because this is just what I do. I know it's complicated but also it allows for incredible flexibility too so this is just one way. Grant pointed out an alternate way that works also so it's nice to have options.You might see something like this in the TAB menu option
Input (this game)
.P1 Button 1 = RetroPad1 B
So when I look at that I know whatever button I mapped on my controller in RA to
RetroPad1 B
will make my character jump, fire, etc.Now what I want to do is add say for example left control (LCTRL) from my keyboard-based controller to the MAME TAB direct input. I press enter on the field
P1 Button 1
and pressLCTRL
on the keyboard, it will addLCTRL Retropad1 B
, that's not really what I wanted, it's a double input.So I set it back to the defaults or
NONE
, turn on focus mode, press enter onP1 Button 1
and pressLCTRL
again. Now the input shows simply asLCTRL
. Now that's perfect so if all I wanted was my keyboard-based controller mapped for an arcade cabinet I am done. Turn off focus mode and exit the TAB screen.But I also want to keep my controller working so any game I may use either my keyboard or controller so I press enter on the
P1 Button 1
field again and pressRetroPad B
on my controller. (RetroPad B is not literally the B button but what I assigned on my controller to RetroPad B). Now myP1 Button 1
reads like thisP1 Button 1 = LCTRL or Retropad1 B
If I want my character to jump, fire, etc. I can press
LCTRL
ORRetroPad1 B
Even doing all this you may still have conflicts with RetroPad and MAME TAB "raw" or "direct" inputs so what I do is align my RA inputs to match my MAME TAB inputs. So for example I will set
RetroPad B = LCTRL
and MAME TABP1 Button 1 = LCTRL
, then the same for button 2, button 3, etc. to avoid these types of issues. You could reverse it also and align MAME TAB to match RA defaults.Keep in the back of your mind MAME accepts two inputs, RA inputs and "raw" or "direct".
I like to use the TAB input because some of the analog dials, pedals, etc. are not properly implemented or can't be configured in RA so the TAB input is still has necessary function for certain games.
Your questions and thoughts are correct and your close to understanding it I think. Just keep messing around and watch what happens when when configuring and pressing buttons and it will start to make sense.
Unfortunately you can't edit the default.cfg directly, that would be entirely to easy! ;)
-
@Riverstorm That's a brilliant post, very enlightening! Much appreciated.
I have already come across how the TAB menu works so is much easier to understand after your detailed steps. I was thinking on leaving the RetroPad bindings there, but after what you say, yes it might make more sense to leave the direct keyboard bindings only for now, until @grant2258 implements the "blank keyboard codes" set as default.Unfortunately you can't edit the default.cfg directly, that would be entirely to easy! ;)
Definitively this is way harder than it needs to be :)
Again, thanks for all the help. This is truly a nice forum. -
@Riverstorm said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
So I set it back to the defaults or
NONE
How do you set a binding to NONE in MAME's tab menu?
-
@hhromic - Most of what I know is due to @grant2258 coding these features in to the core and then taking the time to explain them. I just try to explain it differently sometimes or how I've come to understand it.
Also out of habit I do most of my configuring on a wired/wireless keyboard even with an iPAC, Xin-Mo, etc. hooked up at the same time. You need access to the focus key and other management keys anyway.
-
@Clyde said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
How do you set a binding to NONE in MAME's tab menu?
Left, left on the left stick on a controller or double delete on a keyboard. Press enter on the field first. You can try it without pressing enter first and only highlighting the field. It might work but I didn't have any luck that way.
-
@Riverstorm @grant2258 success!
Following @Riverstorm very instructive post, what I did was indeed to only map the "raw"/"direct" input in the MAME TAB-menu and left the RetroPad input out. It is a laborious manual work. This prevents the double inputs as MAME doesn't care about the RetroPad input anymore. Together with binding a "hotkey enable" key, MAME is completely separated from RA's functionality and I don't loose RGUI navigation. Much appreciated!I still feel that there should be an easier way, like an option for MAME to disable RA's input listening or the "raw"/"direct" input listening (or have both). So looking forward for this aspect to become better.
Thanks you both guys for all the help! :)
-
@Riverstorm said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
@Clyde said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
How do you set a binding to NONE in MAME's tab menu?
Left, left on the left stick on a controller or double delete on a keyboard. Press enter on the field first. You can try it without pressing enter first and only highlighting the field. It might work but I didn't have any luck that way.
I also use double ESC for setting the binding to NONE. As @Riverstorm said, you first highlight the input field (with ENTER) and then just press ESC ESC. Then it will display "None".
-
@Riverstorm said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
Left, left on the left stick on a controller or double delete on a keyboard. Press enter on the field first. You can try it without pressing enter first and only highlighting the field. It might work but I didn't have any luck that way.
Left, left or double delete after enter only restores the default binding for that control, it doesn't change it to NONE. Without enter, nothing happens in both cases. I tried it on mame2003 and mame2003-plus, and with game focus on and off. I updated both approx. two weeks ago.
Why is it different for you than for me? What I am missing?
-
@Clyde try with double ESC. I just did it some minutes ago with latest RA and lr-mame2003-plus.
-
@hhromic In mame2003, double ESC also only restores the default binding for that line. In mame2003-plus, it binds a double ESC to that line. Again, with or without focus.
I may update mame2003-plus and try it again. But that will take some time. :)
-
@Clyde I remember I read it somewhere. For example I just quickly googled: http://forum.arcadecontrols.com/index.php/topic,49164.msg479503.html#msg479503
if I remember, I think you after selecting the button (ENTER) you need to hit the ESC twice quickly to get NONE or N/A.. Try that.....
It's a post from 2006, so that feature seems to be very old. Did you try "quickly" pressing double ESC?
Perhaps you need to clear yourdefault.cfg
file? (if you don't care for any existing mapping) -
Try navigating to the binding you want to remove in the MAME remapper and pressing the
Delete
key once it is selected.Do not press
Enter
first as if you want to rebind, just highlight that binding and pressDel
. -
@markwkidd oh I wish I knew that earlier, I was patiently doing the double-ESC after pressing ENTER for each of the million bindings I didn't need.. took some time X_X. Good to know now! \o/
-
@hhromic I did press
Esc
twice as fast as I am physically able to. :) Also, MAME does react to it, but not in the intended way. It either binds the double tap (i.e. it shows the bound key two times without anyand
oror
in-between) or it reverts any changes to the default binding, depending on the version of MAME I use.I would rather avoid clearing the defaults, and I would like to be able to set a particular binding to NONE on the fly if the need arises.
@markwkidd I tried
Delete
withoutEnter
way before I read about the double keystrokes here. Alas, it doesn't work either (i.e. nothing happens when I do it). I also tried holding downDel
for awhile, and also triedBackspace
to be sure.I'm very puzzled about this. 😯 I suspect some nasty little mistake we're all overlooking.
-
@Clyde said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
@markwkidd I tried Delete without Enter way before I read about the double keystrokes here. Alas, it doesn't work either (i.e. nothing happens when I do it)
Sorry, yes the left/left and del/del are for setting to the defaults but like you a single delete highlighting the field doesn't seem to work for me either. Double escape does set my field to NONE. A field you might want to check is your
UI Cancel
and make sure it's set to escape (ESC) and whatever controller button you want to use.You can also set the
Input (general)
fields (in any game) to NONE and they will trickle down to all the game configs.If you enter
Input (this game)
(for a specific game) and a field is highlighted (looks white--that's an override and won't inherit the default settings from theInput (general)
(default.cfg). Resetting the field with left/left or del/del will pull down theInput (general)
settings. If you're doing them one game at a time that would definitely be laborious.You could manually delete all the game.cfg files and setup
Input (general)
like you want as the main file that will cover most of your game needs. Then each game launched will pull from theInput (general)
.Then go back through to fine tune individual one off games, for example there's no good
Input (general)
that covers most games and pinball games (flippers) so I go into each pinball game and setup the left/right shoulders or left/right triggers to the left/right pinball flippers, etc. for those type of game overrides. You'll find many games that just don't work at the defaults and will need a game level override.Think of it as a hierarchy, the top level is for most games, then individual overrides for those one off games.
I don't want to confuse it much but keep it at the back of your mind for later fine tuning. You can go back and override with RA at the global, system, core or ROM level that makes it very powerful. I use all of them in conjunction with TAB input. I have everything set almost perfect for all cores and games.
Also with all the enhancements @grant2258 has put into place you can once again do NOT mappings that I am not sure if RA is capable of doing at this point.
-
@Riverstorm said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
If you enter
Input (this game)
(for a specific game) and a field is highlighted (looks white--that's an override and won't inherit the default settings from theInput (general)
(default.cfg). Resetting the field with left/left or del/del will pull down theInput (general)
settings.That may be the nasty little mistake I suspected. I only tested your suggestions in the
Input (this game)
section to avoid messing up my overall bindings. If it's like you said, then it's no surprise that the double taps didn't createNONE
but restored theInput (general)
bindings.I'll check this later or tomorrow. My Pi is updating mame2003-plus from source at the moment. ;)
I go into each pinball game and setup the left/right shoulders or left/right triggers to the left/right pinball flippers, etc. for those overrides.
I usually do that via the RA GUI in
Quick Menu -> Controls
. But I'm also familiar with the MAME hierarchy. I just didn't know about the different effects of double-tapping inInput (general)
andInput (this game)
. It's not really intuitive, I have to say.Thanks for tipping my in the right direction (I think, we'll know for sure after I'll be able to test it.)
-
@Clyde said in mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support:
That may be the nasty little mistake I suspected. I only tested your suggestions in the Input (this game) section to avoid messing up my overall bindings. If it's like you said, then it's no surprise that the double taps didn't create NONE but restored the Input (general) bindings.
Right, del/del, left/left or esc/esc will return the field to the defaults or possibly NONE (whatever is configured above in
Input (general)
). Doing the same key combos inInput (general)
will set the field to NONE because there's nothing above to pull down.I agree it's not intuitive and I had trouble figuring how to clear a field even too. :)
-
@Clyde - Sorry, I now you've been doing this a long time too. I started the post directed at giving you incorrect information on left/left and del/del and ended the post trying to share more information, that you didn't need. It was meant for @hhromic helping with his setup, sorry about that and have a good weekend.
-
Ok guys i dont mean to talk down to anyone here. Im not calling anyone stupid or anything like that. Im going to briefly tell you guys what im planning on doing with the ipac/keyboard situation.
now by default people have been confused on a few levels of whats going on with this. I never used the keyboard code before so i didnt look into it. After @Riverstorm had a few problems i looked into it more and figured out what was going on.
problem 1 retroarch hotkeys (easy to work around)
problem2 there really was never no need to set you keys in mame just set it in RA config
this lead to
problem 3 mame keys conflicting with RA bindslet me explain this a little further without getting all technical.
you bind your p1 to ra config
when you press this key mame reads the key press and retro arch sends the retropad code.I have a working solution and i will also add support for people wanting to use the old way of mame doing things. I just finished a nightshift so ill get the code done really soon and explain what you need to do then. Sorry for any inconvenience this may cause anyone.
update: mame2003 plus esc now works that part of the code has been fixed already. The old code wont no need to update yet ill do the fixes soon
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.