Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. My bare hosting costs are currently not met so please consider donating by either clicking this text or the Patreon link on the right.

Patreon

Recommended Posts

Posted

Hey, so this isn't exactly a GamEx question, but the people here are more intelligent (and nicer) than the other forums I've perused. At any rate, I have a 7 button control panel, set up like the standard Slikstik configuration.

  4 5 6
1 2 3
7

However, I'm hoping to set up some custom configurations for Capcom & NeoGeo games. Basically, I'm hoping to keep the above layout for default games, but if the game is from Capcom, like Street Fighter II, I'd like to switch to:

  1 2 3
4 5 6
7

To keep the same format as the arcade. Likewise, if it's a NeoGeo game, I'd like to have:

  5 6 7
2 3 4
1

I found the following site, which makes it look possible to do, but I'm unclear how to designate categories, as it only gives examples for specific games or a specific device.

Click here!

If anyone has any ideas or suggestions, or can tell me it's a pipe dream, feel free to share :D

Posted

Okay what you need to do is create a ctrlr file that goes into your Mame's ctrlr folder. Lets call it IPAC2.cfg.

You need to open you Mame's ini configuration file and make sure it points to the ctrlr file like so

ctrlr					 IPAC2

Next you need to put all your mappings in there. You can use source file names or parent roms, so for neogeo games, just use "neogeo".

Attached is an example of doing that. Obviously you will need to use a default SlikStik ctrlr file instead and add the appropriate mappings for "neogeo" below the default.

IPAC2.zip

Posted

Cool! I've been wondering about this for some time now. I actually have an extended question though...

If a game has 1-4 or 7 buttons, I want to use one config. If it has 5 buttons, I want a second config. If it has 6 buttons, I want yet a 3rd. This is for the same reason...

My layout is as follows:

  5  6  7
2 3 4
1

I normally use a Neo Geo layout as I find myself playing those games WAY more than any other. But, if I play a SF game, I want to have the 6 button layout. The problem is that all Capcom games are not 6 button SF games. Any ideas?

Posted
Cool! I've been wondering about this for some time now. I actually have an extended question though...

If a game has 1-4 or 7 buttons, I want to use one config. If it has 5 buttons, I want a second config. If it has 6 buttons, I want yet a 3rd. This is for the same reason...

My layout is as follows:

  5  6  7
2 3 4
1

I normally use a Neo Geo layout as I find myself playing those games WAY more than any other. But, if I play a SF game, I want to have the 6 button layout. The problem is that all Capcom games are not 6 button SF games. Any ideas?

You can only do global mappings in ctrlr files for source files or parent roms, you can't specifiy "use this config if the game has x number of buttons" you will have to write a script to read GameInfo.xml and read in the number of buttons and write a config for each game (unfortunatly). I think Mame's input system is complicated enough without supporting configs on a per button or whatever else basis!

FYI If your going to have separate configs for each game, they should go in the cfg folder, not in the ctrlr file.

Anyway, for me I have a 7 button layout for each player and I just use buttons 1 to 7 for all games except map the bottom 4 for NeoGeo games.

Posted

Yeah, I set them up manually before the new control system went into effect. I just have been dreading setting up the 5 and 6 button games again. Eventually I'll get to it, I was just hoping there might be another way to get around the tedious task...

  • 4 months later...
Posted

Ok, so I have a somewhat working *.cfg. This appears to work for everything except for the Smash TV stuff at the very end. The idea is, since Smash TV uses 2 joysticks, to use the second joystick on an Xbox 360 controller; but I have no idea what the keycode is for that. If anyone knows of an easier way of doing this, or of a better way to set up a ctrlr file aside from just slapping in every single game name as you play them, please let me know:

<?xml version="1.0"?>
<mameconfig version="10">
<system name="default">
<input>

