Jump to content
LaunchBox Community Forums

Treating NeoGeo games differently en-masse in MAME


vaderag

Recommended Posts

I have 8 buttons on my arcade stick and typically I run it in a configuration as below 

1 2 3 7

4 5 6 8

Which works for the vast majority of games

However, for neo-geo games I would like to have 

1 2 3 4

1 x x x

to represent the layout of the MVS

I know I can do this (relatively easily) on a per game basis, or a global basis, but is there any way to do this on a system basis (or even a Launchbox Playlist basis, which would be perfect!)

Thanks

Link to comment
Share on other sites

There may be an easier way, but one way is (assuming standalone MAME),

  • in your /MAME/cfg/ folder, make a backup of your default.cfg file. 
  • Open MAME and set the inputs as you want them for NeoGeo. 
  • Save and exit. 
  • Move the 'new' default.cfg file to /MAME/crtlr/ and rename it something like neogeo.cfg.
  • go back to your /MAME/cfg/ folder restore the backup of your default.cfg file. 
  • in your /MAME/ini/ folder, create a [text] file and call it "neogeo.ini"
  • in there, put "ctrlr   neogeo" (or whatever you named the "something like neogeo.cfg." [minus ".cfg"])

Now whenever you load a game that has the Source as neogeo (MAME will know), it will load the controller settings in 'neogeo.cfg'.

 

  • Like 1
Link to comment
Share on other sites

So, just given this a go and sadly doesn't seem to be working...

Sure it's something I've done as the rationale and logic above make sense, but it doesn't seem to enact the neogeo.ini

 

My neogeo.ini resides in the ini folder and says:

ctrlr    neogeo

My neogeo.cfg resides in ctrlr and I know it's got the right details in it as it has double mappings on some buttons which my standard doesnt e.g

            <port type="P1_BUTTON1">
                <newseq type="standard">
                    KEYCODE_A OR KEYCODE_Z
                </newseq>
            </port>

However, when I load a neogeo game from LB then it just seems to have my standard controls  (presuming this should work with anything source: neogeo/neogeo.cpp) which I've tried a few

Anything you can see I'm doing wrong?

 

EDIT: just some additional checks/troubleshooting I've tried:
a) ctrlr folder path hasn't been altered in main ini
b) adding .cfg to the end of the neogeo.ini prevents the game loading, so it does seem to be calling the neogeo.ini, just not implementing the controller changes
c) whitespace in the ini doesnt make a difference

Edited by vaderag
Link to comment
Share on other sites

1 hour ago, JoeViking245 said:

Does it work if you start a NeoGeo game directly from MAME itself?  

I'd love to be able to tell you, but if I try and run > Mame "fullpathtorom" I just get a bunch of required files are missing errors, even though they're all in the folder

EDIT. solved that by sticking the rompath in

And no... didn't work either

Edited by vaderag
Link to comment
Share on other sites

I was thinking more like open MAME (mame.exe), search for a NeoGeo game and start it from there. ;) 

For the game you're testing this on, delete the ../MAME/cfg/rom_name.cfg file.

i.e.   Alpha Mission II (alpham2.zip) delete ../MAME/cfg/alpham2.cfg file.

 

If that doesn't fix it....

In you mame.ini file, is writeconfig set to 0 (zero)?  Is so, leave it that way.  If not, change it to "0".  Save and close.

image.png.734c64d8b4b00f2eb6dfe54b0e45113d.png

 

What game are you testing?

Let's say Alpha Mission II (alpham2.zip). 

  • In your /ini/ folder, is there a matching ini file for that ROM (alpham2.ini)?  If so, delete it.
  • In your /cfg/ folder, is there a matching cfg file for that ROM (alpham2.ini)?  If so, delete it.

 

 

Link to comment
Share on other sites

16 minutes ago, JoeViking245 said:

I was thinking more like open MAME (mame.exe), search for a NeoGeo game and start it from there. ;) 

For the game you're testing this on, delete the ../MAME/cfg/rom_name.cfg file.

i.e.   Alpha Mission II (alpham2.zip) delete ../MAME/cfg/alpham2.cfg file.

 

If that doesn't fix it....

In you mame.ini file, is writeconfig set to 0 (zero)?  Is so, leave it that way.  If not, change it to "0".  Save and close.

image.png.734c64d8b4b00f2eb6dfe54b0e45113d.png

 

What game are you testing?

Let's say Alpha Mission II (alpham2.zip). 

  • In your /ini/ folder, is there a matching ini file for that ROM (alpham2.ini)?  If so, delete it.
  • In your /cfg/ folder, is there a matching cfg file for that ROM (alpham2.ini)?  If so, delete it.

 

 

Yeah, so I'm working with 3CountBout as the first in the list... i'd already checked - there was no cfg file for the roms I was testing

Also, writeconfig is set to 0 and... yeah... bit stumped!

I've added a brightness flag in to the ini to set it to 1.7 so I can visually see if the ini is loaded and it IS making it bright. So the neogeo.ini is being called, it's just not enacting any changes to the controller

Link to comment
Share on other sites

Okay, there is something a little odd going on... not sure what, but...

I've tried mapping in 3 Count Bout for the specific system and the way it then allocates is slightly different - there is a little more detail in the port line...

            <port tag=":edge:joy:JOY1" type="P1_BUTTON1" mask="16" defvalue="16">
                <newseq type="standard">
                    KEYCODE_A OR KEYCODE_Z
                </newseq>
            </port>

I'm figuring that type="P1_BUTTON1" is sufficient as that's the mapping, but I tried whacking that into neogeo.cfg instead and still no dice

