Jump to content

MAME ctrlr files


pjbridger

Recommended Posts

Posted

Hi Guys,

 

I have recently been trying to set up my controllers to work with multiple games,

 

I use Xbox 360 controllers and would love to get the controls working so they can change with each company I load, Eg Capcom, SNK or CPS2, Neo Geo,

 

I have been following this guide on the subject,

 

http://forum.arcadecontrols.com/index.php?topic=100079.0

 

and it has resulted in some success, 

 

now the streetfighter/capcom games work correctly with joypads and fightsticks

 

the issue i am having is with the Neo Geo or SNK games,

 

These games do not have correct button assignments when they load,

 

I have tried to edit the XArcade+XBOX360x4.cfg with no sucess,

 

If anyone can help or has an alterative solution this would be great!

 

Best,

 

Pj

Posted

thanks for the reply,

 

I was looking for an option other than this as i have a large amount of games,

 

and also the CPS2 games that i play work with 6 buttons and the Neo Geo work with 4,

 

I am a bit of a fighting game enthusiast so I have a lot of titles, and the control scheme is very important,

 

individually changing the control scheme for each rom would take a long time and is also quite confusing

Posted

What version of MAME are you using? For some reason I couldn't make XArcade+XBOX360x4.cfg work on MAME 173 but on 172 it works fine.

Also, they changed system names in recent version, for example "neogeo" is now "
neogeo_noslot.cpp", you might want to update the XArcade+XBOX360x4.cfg file with the new names. You can check system names by opening a game of that system and looking for machine information (driver name) on the tab menu of MAME.

Posted

Thanks for the replies,

 

I am using an older version of MAME,

 

but there is actually an updated file at the bottom of the post on arcade controls that works with MAME 173, So you could try that,

 

@kylecp1979, i think this is actually what that controller file is supposed to do on its own but its changing the keys to the wrong values for the neo geo romset,

 

What I really need is for someone who understands the ctrlr files to have a look at it and tell me what values to change so that the neo geo games use A and X for light punch and hard punch and X and Y for light kick and hard kick,

 

I have tried to edit the ctrlr file for myself but with no joy,

Posted

If you are wanting a control set for just neo geo and want it to switch to that control set when neo geo is loaded you will have to make a ctrlr file for it and a ini file for neo geo.

 

In your neo geo ini file use the ctrlr you made for neo geo in your ini file.

Posted

@kylecp1979 thanks for replying,

 

I am totally unsure of where to start and your answer is kinda confusing,

 

Do you have a link to a tutorial on how to do this,

 

or could you give a step by step?

Posted

you can read about this and maybe get a little bit of the idea. Then you will just need to make an ini file called neogeo.ini and use the ctrlr file you made.  I have had a long day and don't feel like writing a tutorial about it right now.

 

ctrlr config

 

http://easyemu.mameworld.info/mameguide/mameguide-controlini.htm

 

mame ini

 

http://swamp-ass.forumotion.net/t237-how-to-create-mame-ini-file

Posted

Ok............

 

I have found this information on another form and I used it and now control shemes are switching fine,

 

http://forum.arcadecontrols.com/index.php/topic,78362.msg817195.html#msg817195

 

 

 

Ctrlr file.

That's how the x-arcade & hotrodse do it.  (Check out the files in the ctrlr file if you use mame; mameUI does NOT include the files.)  It's easy, but quite a few steps to make your at first; once set up, you can continue using the ctrlr file (unless mame changes it again, of course).  

How to make a ctrlr file (lines starting with "*" are optional):
  • *delete cfg/default.cfg
  • *start any game in mame
  • *do all every-game remaps (tab, Input (general), etc)
  • *exit mame
  • copy cfg/default.cfg to ctrlr/yourname.cfg ("yourname" is any name you want)
  • edit mame.ini and set "ctrlr  yourname"
  • delete cfg/default.cfg
  • start any neogeo game  (<--- if repeat, start again here)
  • remap for neogeo, except remap in the "Input (general)" menu, like you did for every game above.
  • *play game, err,  test inputs grin.gif
  • exit mame
  • open cfg/default.cfg in a text editor
  • find the line that starts "<system" and change the name from "default" to "neogeo"
  • copy starting from "<system..>" to "</system>" (including these lines)
  • open ctrlr/yourname.cfg in a text editor
  • paste the lines after the last </system> already there
  • save ctrlr/yourname.cfg
  • delete cfg/default.cfg
  • *repeat for other driver sets, parent/clone sets, or specific games.^
  • test neogeo and non neogeo games

