libretro / mame2003-plus-libretro

Updated 2018 version of MAME (0.78) for libretro. with added game support plus many fixes and improvements
Other
188 stars 108 forks source link

Blanking a field in TAB input screen, default values and older builds #397

Closed Wilstorm closed 5 years ago

Wilstorm commented 5 years ago

In lr-mame2003 you just need to hit ESC twice and it will reset the field to 'NONE' with Plus ESC just adds it as input. The only way I know to blank the field is delete the default.cfg and start over.

Also I see for players 1 & 2 there's default values for:

Right/Up - Retropad1 X
Right/Down - Retropad1 B
Right/Left - Retropad1 Y
Right/Right - Retropad1 A

Left/Up - Retropad1 Up
Left/Down - Retropad1 Down
Left/Left - Retropad1 Left
Left/Right - Retropad1 Right

Would it be beneficial to also set the RetroPad inputs for Players 3 & 4 vs. NONE?

It's nice to see Players 1, 2 & 3 have some default keyboard/mouse input values. Only player 4 has no starting values. I like having some starting value as it allows you to configure your keyboard encoder to that value if that makes sense but still it's way better then what lr-mame2003 had as starting values which was all over the map with "random" values in some of the input fields for players it seemed.

One last thing is it possible to easily install an older version of Plus before the RA integration upgrade, not sure what it's called? I swear some games are running slower now it seems but I can't test it as I don't know how to install and compile an older build.

ghost commented 5 years ago

just test with mame2003 see if its faster there. I havent tested this on a keyboard but with the xbox360 controller and my zeroday encoder i just select the button like im going to select a button then press left twice and it sets to none.

The keyboard might be setup differently havent looked at the keyboard stuff much at all because i dont use it with mame at all.

If i hit escape twice on lr-mame2003 when choosing an input it closes the core down. This is expected behavior though

ghost commented 5 years ago

I didnt address your issue on the other keys being set. You will need to confirm this with mark but as far as i can see its a number of keys you have which is median 101.