<port type="P1_JOYSTICKLEFT_UP">
<newseq type="standard">
KEYCODE_UP OR JOYCODE_1_UP
</newseq>
</port>
<port type="P1_JOYSTICKLEFT_DOWN">
<newseq type="standard">
KEYCODE_DOWN OR JOYCODE_1_DOWN
</newseq>
</port>
<port type="P1_JOYSTICKLEFT_LEFT">
<newseq type="standard">
KEYCODE_LEFT OR JOYCODE_1_LEFT
</newseq>
</port>
<port type="P1_JOYSTICKLEFT_RIGHT">
<newseq type="standard">
KEYCODE_RIGHT OR JOYCODE_1_RIGHT
</newseq>
</port>
<port type="P1_BUTTON1">
<newseq type="standard">
KEYCODE_Z OR JOYCODE_1_BUTTON1
</newseq>
</port>
<port type="P1_BUTTON2">
<newseq type="standard">
KEYCODE_X OR JOYCODE_1_BUTTON2
</newseq>
</port>
<port type="P1_BUTTON3">
<newseq type="standard">
KEYCODE_C OR JOYCODE_1_BUTTON3
</newseq>
</port>
<port type="P1_BUTTON4">
<newseq type="standard">
KEYCODE_V OR JOYCODE_1_BUTTON4
</newseq>
</port>
<port type="P1_BUTTON5">
<newseq type="standard">
KEYCODE_B OR JOYCODE_1_BUTTON5
</newseq>
</port>
<port type="P1_BUTTON6">
<newseq type="standard">
KEYCODE_N OR JOYCODE_1_BUTTON6
</newseq>
</port>
<port type="P1_BUTTON7">
<newseq type="standard">
KEYCODE_M
</newseq>
</port>
<port type="START1">
<newseq type="standard">
KEYCODE_1 OR JOYCODE_1_8
</newseq>
</port>
<port type="COIN1">
<newseq type="standard">
KEYCODE_5 OR JOYCODE_1_7
</newseq>
</port>

<port type="P2_JOYSTICK_UP">
<newseq type="standard">
OYCODE_2_UP
</newseq>
</port>
<port type="P2_JOYSTICK_DOWN">
<newseq type="standard">
JOYCODE_2_DOWN
</newseq>
</port>
<port type="P2_JOYSTICK_LEFT">
<newseq type="standard">
JOYCODE_2_LEFT
</newseq>
</port>
<port type="P2_JOYSTICK_RIGHT">
<newseq type="standard">
JOYCODE_1_RIGHT
</newseq>
</port>
<port type="P2_BUTTON1">
<newseq type="standard">
KEYCODE_A OR JOYCODE_2_BUTTON1
</newseq>
</port>
<port type="P2_BUTTON2">
<newseq type="standard">
KEYCODE_S OR JOYCODE_2_BUTTON2
</newseq>
</port>
<port type="P2_BUTTON3">
<newseq type="standard">
KEYCODE_D OR JOYCODE_2_BUTTON3
</newseq>
</port>
<port type="P2_BUTTON4">
<newseq type="standard">
KEYCODE_F OR JOYCODE_2_BUTTON4
</newseq>
</port>
<port type="P2_BUTTON5">
<newseq type="standard">
KEYCODE_G OR JOYCODE_2_BUTTON5
</newseq>
</port>
<port type="P2_BUTTON6">
<newseq type="standard">
KEYCODE_H OR JOYCODE_2_BUTTON6
</newseq>
</port>
<port type="P2_BUTTON7">
<newseq type="standard">
KEYCODE_J
</newseq>
</port>
<port type="START2">
<newseq type="standard">
KEYCODE_2 OR JOYCODE_2_8
</newseq>
</port>
<port type="COIN2">
<newseq type="standard">
KEYCODE_6 OR JOYCODE_2_7
</newseq>
</port>

<port type="UI_PAUSE">
<newseq type="standard">
KEYCODE_P
</newseq>
</port>
<port type="UI_CANCEL">
<newseq type="standard">
KEYCODE_ESC
</newseq>
</port>

</input>
</system>

<system name="neogeo">
<input>