It's either no loading or not finding the CFG in the ctrlr folder

Tried adding the full path to the Mame.ini for the ctrlr and still not doing anything... 

EDIT: Also, as a point of test - I also tried changing the line in mame.ini to ctrlr neogeo and still sitting with the default

Edited by vaderag
Link to comment
Share on other sites

20 minutes ago, vaderag said:

the neogeo.ini is being called

That's a good sign.

 

42 minutes ago, vaderag said:

I've tried mapping in 3 Count Bout for the specific system and the way it then allocates is slightly different

Correct.  How MAME saves them per game (3countb.cfg) is different than how they're saved globally (default.cfg).  That's why set them up in MAME under General Settings, then copied/renamed that file.

 

52 minutes ago, vaderag said:

I also tried changing the line in mame.ini to ctrlr neogeo

That won't work because of the order-of-precedence of 'when' ini files are loaded.  Well, it would if you deleted neogeo.ini. ;) 

 

1 hour ago, vaderag said:

there was no cfg file for the roms I was testing

How about ini file(s)?   ../MAME/ini/3countb.ini

 

I tested both these games and both loaded neogeo.cfg (controller/keyboard configs) when launched from inside the MAME UI [mame.exe].  Also tested with a batch file and same (good) results.

mame neogeo 3countb
pause

With "pause" in there you can see behind-the-scenes.

 

And after looking closer at it myself, I think I found out what your issue may be...

(My guess) You've changed some of your default input assignments under General Settings which got saved to default.cfg (in the /cfg/ folder).  (After moving and renaming it to ../ctrlr/neogeo.cfg.)

The fix.?.?...

  • You have your 'custom' neogeo.cfg file in /ctrlr/ already.
  • You have neogeo.ini set to load neogeo.cfg already.
  • Move default.cfg from /cfg/ to /ctrlr/  (Move, don't copy)
  • Edit mame.ini and set    "ctrlr    default"
  • Save and close
  • Start a NeoGeo game

What my testing showed was, MAME will load [red underlined] neogeo.cfg (in /ctrlr/) and then load default.cfg (/cfg/ folder) [next line down].  The line after that is the neogeo.cfg file in /cfg/ that has nothing to do with controller settings.

image.thumb.png.ea0302a9eeedac6ad9ea4b74f55eaca7.png

"What the heck" you say?  Ya. Me too. But not so nicely. lol

Oh, and if you didn't plan to make 'default' input changes, simply delete default.cfg in the /cfg/ folder.  It will later create a "clean-slate" default.cfg.

 

And if none of that helps or fixes the issue, I have one more sure-fire cure up my sleeve. ;) 

Link to comment
Share on other sites

12 hours ago, JoeViking245 said:
14 hours ago, vaderag said:

I also tried changing the line in mame.ini to ctrlr neogeo

That won't work because of the order-of-precedence of 'when' ini files are loaded.  Well, it would if you deleted neogeo.ini.

Yup , I did delete neogeo.ini

 

12 hours ago, JoeViking245 said:

How about ini file(s)?   ../MAME/ini/3countb.ini

All gone - no files

 

12 hours ago, JoeViking245 said:
  • You have your 'custom' neogeo.cfg file in /ctrlr/ already.
  • You have neogeo.ini set to load neogeo.cfg already.
  • Move default.cfg from /cfg/ to /ctrlr/  (Move, don't copy)
  • Edit mame.ini and set    "ctrlr    default"
  • Save and close
  • Start a NeoGeo game

Oooh... i think maybe you've nailed it... yes - I'm using an altered default to map to my CP

I will give this a try later and report back

Link to comment
Share on other sites

Oh no... @JoeViking245... I think I have a new elated problem!

So, just setting up LEDBlinky and this route seems to have messed with it's ability to properly read the config of mame, meaning the wrong things light up on my panel :(

It seems to use the default.cfg in the original place - I can override that, but doesn't seem to work for the neogeo 😢

Link to comment
Share on other sites

4 hours ago, vaderag said:

I wonder if there's a way to pass a config

Start by testing it on one game (3 Count Bout).

Edit the game and under Emulation, check Use Custom Command-Line Parameters, and put     

-keyboardprovider dinput -ctrlr neogeo

Look at your MAMEs default commands and see if there's anything else you should add. Like "-rompath %romlocation%".  (Because those won't get passed)

 

Link to comment
Share on other sites

15 hours ago, JoeViking245 said:

Start by testing it on one game (3 Count Bout).

Edit the game and under Emulation, check Use Custom Command-Line Parameters, and put     

-keyboardprovider dinput -ctrlr neogeo

Look at your MAMEs default commands and see if there's anything else you should add. Like "-rompath %romlocation%".  (Because those won't get passed)

 

Yeah, that seems to work (with defaults set)

So, is there any way to send that as a default on all neogeo games?

  • Like 1
Link to comment
Share on other sites

2 hours ago, vaderag said:

is there any way to send that as a default on all neogeo games?

Select your NeoGeo Playlist (if you don't have one, create it [hint "Source=neogeo.cpp"]) so you can easily select all [only] your NeoGeo games.

Download, install and use this plugin per the Setting Up: instructions. 

 

 

Link to comment
Share on other sites

Bummer, I think I got carried away - went back to test this again and it's not working... it's loading the correct controls but the LEDs aren't representing what they're supposed to :(

I think this is becoming more of an LED Blinky question now - thanks for your help - I know how to do it now, just need to resolve the LEDBlinky issue

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...