mame2003-plus: hundreds of new games, improved input, features, new bugs - now with runahead support
-
only last words of advice on this mark is tag the code where its working. chaging the quick options menu will be fine but if you start messing with the defaults be careful what your doing when none standard games map. Again not too fussed with what you decide to do just tag a point where it is working so you can go back to it.
-
@grant2258 - Thanks for explaining. I don't fully understand everything you wrote as there seems like a lot of hardware combo's to cover. I'll keep playing around as it's been working well so far with the "analog and digital" option.
I haven't flipped over to "digital" only as I figured I would need to wipe all cfg files to switch. Since it seems any custom game cfg files would get "orphaned" potentially depending on the settings used.
-
@Riverstorm thats not how mame works if something in input this game is changed it does not use the settings in input->general else it does so any changes you make to input->this game (none standard will highlight white) will stick no matter what you set input general too.
ok let me show by example why I dont want to confuse people (and its why its out of the scope of this thead users shouldnt need to understand anything below this comment).
I dont know if you remember the problem we used to gave with luner lander not mapping right well this is because mame driver maps analog none standard to a hard coded direction to a digital direction.
This reminds me i need to fix that driver up. So what you need to do is load luner lander up goto input->this game youll see the paddle is highlighed white none standard input so no matter what you do input general it wont change.
The fix for this driver is easy though it just used the wrong dial setting that done the driver and hard coded a joystick direction to it.
the driver code just needs changed from this
PORT_ANALOGX( 0xff, 0x00, IPT_PADDLE|IPF_REVERSE, 100, 10, 0, 255, KEYCODE_UP, KEYCODE_DOWN, JOYCODE_1_UP, JOYCODE_1_DOWN )
to this.
PORT_ANALOG( 0xff, 0x00, IPT_PADDLE_V|IPF_REVERSE, 100, 10, 0, 255 )mame078 never had a digital mode so some drivers(very few) will need this hard coding error fixed but its best just reporting it and not pondering on how it works. I dont mean to dismissive but it can get complicated its best describing input probs and me mark and arcadez can work out the issue because we know how it works from the the core to ra getting it.
-
Ideally the libretro frontend can and will automatically try to map whatever physical controller the user has to the original analog or digital input on the emulated game. That wouldn't guarantee things work right for all games out of the box, but it would go a long way in that direction
Because of Grant's work, the core is now able to 'speak' analog libretro inputs but, for example, RetroArch doesn't come set up with default analog to digital maps, so the integration doesn't feel polished yet.
-
Grant is the expert on this topic though. What you're hearing from me is my thoughts on what my work needs to be on these inputs.
I was on the previous page of the thread and hadn't seen the latest messages.
-
@grant2258 @markwkidd - I hear what you're saying and it makes sense. I do remember the Lunar Lander issue too that you're mentioning.
I understand the inputs being highlighted are overrides. My thought is what happens if I previously configured it with an analog input when using
analog and digital
. Then if I switched todigital only
. Is that input orphaned due to an analog input isn't recognized indigital only
? Basically if I switch from an analog controller to digital only like an SNES gamepad. In my thoughts it seems "to be sure" you would need to wipe all configs when switching types. Also I thought thedefault.cfg
was reset which is going to change a bunch of inputs regardless.I agree I don't need to know exactly what's happening under the hood but last night a few things did cross my thoughts as I was reading the link you provided. Really it's not about under the hood. I am not sure I know how it really works above the hood.
Here's what I think but it might not be correct.
-
One is I have to pick all analog or all digital controllers now. I can't mix and match both types due to I have to select either
analog and digital
ordigital only
. I can't play with an XBOX controller for player 1 and an SNES controller for player 2. -
If I decided to switch from say an analog controller to digital like an SNES controller. Then I need to switch my input type at this point which will reset the MAME
default.cfg
. -
Switching between "analog and digital" and "digital only" will reset my
default.cfg
. Basically I will need to reconfigure all my games if I switch between the two options?
What if I want to test different types of controllers? It seems like a high price to reconfigure everything on an input switch. I have maybe only 30 games with overrides but it still is a pain to reconfigure everything every time you switch between analog and digital.
Does current MAME have you switch and wipe cfg files when using different controller types or down the road analog will be a bit more seamless for the user? There's a lot of options going on to get analog and digital working together that seems very confusing.
This option requires a restart, that one requires deleting all cfg files, these two together require you to wipe out all your configs and restart. I can't keep all the combo options straight right now and I was watching as the changes were being implemented. I am thinking for a new user I would be completely overwhelmed and lost! It just feels a bit overly complicated.
To be honest if I know I am building a cab with digital only games and no analog I think I would stick with regular mame2003 due to it being much simpler and cfg files aren't being reset flipping options.
I like the analog and I really appreciate all you guys do. I was just sharing some thoughts so don't take it as anything bad and make comments about ripping options out. I am just trying to share feedback as a user.
For me everything was ok right up until analog was implemented and now there's so many "stipulations" of combos I am a bit afraid to change any of the core options might reset my
default.cfg
which can be a big deal for users with dedicated cabs, cocktail setups or just a bunch of custom configs, etc. I go through many games to set 3 and 4 players that are stored in the cfg files. I used to wipe out the core options file after each update and reconfigure to remove renamed options that are stale but not recently. -
-
well if i had my way people would just use input general just leave it on analog and digital. All analog and digital does is change you input general.
Your assuming you need to delete configs that happened because of structure changes of adding analog to accomadate ra none legacy mode. There is no reason to delete you config at all anymore you making assumptions. Once you at the latest mame2003-plus your done
All you need to know is analog and digital with none legacy mode and use the tab menu its the same as mame.
Mame does not have none legacy mode changes had to be made. None legacy mode is what complicated things. I personally dont understand it myself maybe mark can explain it to you. The rest of the settings is ra end its very incomplete I think the idea is this will take over the tab menu again you would need to clarify with mark. It no where near being complete though. I think what will happen eventually they will try copy fba and turn mame into setting everything liek a gamepad and setting dips from the quick menu and be limited to one control device
-
I have been playing with analog inputs in lr-mame2003-plus and have been disappointed with the responsiveness compared to advmame. What I mean by that is that I can very easily generate backspin--a problem usually solved by increasing the sample rate.
For reference, I run a Pi 3B, fresh RetroPie 4.4 stretch image, updated. The relevant controller hardware is keyboard (ipac4) and, most importantly, I have two (2) TurboTwist spinners and the U-Trak trackball (both of these running USB interfaces that look like two mice).
Take MiniGolf, for example. Without much effort, I can swipe the trackball for my shot and 2003+ sends the ball backwards (note: this is not because my axis needs to be reversed). If I slide it up SLOWLY, it moves in the right direction. Similar problems manifest with with spinners. Give them a good hard whirl and you get backspin--like a wagon wheel on an old western film.
Back in the old days, I would edit the Windows XP registry and increase the polling rate for serial inputs. This solved the problem, as the hardware is built to a very high spec that the OS typically ignores. There are similar settings for the pi in the cmdline.txt:
usbhid.mousepoll=2
which I THINK makes a difference in advmame, but does not seem do much in 2003plus. Any thoughts?I am happy to rebuild from source and test using my real arcade hardware if that helps. I would really love to switch some of the control-dependent titles over from advmame to an lr-core. I love everything you guys are working on here!
-
@caver01 is dont have that hardware try adjusting the sensativity in the analog menu. it could be ra polling as well dont have the hardware to debug it. The sample rate should be on 48000 anyway
-
@grant2258 Yeah, it seems like decreasing the sensitivity improves backspinning, but as you would expect, makes the inputs respond with less sensitivity. I was also thinking RA polling rate may be a factor. I wonder if that has been discussed in RA development. I know a lot of users are holding gamepads, but some of us old-school cabinet builders sure like to use clunky arcade controls!
-
@catver try goto settings->inupt-> poll type behaviour there are 3 settings there
-
@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.
-
@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
-
@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?
-
@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.
-
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. -
@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 changingInput (general)
. I started messing with the core options and next thing I know I had to redo all myInput (general)
options. ResettingInput (general)
is a big deal because it's the "root" config file.I change quite a few options from defaults in
Input (general)
likeL3 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 inInput (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 theInput Interface
tokeyboard
orsimultaneous
. 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?
-
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 legacyany 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.
-
@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) orRP1 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 tosimultaneous
. 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 thoseInput 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?
-
@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
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.