Jump to content
LaunchBox Community Forums

libretro_mame core .ini file location?


Manuel Leiria

Recommended Posts

Long story short, due to the way the Steam Controller works, I need to play mame games through RetroArch. I've got everything set up but one: I can't for the life of me find out where I should place the game .ini files.

I need these so I can activate frameskipping on some of the more demanding titles, or activate the mouse as a lightgun on lightgun games.

I need to understand if libretro_mame even supports the ini files, and if not if there is another way we can specify custom game configurations.

Thanks in advance.

Link to comment
Share on other sites

Did you try changing the input type that MAME is looking for they may allow it to work with the steam controller

Quote

MAME will accept keyboard and mouse inputs if you pass -keyboardprovider dinput and -mouseprovider dinput on the mame command line. Alternatively, you can put “keyboardprovider dinput” and “mouseprovider dinput” in mame.ini.

Both of these settings default to “auto”, which tries rawinput first (which won’t work).

that quote is from the comments of this post here

Link to comment
Share on other sites

Sure @DOS76 I can certainly chime in here and I know exactly what is happening here so I will try and break it down if I can.

First things first, Don't use RA for MAME stuff at all, it's not very good. This is not a sentiment I alone espouse and in fact is the recommendation of at least one RA dev. The problem is they just don't develop RA cores super often and MAME updates too quickly to keep up beyond only periodic updates. So, our goal here is to use MAME actual with the Steam Controller using Launchbox or BigBox to launch those games with the whole thing working properly.

First question I ask you is, how EXACTLY are you launching MAME? If you add MAME.exe to steam and launch it does the steam overlay show? It should be. When you add LB from steam and then launch the MAME game via LB does the steam overlay show? It also, should be. If both of these situations you get the overlay then you are perfectly fine here and it IS working but MAME has a few issues that are easily fixed. The symptoms of the issue would be that the SC when using a GamePad config will simply not be recognized but you SHOULD still be able to use KB/M bindings. If that is enough for you then go right on ahead and do that. You will lose analog inputs for games that use it so generally, this is undesirable. The problem is MAME uses RAW input and not the normal Windows Dinput or even SDL for its inputs. The reason the SC does not work is because this requires only inputs from a driver in Windows and cannot get anything from keycodes or keypress injection, which is precisely how the SC works. The thing is, you can change this! Thankfully, the MAME devs have a few different backends build into MAME itself, you just have to change them for whatever input device you are using. I found this out by a LOT of googling and I found a post from a while ago from a disabled gamer who uses handicap accessible controllers that rely on software injection of the key presses, just like the SC does.

 

  1. GO to your MAME install directory

  2. Open MAME.ini in you favorite text editor

  3. You need to search for two lines <keyboardprovider> and <mouseprovider>

  4. You will notice that each of these has a value of <auto> you need to change this to <dinput>

  5. Save the file

  6. Enjoy!

 

Now, if you are still having issues, or if your overlay is not working then the SC will default to using the desktop config as a general rule. If this is the case then we will have to take a step back and figure out why that is the case because it works for me and pretty much anyone else I know that uses and SC, the number of which is actually quite excessive.

Another thing of note here, make sure you are using the official builds of MAME directly from http://mamedev.org/ because some of the third party builds have patches or changes that can either change or outright destroy compatibility with the SC and other kinds of controller software. This is the version I use and it works a treat so I would highly recommend you do the same. Besides, you have LaunchBox so you don't actually need things like MAMUI or any of the other variants.

I hope this helps somewhat. I can't comment on why your changes arent being read by MAME from the ini so if you have some issues, you should paste what those entries say from your ini here and I will compare them to my own, confirmed, working ini. Here is also a link directly to the original post I made on the steam controller discussions about this exact topic. http://steamcommunity.com/app/353370/discussions/0/350541595120301147/

Never fear, when it comes to the steam controller, if anyone can help you get it going it would be me. I am somewhat obsessed with this silly little hunk of plastic and wires so I will promise I will at least do my best. :D

  • Like 1
Link to comment
Share on other sites

Man, @cammelspit, that guide was awesome! Unfortunately, as soon as the steam controller is connected and I try to lauch mame it crashes on me for some reason. However, I've spent the whole afternoon trying to get it to work, and it's finally ok through RetroArch, so I'm leaving it for now.

Also, right now the mame retrolib is on version .181, which is the current one, so it's really fine by me :)

Link to comment
Share on other sites

Not to worry Manuel, I get it. :) I am still of the opinion standalone, especially for MAME, is the best way to go for MAME but if you are happy then I am happy. You are not the first person to randomly have issues with MAME crashing on launch when launched via steam. I wonder if that has something to do with a change in MAME or a change in Steam, maybe even a driver update? Anyways, glad you can at least play your arcade games ATM.

Have fun and Happy Gaming!

  • Like 1
Link to comment
Share on other sites

From my understanding, it must have to do with the Steam Controller's drivers being loaded into MAME. The Steam controller tries to emulate an XInput device, but there must be some type of inconsistency that crashes MAME.

I guess there might be three advantages with RetroArch: 1) I don't need to forgo analog controls, and the analog stick actually works pretty well with Lightgun games (the disadvantage being that I haven't figured how to enable the mouse on lightgun games without editing .ini files); 2) I can multi-thread the emulation, guaranteeing that most (if not all) games emulate at a 100% speed (with the disadvantage of possibly not emulating the game 100% accurately); and 3) I can setup my shaders through RetroArch (although arguably you can do the same thing in MAME).

It's really a tossup, and as long as stuff works properly it doesn't pain me at all :)

(Also, the Steam Controller rules)

Link to comment
Share on other sites

Also, I agree, the Steam Controller is amazeballs. :P Since OCT2015 I have literally not used anything else to play anything and that includes KB/M games. As a point of fact, the steam controller actually doesn't emulate anything at all. What the steam controller does is it talk directly to the API and does not load a GamePad driver. OFC, there are downsides to this, like not being able to use UWP games out of the box because of how M$ locked UWP into ONLY working with XBOX controllers, thanks, M$. You can use Xoutput or GloSC to do some actual emulation, though. Those two pieces of software actually add a virtual gamepad driver but they have their own downsides too.

As far as RA is concerned, I had a conversation with one of the DEVs on their forums. See, RA MAME is less performant and less compatible than MAME actual so that's what they had recommended to myself and another user having issues getting it to load some of the software list games. The multi-threaded thing? It's not actually multi-threaded emulation. Emulation, more specifically the way MAME does it, is not something you can actually thread properly. Nearly all emulators use only one single thread and RA is no exception to this. What that check actually does is it breaks off the video processing so you simply have a bit more of the main thread left for emulation. This WILL add input lag to the whole process, though. If you were a big Street Fighter or Mortal Kombat fan then you would likely see that lag and that will certainly hinder your gaming. MAME also supports doing the exact same thing and, if I recall, it's the default.

As long as you are happy with how it's working then that is fine. Still baffling that you get an outright crash with MAME, though. Either way, if you ever want to do some more troubleshooting or just want to chat, hit me up on steam. I am a stay at home Dad so I am on steam about 90% of the time. My name there is just cammelspit so throw me a friend request if you like. I especially like talking to people who have a passion for the steam controller like I do.

Have a great day Manuel!

  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...