<port type="P1_BUTTON1">
<newseq type="standard">
KEYCODE_M OR JOYCODE_1_BUTTON1
</newseq>
</port>
<port type="P1_BUTTON2">
<newseq type="standard">
KEYCODE_Z OR JOYCODE_1_BUTTON2
</newseq>
</port>
<port type="P1_BUTTON3">
<newseq type="standard">
KEYCODE_X OR JOYCODE_1_BUTTON3
</newseq>
</port>
<port type="P1_BUTTON4">
<newseq type="standard">
KEYCODE_C OR JOYCODE_1_BUTTON4
</newseq>
</port>
<port type="P1_BUTTON5">
<newseq type="standard">
CODE_NONE
</newseq>
</port>
<port type="P1_BUTTON6">
<newseq type="standard">
CODE_NONE
</newseq>
</port>
<port type="P1_BUTTON7">
<newseq type="standard">
CODE_NONE
</newseq>
</port>

</input>
</system>
<system name="cps3.c OR sf2 OR sfexp OR sfex2p OR sfex OR sfea OR sfa2 OR sfa3 OR sf2ce OR sfexp">
<input>

<port type="P1_BUTTON1">
<newseq type="standard">
KEYCODE_X OR JOYCODE_1_BUTTON1
</newseq>
</port>

</input>
</system>

<system name="mk OR mk2">
<input>

<port type="P1_BUTTON2">
<newseq type="standard">
KEYCODE_X OR KEYCODE_N OR JOYCODE_1_BUTTON2
</newseq>
</port>

</input>
</system>

<system name="mk3">
<input>

<port type="P1_BUTTON6">
<newseq type="standard">
KEYCODE_N OR KEYCODE_N OR JOYCODE_1_BUTTON2
</newseq>
</port>

</input>
</system>

<system name="robotron OR smashtv OR totcarn">
<input>

<port type="P1_JOYSTICKRIGHT_UP">
<newseq type="standard">
JOYCODE_2_UP
</newseq>
</port>
<port type="P1_JOYSTICKRIGHT_DOWN">
<newseq type="standard">
JOYCODE_2_DOWN
</newseq>
</port>
<port type="P1_JOYSTICKRIGHT_LEFT">
<newseq type="standard">
JOYCODE_2_LEFT
</newseq>
</port>
<port type="P1_JOYSTICKRIGHT_RIGHT">
<newseq type="standard">
JOYCODE_2_RIGHT
</newseq>
</port>

</input>
</system>

</mameconfig>

Posted

The easiest way to figure out what MAME calls an input is to set it to something inside the MAME setup menus and then edit the controller files.

  • 5 months later...
Posted
:( What am I doing wrong?

I do have the path set to the ctrlr file....

post-2333-1220289061_thumb.jpg

Want a better pic?

I believe ctrlr files must also have all the default keys in it too. So I would take the IPAC example I posted and change the default keys to match your own.

Posted

I renamed your IPAC2.cfg to neogeo.cfg, and put it in Mame\ctrlr. I did not change the default keys, but I did change the neogeo entries. I figured that by not changing the default entries, the worse thing that could happen is that my keys would be messed up. <_<

It doesn't work. This should be simple. You may have to dumb-it-down for me... Sorry to be a PITA.

Posted

I took the advice of a friend, made a copy of Mame\cfg\default.cfg. I changed the P1 and P2 buttons 1-4 to the way I want my neogeo games to work. I renamed the file to neogeo.cfg, and put it in the Mame\ctrlr folder. It doesn't change my mappings. I would be happy to zip up my whole Mame folder if you guys want it! <_< Seriously, this should be easy, but it's not working...WTF?

Posted

The way Mame maps keys is like this

[CTRLR].cfg -> default.cfg -> [ROM].cfg

I would suggest you copy your Mame folder and play around with a copy. Is your ctrlr folder in the Mame folder? If so maybe try changing the path to

ctrlrpath				 ctrlr

Also I would delete all the files in your cfg folder and just see if you can get the ctrlr file working first.

  • 1 month later...

Join the conversation

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

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