^  Change the system name to the driver, parent, or specific game name instead of "neogeo".  And always order the systems with "default" first, then the drivers, then the parents, then the specific games last.
 

 

I can confirm this way works and is reliable,

 

Here is my ctrlr file for the lazy people,

 

 

<?xml version="1.0"?>

<!-- This file is autogenerated; comments and unknown tags will be stripped -->
<mameconfig version="10">
    <system name="default">
        <input>
            <port type="P1_JOYSTICK_UP">
                <newseq type="standard">
                    JOYCODE_1_YAXIS_UP_SWITCH OR JOYCODE_1_HATSWITCHU
                </newseq>
            </port>
            <port type="P1_JOYSTICK_DOWN">
                <newseq type="standard">
                    JOYCODE_1_YAXIS_DOWN_SWITCH OR JOYCODE_1_HATSWITCHD
                </newseq>
            </port>
            <port type="P1_JOYSTICK_LEFT">
                <newseq type="standard">
                    JOYCODE_1_XAXIS_LEFT_SWITCH OR JOYCODE_1_HATSWITCHL
                </newseq>
            </port>
            <port type="P1_JOYSTICK_RIGHT">
                <newseq type="standard">
                    JOYCODE_1_XAXIS_RIGHT_SWITCH OR JOYCODE_1_HATSWITCHR
                </newseq>
            </port>
            <port type="P1_JOYSTICKRIGHT_UP">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_JOYSTICKRIGHT_DOWN">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_JOYSTICKRIGHT_LEFT">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_JOYSTICKRIGHT_RIGHT">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_JOYSTICKLEFT_UP">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_JOYSTICKLEFT_DOWN">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_JOYSTICKLEFT_LEFT">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_JOYSTICKLEFT_RIGHT">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_BUTTON1">
                <newseq type="standard">
                    JOYCODE_1_BUTTON3
                </newseq>
            </port>
            <port type="P1_BUTTON2">
                <newseq type="standard">
                    JOYCODE_1_BUTTON4
                </newseq>
            </port>
            <port type="P1_BUTTON3">
                <newseq type="standard">
                    JOYCODE_1_BUTTON5 OR JOYCODE_1_ZAXIS_NEG_SWITCH
                </newseq>
            </port>
            <port type="P1_BUTTON4">
                <newseq type="standard">
                    JOYCODE_1_BUTTON1
                </newseq>
            </port>
            <port type="P1_BUTTON5">
                <newseq type="standard">
                    JOYCODE_1_BUTTON2
                </newseq>
            </port>
            <port type="P1_BUTTON6">
                <newseq type="standard">
                    JOYCODE_1_BUTTON6 OR JOYCODE_1_ZAXIS_POS_SWITCH
                </newseq>
            </port>
            <port type="P1_BUTTON7">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_BUTTON8">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_BUTTON9">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_BUTTON10">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P2_JOYSTICK_UP">
                <newseq type="standard">
                    JOYCODE_2_YAXIS_UP_SWITCH OR JOYCODE_2_HATSWITCHU
                </newseq>
            </port>
            <port type="P2_JOYSTICK_DOWN">
                <newseq type="standard">
                    JOYCODE_2_HATSWITCHD OR JOYCODE_2_YAXIS_DOWN_SWITCH
                </newseq>
            </port>
            <port type="P2_JOYSTICK_LEFT">
                <newseq type="standard">
                    JOYCODE_2_XAXIS_LEFT_SWITCH OR JOYCODE_2_HATSWITCHL
                </newseq>
            </port>
            <port type="P2_JOYSTICK_RIGHT">
                <newseq type="standard">
                    JOYCODE_2_XAXIS_RIGHT_SWITCH OR JOYCODE_2_HATSWITCHR
                </newseq>
            </port>
            <port type="P2_BUTTON1">
                <newseq type="standard">
                    JOYCODE_2_BUTTON3
                </newseq>
            </port>
            <port type="P2_BUTTON2">
                <newseq type="standard">
                    JOYCODE_2_BUTTON4
                </newseq>
            </port>
            <port type="P2_BUTTON3">
                <newseq type="standard">
                    JOYCODE_2_BUTTON5 OR JOYCODE_2_ZAXIS_NEG_SWITCH
                </newseq>
            </port>
            <port type="P2_BUTTON4">
                <newseq type="standard">
                    JOYCODE_2_BUTTON1
                </newseq>
            </port>
            <port type="P2_BUTTON5">
                <newseq type="standard">
                    JOYCODE_2_BUTTON2
                </newseq>
            </port>
            <port type="P2_BUTTON6">
                <newseq type="standard">
                    JOYCODE_2_BUTTON6 OR JOYCODE_2_ZAXIS_POS_SWITCH
                </newseq>
            </port>
            <port type="P2_BUTTON7">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P2_BUTTON8">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P2_BUTTON9">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P2_BUTTON10">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="START1">
                <newseq type="standard">
                    JOYCODE_1_BUTTON7
                </newseq>
            </port>
            <port type="START2">
                <newseq type="standard">
                    JOYCODE_2_BUTTON7
                </newseq>
            </port>
            <port type="COIN1">
                <newseq type="standard">
                    JOYCODE_1_BUTTON7
                </newseq>
            </port>
            <port type="COIN2">
                <newseq type="standard">
                    JOYCODE_2_BUTTON7
                </newseq>
            </port>
            <port type="VOLUME_DOWN">
                <newseq type="standard">
                    JOYCODE_2_RYAXIS_POS_SWITCH OR JOYCODE_1_RYAXIS_POS_SWITCH
                </newseq>
            </port>
            <port type="VOLUME_UP">
                <newseq type="standard">
                    JOYCODE_1_RYAXIS_NEG_SWITCH OR JOYCODE_2_RYAXIS_NEG_SWITCH
                </newseq>
            </port>
            <port type="UI_PAUSE">
                <newseq type="standard">
                    JOYCODE_2_BUTTON8 OR JOYCODE_1_BUTTON8
                </newseq>
            </port>
            <port type="UI_RESET_MACHINE">
                <newseq type="standard">
                    JOYCODE_2_BUTTON10
                </newseq>
            </port>
            <port type="UI_SOFT_RESET">
                <newseq type="standard">
                    JOYCODE_1_BUTTON10
                </newseq>
            </port>
        </input>
    </system>