each player with everything set will be 24 buttons ( including start and credit then you have service keys as well gui buttons ect . so as you can see to set every button you would reach your limitations quick and you still need some keys for gui navigation. I cant see any reason not to set all players retro pad defaults though

ghost commented 5 years ago

I would add this though there should at least be some default for buttons 5 and 6 for p2 on the keyboard set for cps games

markwkidd commented 5 years ago

I agree it's fine to assign default keys as long as there are a good set that don't conflict with any of the default RetroArch bindings.

You might check to see what MAME 2010 does for Buttons 5 and 6 on P2 @Wilstorm and see if that makes sense for this core.

Wilstorm commented 5 years ago

I havent tested this on a keyboard but with the xbox360 controller and my zeroday encoder i just select the button like im going to select a button then press left twice and it sets to none.

Damn dude, I don't understand why you tested a controller? The testing and issue I posted was with a keyboard. If a 360 controllers works as you mentioned above that's good news that controllers are coded properly but again it still doesn't address the keyboard issue.

When I hit escape twice (quickly) in the TAB input screen in lr-mame2003 it sets the field to NONE, which I thought was the proper expected behavior. I was hoping Plus would work similar as that's how MAME has always done it, as long as I can remember when using an arcade cabinet type setup.

What you're saying is when you press escape twice in the TAB screen with lr-mame2003 it exits the emulator? You must be using an old version or something is broken, hotkeys are disabled? I have no idea why we have to widely different outcomes when pressing escape twice in the TAB screen while entering data in an input field in lr-mame2003. Anyway it was an example.

The issue I was trying to address is with Plus. When using Plus and pressing Escape twice quickly in the TAB screen it just adds the escape key as an input selection value. Again, you can't set a field to NONE in Plus when you make a mistake entering values you have delete your default.cfg and start from scratch.

I didnt address your issue on the other keys being set. You will need to confirm this with mark but as far as i can see its a number of keys you have which is median 101.

I am not sure what the "Median 101 Limitation" means mentioned above but I have Retropad values (also keyboard values in addition to Retropad values--6 buttons for Player 1 & 2--4 buttons for players 3 & 4) set for all 4 players, all 10 buttons, start and select, credits, etc. and I don't have an issue. I am not saying I have a game that uses 10 buttons to test but nothing faults or gives me an error during setup or while playing.

So basically, I still have no idea what you're trying to say here or you have tried entering values for all fields and you get errors or maybe you're just guessing, again? The only thing I was trying to suggest is filling in default Retroarch Retropad values vs. leaving them set to NONE. It seems sensible and makes sense to continue to add spit and polish but maybe not.

Anyway I have tried working with you to improve Plus as best as I can. You guys do incredible, impeccable work and I was more on the testing side, which is still important, as I do believe because it is obvious you don't use Libretro cores much. I was all for making this the best emulator possible, but honestly, you're not easy to work with.

I know you're intelligent and I know you know what I am trying to communicate so I have no idea why you run this kind of shit in a senseless circle. I have no idea how to share this information more clearly with you if you didn't anyway. I hate to call any response 'circular redundancy' to the tune of a foregone conclusion but, well, it is, you are. It would be another 25 posts of meaningless sidebar about how the controller works fine instead of addressing the keyboard not working.

Don't get me wrong sidebar is my favorite part of any post but addressing the OP during is preferable. TAB input is still important until Retroarch/Libretro is ready to overhaul that interface to handle all the current input methods, dials, pedals, etc. for 1000s of games TAB is capable of doing. They've had a few more years to work on it. Anyway for the immediate future TAB and RA need to co-exist, we still need access to it, so why not fix up a few things. Why not do some speed testing or fill in default values or whatever to improve things.

It's just not worth it to me to get the run around in circles for every issue posted. I don't get it. I can use this stuff, how it is, broke and all and probably still be happy. So, I am going to just let you do whatever you want and dance with other folks for a while. If something gets fixed now or down the road I will call it a blessing and if it's broke forever, honestly I'll be ok with that too, it makes no difference to me at this point. Sorry for dumping guy but damn you live for the fight still, that's for sure. I would have indulged you like 30 years ago but now I have no interest to burn myself out this way and would rather collaborate with like minded folks on the backside of life in a more enjoyable fashion.

I know I got side tracked on screenshots for several weeks but just to wrap things up on another issue after some testing. You may revert the neogeo.zip files you renamed back to their original name if you want, as they hash match now. Combining all the neogeo.zip versions for 2003, Plus, FBA, or more, etc. into one master neogeo.zip works like a champ fully tested.

You just need to add 2003 and Plus to search the system directory (BIOS folder) on the Pi and it would be centrally located vs. being in with the ROMs. FBA searches the BIOS and the fba subfolder underneath it already, which works nicely.

markwkidd commented 5 years ago

@Wilstorm could you try pressing the Delete/Del key to clear the control mapping instead of Esc?

Do not go into 'remap mode' for that control!

Just navigate to the entry in the input menu that you want to clear, and press Del when it is highlighted.

edit: I think there may be a "Coke vs Pepsi" thing among MAME users where some people only use the Esc method and some only use the Del method. Esc has a conflict with the default RetroArch keybindings so Del is our recommended way here.

This should go into the input docs... the last major section to be written

ghost commented 5 years ago

@Wilstorm a keyboard usually has 101 keys for usage. Lr-mame2003 and plus does exit ra when pressing in windows.

I cant test on a keyboard on the pi as i dont have one connected to it. I think you might want to start another topic is its to set an ipac up because thats different from someone wanting to physically set a keyboard up.

ghost commented 5 years ago

@markwkidd delete does work on both mame2003 and plus for setting the key to none. I dont use the keyboard at all for my emulation needs but is handy to know

ghost commented 5 years ago

@Wilstorm these keys should be avoided being used as its default RA settings you will see escape listed as quit RA.

https://docs.libretro.com/guides/retroarch-keyboard-controls/

ghost commented 5 years ago

@Wilstorm further reading up this issue is fixable you can disable hotkeys the default is set to scroll lock this will stop hotkeys working.

its called game focus toggle press this key and you have the keyboard to yourself apart from the focus key obviously. When setting this mode esc will work fine to clear the code to none

ghost commented 5 years ago

One final note @Wilstorm this is ra setup differences in mame2003 and mame2003plus on your RA end if you going to customize things then bitch its not working right figure do bit of reading like i did and dont be a dick about it

ghost commented 5 years ago

another solution is go to settings->input->input hotkeys bind->enable hotkeys

then pick numlock or any other key you will have press that and the hotkey for the hotkeys to work.

This is a RA setup choice youll need to make yourself as you can see above there is more than one solution so pick whatever one suits you best and set it per core or global. RA has to cover many inputs on different systems. I personally never use the keyboard like i said before but didnt take long to figure this out. The issue here is RA gui setup controls and how you want them to be

Wilstorm commented 5 years ago

if you going to customize things then bitch its not working right figure do bit of reading like i did and dont be a dick about it.

@grant2258 - That's not cute and frankly a bit surprising coming from you. Nothing like resorting to name calling. I kept my expectations low on any type of constructive response but didn't figure you for a name caller. Name calling is just the lowest form of intellectual discourse when at a loss.

Please don't assume you know anything about my setups and what I am trying to achieve. I have a few interface cards, I've done GPIO inputs on a setup sitting next to me and also two different pre-made kits one from the US and one from Europe that has another type of interface card I can't think of off hand and I outsourced one from a guy that had a laser cutter and 3D printer.

I tell you what I was trying to achieve. I was doing some testing with the XPAD and XBOXDRV drivers and filled a TAB field with a bunch of nonsense controller keys and I was trying to set the field back to NONE, that was it! It had nothing to do with an IPAC. Mark answered it perfectly.

To be honest, I am pretty comfortable configuring RA from the ground up and understand the inheritance hierarchy pretty well and how to override from the global, system, core and/or ROM levels. Configure bezels, custom resolutions and shaders, etc. from the menu or command line. Pretty much anything I need to do. If I had only known I would have pressed delete to avoid all this with you but for some reason it didn't cross mind to try the delete key in the TAB menu.

I'll test your theory tomorrow and try pressing Sroll Lock and double tapping escape to see if it sets the field to NONE tomorrow but I'm not holding my breath here because you listed several things that just aren't true in this post and others posts about other topics. Your ego will not concede even when your wrong. I guess you're just white knuckle strong willed.

You don't need to call people a dick, jesus dude, that's just spewing completely unnecessary drivel. I think KMFD lives a wonderful philosophy to keep it about the games and have fun.

This exchange with you isn't moving the discussion further and isn't fun. I can live with the blank fields in the setup vs. adding the RA Retropad values so I am going to close this issue but thanks. Please don't respond to any issues I open or be kind, please.

@markwkidd - I'm sorry this thread got out of hand and I'll try to avoid further unnecessary confrontation. Some days I go hook line and sinker and made mistakes, sorry.

ghost commented 5 years ago

@Wilstorm please fee; free to post what isint true 👍 instead of accepting escape is a default hotkey binding

Wilstorm commented 5 years ago

@grant2258 - Mark's answer was correct. Just an FYI/correction to what you said, changing the focus with Scroll Lock didn't affect it one way or the other. You only need to double tap the delete key to set a field to NONE but you need to press enter on the field first, highlighting without entering on it doesn't work. Feel free to post wasn't isn't true 👍 instead of accepting it.

I agree it's fine to assign default keys as long as there are a good set that don't conflict with any of the default RetroArch bindings.

@markwkidd - Thanks for the documentation tip. I don't check it often and didn't know it was updated. I see DEL is assigned to removing field bindings.

Here's my thought hopefully explained better. There are several MAME default TAB keys overlapping RA already. That's always been the issue with double inputs and the loss of the ability to do NOT mappings. Some are in direct conflict and some indirect through the hotkeys.

For example I originally assigned RetropadX to keyboard value "space". When I would press hotkey+x (1+space=Player 1 coin+Player 1 fire) on my arcade setup my game would fast forward due to space being the default fast forward. It's not an issue until you use the hotkey though, space bar alone is fine. So hotkeys enabled/disabled makes a huge difference on available keys.

Anyway the thought was within the MAME TAB input to assign Retropad variables to the fields. If you assign Left/Up, Left/Down, Left/Left & Left/Right and then do the same for the right joystick for each controller, in the MAME TAB input, it doesn't take away any keyboard values or joystick values for that matter.

Basically your assigning RA "variables" that will get assigned actual values when you setup your input whether it be keyboard or joystick. If your loading say a driver for a controller you don't use any keyboard values or joystick values.

For example right now I load a driver, setup my controller, go into the TAB menu and assign Retropad1 Left to the field Player 1 Left/Left, etc.

If the Retropad value Retropad1 Left is already assigned to MAME TAB field Player 1 Left/Left then when I setup my controller it's automatically ready to use in MAME without the need to enter the MAME TAB menu at all. It's playable right out of the box because whatever input device you use and assign to Retropad1 Left will automatically be set for Player 1 Left/Left vs just being set to NONE.

I think setting the values would be a huge benefit for RA vs just leaving set to NONE. Doing this doesn't use any keyboard keys or joystick buttons until you setup a device and assign Retropad values to it. It seems a win-win.

On a side note. I don't know if some of the core option settings are working correctly. I uninstalled Plus and reinstalled it. When I would look at the retroarch-core-options.cfg it showed mame2003-plus-skip_disclaimer = "enabled". I tried changing the option to enabled again and save it but I would still get warnings on each game start. Finally I manually edited the file and changed mame2003-plus-skip_disclaimer = "enabled" to mame2003-plus_skip_disclaimer = "enabled" (changed - to _) and it started working.

Also I couldn't get the skip warnings flag set. When I set it to enabled and save the core or game options the value isn't saved in either file location so I manually added the value to the core options file. It seems some of the core options aren't saving out correctly. This is using a Pi 3 and RetroPie 4.4 using Jessie.

ghost commented 5 years ago

Very cute esc hotkey was exiting that was your issue. Now you turn to delete because you where wrong never mind you know how to get esc working if u need too.

Wilstorm commented 5 years ago

@grant2258 - Here's my original statement.

In lr-mame2003 you just need to hit ESC twice and it will reset the field to 'NONE' with Plus ESC just adds it as input. The only way I know to blank the field is delete the default.cfg and start over.

Good thing it's in writing. I never said it exits. I said it adds it as input. I thought escape was how you reset a field to NONE, I figured Plus would be similar to lr-mame2003 as double escape works there. Mark pointed it's not they escape key, it's the delete key and Scroll Lock did nothing to remedy it. Anyway you're correct I know it's delete and not escape now, regardless of Scroll Lock so I was able to reset fields without deleting the default.cfg, thanks.

ghost commented 5 years ago

@Wilstorm we can dance round this all day esc does work when pressed twice you use one of the other settings it configured that way as default for the iu settings.

The setting explained above are the way to make it work the none retropie default is to exit ra when esc is pressed. When this is set one way above the esc key does blank the ui field here is the default ui setting for it in mame2003-plus.

check your ui cancel key its set to escape and it works fine for me pressing it twice with the settings i pointed out above it clears and does not exit RA when pressed twice.

ghost commented 5 years ago

change ui cancel to whatever key you want it to be all keys including esc work. The default seeing for keyboard isint practical for getting four people round a keyboard. The only solution i can think of for that case usage is make a ipac mode with defaults set for it. But the hotkey must be set with a trigger or game focus to avoid hotkey clashes in rgui.

Edit: for full info

the ony other thing that will get you in hot water is if you have you keyboard setup to simultaneous but I know you know about that setting and RA hotkeys conflicts so i doubt you have it set to that

ghost commented 5 years ago

untitled

Wilstorm commented 5 years ago

Errr...ok...I appreciate all the info but question has long been answered and it works fine to double tap delete. There's no encoder it's a wireless keyboard, Logitech K500 something or another and a 360 controller. If I add an input to a field from the controller I can arrow up, press enter, double tap delete and the field resets to NONE. That's it! It works! That's all I needed to do! The question has been answered and the solution works.

ghost commented 5 years ago

escape works too and delete just upadating your info saying it doesnt

ghost commented 5 years ago

@Wilstorm if you want to add defaults here is where you can put a pull req in for teh ones that arent set that you want set.

https://github.com/libretro/mame2003-plus-libretro/blob/67957a497bd6e219084d170670e683536b0bd3a9/src/inptport.c#L403-L626

just add the KEYCODE you want to use and put a pull Req in it probably best that someone that uses keyboard sets it up in a sensible way.

https://github.com/libretro/mame2003-plus-libretro/blob/67957a497bd6e219084d170670e683536b0bd3a9/src/inptport.c#L403-L626

Wilstorm commented 5 years ago

Ok I digress, this just weird to say the least. I have no idea what you want to hear. It's like you're trying to my will my setup to what you want to hear or something. Your reading between lines, second guessing and take nothing at face value. That has to be really hard living. To tell you something. The correct RA keys work correctly. I've been 100% honest here with any questions. You know a hell'va lot more than me with lot's of institutional knowledge and inner workings. I'm at a total loss here. I just fired up all 4 controllers and added the Retropad values to all controllers. I leave it to you for what is the best defaults I think. I haven't turned on my arcade setup in months. It's been controllers and keyboards. In fact I don't think I've tried Plus with a real joystick yet. Anyway have a good weekend.

ghost commented 5 years ago

not wanting to hear anything just saying you can add the keyboard defaults that you feel are needed.

I cant really do a good job of it because I dont play with a keyboard there is no tricks its just so you can add the defaults keys you want you can either update the code as a pull request post here the missing controls and what keys you want them to be.

Wilstorm commented 5 years ago

Yes I can modify the keys to what I need. I appreciate all your help. The core options I was able to tweak the name in the core options file from dash to underscore to get it working and I just added the skip warnings manually. They showed up that way after Removing Plus, cleaning the core options and installing from source. All is good here. Have a good weekend and take care yourself.

Wilstorm commented 5 years ago

The reason I uninstalled Plus and started from scratch as I swear the new sleek RA interface showed up, after an update. Then after another update of both the Retropie script and Plus it's gone again back to the old clunky looking interface, so I'm not sure what happened there. Even installing from scratch on Retropie 4.4.2 on Jessie it still doesn't show up. Anyway, not a big deal, heading out to get some shut eye.

Wilstorm commented 5 years ago

@grant2258 - I just wanted to make one quick post. I know we have had our fair share of spirited conversation. We have probably even rubbed each other the wrong way a few times. To be honest some of your explanations are beyond my scope of fully understanding and I am sure you've been right most of the times. A few times I feel I've been right and other times you've just shown my I'm completely misunderstanding such as hash matching which I would try to make amends and apologize immediately in those situations.

I spent this past weekend thinking about things finishing out my winterizing and outdoor work. I am pretty much ready to let it blizzard any time now. ;) Anyway I grew up in a very confrontational family and I'll stay in the conversation no matter how intense it gets if I feel I am right and not because it's enjoyable in any capacity. It's just flat tiring unless I believe in what I am doing. I guess I think tough or intense conversations are fine and some times even needed in certain situations.

I just wanted to say it was never my intention to rub you the wrong way and to say thank you for sticking in their when the conversations got tough. For going the extra mile to help and add features that just make this core great. All of you guys really. I think you're a pretty amazing fellow and I appreciate all you've done. You're the kind of guy with qualities I look for in friends that stick in their when whether you're right or wrong to help facilitate a situation and I thank you for that. I always hope for loyal but honest friends and you strike me as one of those folks.

Ok we heading out here to do some pumpkin carving at my sisters place and then back here to pull the Christmas decorations up from the shed. My wife likes to put the tree up on November 1st or so which is close. Wow, how time flies so fast. I know it's crazy but it's her thing for sure which is kind of fun. Anyway if you ever need help with anything, which I know mostly you don't, just let me know and I'll be there.