<system name="neogeo">
        <input>
            <port type="P1_BUTTON1">
                <newseq type="standard">
                    JOYCODE_1_BUTTON3
                </newseq>
            </port>
            <port type="P1_BUTTON2">
                <newseq type="standard">
                    JOYCODE_1_BUTTON1
                </newseq>
            </port>
            <port type="P1_BUTTON3">
                <newseq type="standard">
                    JOYCODE_1_BUTTON4
                </newseq>
            </port>
            <port type="P1_BUTTON4">
                <newseq type="standard">
                    JOYCODE_1_BUTTON2
                </newseq>
            </port>
            <port type="P1_BUTTON5">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_BUTTON6">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_BUTTON7">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_BUTTON8">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_BUTTON9">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P1_BUTTON10">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P2_BUTTON2">
                <newseq type="standard">
                    JOYCODE_2_BUTTON1
                </newseq>
            </port>
            <port type="P2_BUTTON3">
                <newseq type="standard">
                    JOYCODE_2_BUTTON4
                </newseq>
            </port>
            <port type="P2_BUTTON4">
                <newseq type="standard">
                    JOYCODE_2_BUTTON2
                </newseq>
            </port>
            <port type="P2_BUTTON5">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="P2_BUTTON6">
                <newseq type="standard">
                    NONE
                </newseq>
            </port>
            <port type="START1">
                <newseq type="standard">
                    JOYCODE_1_BUTTON7
                </newseq>
            </port>
            <port type="COIN1">
                <newseq type="standard">
                    JOYCODE_1_BUTTON7
                </newseq>
            </port>
<port type="VOLUME_DOWN">
                <newseq type="standard">
                    JOYCODE_2_RYAXIS_POS_SWITCH OR JOYCODE_1_RYAXIS_POS_SWITCH
                </newseq>
            </port>
            <port type="VOLUME_UP">
                <newseq type="standard">
                    JOYCODE_1_RYAXIS_NEG_SWITCH OR JOYCODE_2_RYAXIS_NEG_SWITCH
                </newseq>
            </port>
        </input>
    </system>
</mameconfig>
 

 

It switches between a main control set based on CPS and a Neo Geo based set and works with 360 pads and fightsticks,

 

Thanks to all who helped,

 

Best,

 

Pj

  • 2 weeks later...
Posted

all controls seem to work except i cant get coin and start to work without having to press 5 and 1 on keyboard.

every one of these files i have tried acts the same way.

 

Any ideas ?

 

Thanks in advance

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...