Build Your Own Arcade Controls Forum
Main => Software Forum => Topic started by: Birdtales on March 03, 2003, 01:19:23 pm
-
Does anyone know of an easy way to make Player 2 controls act like Player 1 controls for games that are 2 player alternating?
For instance if I had one 4 way each for Player 1 and Player 2 and I wanted to play Pacman without swaping in and out, is there an easy way to map Player 1's controls to Player 2.
I have an iPac in 2 of my cabinets but I think the third will get a KeyWiz. For an FE I am alternating back and forth between ArcadeFX (like the looks) and MameWah, (like the flexibility but can't wait for the new WIP version so I get better looks). Win 98SE in all 3.
I'm sure I could run a macro to load an alternate set of controls on the iPac but wouldn't I have to manually identify every game I want to do this for. Will the controls.dat project make this easier?
Any help will be appreciated.
-
heh.. you're asking for player 1 to "accidently" bump his controls while player two is playing (or vice versa)
Sorry, I don't have an answer... but have the same issue... if you play the 2player "alternating" games it's a pain if you are using a stool (or two stools)
*shrug*
rampy
-
They way I do it is for alternating games is:
Inside mame, hit tab and go to the "Input(General)"
Set up Player 1 directions and buttons to include Player 2 directions and buttons.
ex:
Player 1 left = LEFT or D
This way, either player 1 or player 2 controls can control alternating.
A word of warning though, This will mess up all games where there is no alternating, So in 2 player simultaneous games, Player1 controls will control both player 1 and 2.
There are a few ways around this, either you could do as above, and then configure each 2-4 simultaneous player games individually using the "Input(this game)" back to normal,
or
Configure each game manually from "Input(this game)" 3400+ games (UGH...)
If someone knows a better way of doing this, please post, I'm still trying to configure all my games manually.
-PacManFan
-
heh.. you're asking for player 1 to "accidently" bump his controls while player two is playing (or vice versa)
I guess it will have to be on the honor system :)
Sorry, I don't have an answer... but have the same issue... if you play the 2player "alternating" games it's a pain if you are using a stool (or two stools)
*shrug*
rampy
In my case I am trying to get this to work on a two player sitdown with racing seats so it's a ROYAL pain to swap in and out of Player 1 position.
-
Just setup custom CTRLR files to load in certain games that are alternating.
-
Does that have to be done on a per-game basis, or is there some sort of global flag for only alternating games?
-PacManFan
Just setup custom CTRLR files to load in certain games that are alternating.
-
I'm pretty sure it would be per game....It sounds like a total hassle but it's really worth it. Because once you set a CTRLR file up for a game you never have to do it again, even after you upgrade to a new version of Mame.
Perhaps after the controls.dat project is complete, there would be frontends that would automatically be able to launch the proper CTRLR files if the game is 2 player alternating...
Although depending on what frontend you use, you would have the option to sort all the alternating 2 player games into a single section and globally launch that special CTRLR file for all of those. Thats the only workaround I can think of right now.
-
I took a look at the cfg files that define the player inputs on a per game basis, I got the reader/writer code from mame source. I think the easiest way for me to do a fix for this to work for both alternating and non-alternating games (if no one else has an answer) is to use the infomation from the new controls.dat project and cross-referance the "alternating" info from the games to create custom cfg's for only the non-alternating games (there are more alternating than non-alternating). I think is is a relatively simple job to do via VB programming, I just need to grab a copy of the controls.dat, and write a simple app to allow the user to specify the keycodes, and then batch export them to the cfg files.
Maybe I can send this out as a tool with EmuTron soon.
-PacManFan
I'm pretty sure it would be per game....It sounds like a total hassle but it's really worth it. Because once you set a CTRLR file up for a game you never have to do it again, even after you upgrade to a new version of Mame.
Perhaps after the controls.dat project is complete, there would be frontends that would automatically be able to launch the proper CTRLR files if the game is 2 player alternating...
Although depending on what frontend you use, you would have the option to sort all the alternating 2 player games into a single section and globally launch that special CTRLR file for all of those. Thats the only workaround I can think of right now.
-
I took a look at the cfg files that define the player inputs on a per game basis, I got the reader/writer code from mame source.
You are talking about cfg files, ctrlr files are MUCH easier to work with, no code from mame needed:)
-
I took a look at the cfg files that define the player inputs on a per game basis, I got the reader/writer code from mame source.
You are talking about cfg files, ctrlr files are MUCH easier to work with, no code from mame needed:)
Yes, use ctrlr files!
Not only are they easier to program with, once editted, they will be forward compatable and work in new versions of mame. A cfg file for a game can change version to version, thus needing to be editted each new version of mame.
-
Thanks, I'll stick with the ini files.
-PMF
-
I think I just found a way to get all that alternating / non-alternating info from www.KLOV.com. I just wrote a VB app that goes through all the games, parses the HTML and pulls out the alternating / nonalternating info. I guess my next step is to generate the ini files. I'll probably create a vb to get the keys for alternating / nonalternating from the user and have some sort of export function.
I wonder if something like this would help out in the controls.dat project?
SirPoonga? Any response?
Here's a sample of the info I'm pulling out:
Title :'99 The Last War
# Simul :1
Title :005
# Simul :1
Title :10 Pin Deluxe
# Simul :1
Title :10-Yard Fight
# Simul :1
Title :18 Wheeler
# Simul :1
Title :18 Wheeler: American Pro Trucker
# Simul :1
Title :1937 World Series
# Simul :1
Title :1941: Counter Attack
# Simul :2
Title :1942
# Simul :1
Title :1942 (PlayChoice)
# Simul :1
Title :1943 Kai - Midway Kaisen
# Simul :2
Title :1943 The Battle Of Midway
# Simul :2
Title :1944: The Loop Master
# Simul :2
Title :1945
# Simul :2
Title :19XX: The War Against Destiny
# Simul :2
Title :19th Hole
# Simul :1
Title :2 On 2 Open Ice Challenge
# Simul :4
-more later
-PacManFan
Thanks, I'll stick with the ini files.
-PMF
-
I wonder with a KeyWiz and a toggle switch for a Shazam switch if one could just throw the switch when one wanted both player one and two sticks to be the same outputs? For that matter are the joystick controls the 8 that can't be "Shazamed"?
Of course the Player would have to know ahead of time that the game was alternating.
-
Well, maybe I spoke too soon, I was just at http://www.fe.donkeyfly.com/yabbse/index.php?board=4;action=display;threadid=5
And it looks like HC has already written a parser for this info.
-PacManFan
-
Yep, HC's klov parser is how controls.dat started.
-
and......?
what ever happened with this?
I'm just getting my machine wrapped up and my girlfriend and I (yes! I finally got her to play some games with me! ) have been playing a lot of stuff and we're too lazy to move on and off our new stools so much! We'd love to be able to do this.
It also looks like the control.dat idea hasn't gone too far either....
;)
I'm new and i'm not trying to be rude or whatever..I'll do anything I can to help..
Thanks, I've enjoyed the hell out of reading everyones posts and am looking forward to being more involved in the community! :D
Matt
-
and......?
what ever happened with this?
I'm just getting my machine wrapped up and my girlfriend and I (yes! I finally got her to play some games with me! ) have been playing a lot of stuff and we're too lazy to move on and off our new stools so much! We'd love to be able to do this.
It also looks like the control.dat idea hasn't gone too far either....
;)
I'm new and i'm not trying to be rude or whatever..I'll do anything I can to help..
Thanks, I've enjoyed the hell out of reading everyones posts and am looking forward to being more involved in the community! :D
Matt
Don't worry, this hasn't been dropped. I've been working hard on the next release of EmuTron. Inside the configuration manager "Config-O-Tron", I plan to have a way to set up the ini files for games. You will be able to filter the game lists based on alternating /non-alternating info, and then generate the ini files for mame. I've already gotten all the KLOV info, now I'm trying to match up the KLOV game name/description to the mame rom names, and integrate all thast info into an ini file any sorting tool should be able to use. It doesn't contain that same info as controls.dat, It only has the alternating -non alternating info along with Max #of players, # of simultaneous players and basic control layout types.
Be patient, it's coming....
-PacManFan
-
and......?
what ever happened with this?
I'm just getting my machine wrapped up and my girlfriend and I (yes! I finally got her to play some games with me! ) have been playing a lot of stuff and we're too lazy to move on and off our new stools so much! We'd love to be able to do this.
It also looks like the control.dat idea hasn't gone too far either....
;)
I'm new and i'm not trying to be rude or whatever..I'll do anything I can to help..
Thanks, I've enjoyed the hell out of reading everyones posts and am looking forward to being more involved in the community! :D
Matt
Yeah, if you read fe.donkeyfly.com you will see where controls.dat is right now.
Also, I plan on havng mame output to ctrlr files. If you goto the mameworld.net dev forum you see I have been talking about it.
-
Does anyone know of an easy way to make Player 2 controls act like Player 1 controls for games that are 2 player alternating?
For instance if I had one 4 way each for Player 1 and Player 2 and I wanted to play Pacman without swaping in and out, is there an easy way to map Player 1's controls to Player 2.
I have an iPac in 2 of my cabinets but I think the third will get a KeyWiz. For an FE I am alternating back and forth between ArcadeFX (like the looks) and MameWah, (like the flexibility but can't wait for the new WIP version so I get better looks). Win 98SE in all 3.
I'm sure I could run a macro to load an alternate set of controls on the iPac but wouldn't I have to manually identify every game I want to do this for. Will the controls.dat project make this easier?
Any help will be appreciated.
Hi..long time reader. first time poster....
Has anyone got this to work?
Im trying specificly mspacman, and Ive read and followed this
http://www.mameworld.net/easyemu/mamecontrolini.htm
but cannot get the second player to work with the second controller. ???
Im running Mame32 v69.
Anyone?
Thanks.
Chris
-
I typed up this whole thing then tried to attach an ini file to it, and it erased my whole message. it went something like this...
apparently there is no "perfect" (at least in my mind) to do this. MAME would have to have a much closer relationship with each game, because all the original software (the roms) knew to do was to get input from the one joystick it had.....aka Player 1
either the roms would need to be re-written (can this be done mimicking a cocktail mode without the screen flipping or something? cuz those had 2 joysticks but the same software, right?) or MAME would need to be a whole lot smarter and know when player 1 died and it's time to hand control back to player 2. I'm not a programmer, just a logical thinker, and to me....this is how it works logically.
For now I'm using the trust system.
I've attached my mspacman.ini file (called mspacman.txt) so you can try it. Hopefully it's not too bloated. It is set up to work for a 2 player 1 button game like PacLand, Donkey Kong, Popeye, etc. so all you'd need to do is rename the file to dkong.ini and it'll work in donkey kong or Pacland.ini to get it to work in PacLand. It's not too tough.
If I'm wrong about anything here, I'd really appreciate it if someone would tell me, because I want to know as much about MAME as possible.
so, give this file a shot and let me know how it goes, eh?
Later
Matt
-
because all the original software (the roms) knew to do was to get input from the one joystick it had.....aka Player 1
either the roms would need to be re-written (can this be done mimicking a cocktail mode without the screen flipping or something? cuz those had 2 joysticks but the same software, right?) or MAME would need to be a whole lot smarter and know when player 1 died and it's time to hand control back to player 2.
Nope, won't happen. The rom is a direct dump from the actual pcb. Technically it could be rewritten but then it wouldn't be the original.
The only good way to do that is for those games make a ctrlr ini file to map the player 2 controls to player 1.
-
maybe this is a stupid question, but how about the cocktail part?
like...use the other joystick but don't flip the screen?
make that like..another option in the settings (when you hit tab in a game) to have it use 2 joysticks?
I'm just thinking out loud to you guys, just because this topic interests me so much and I think it'd be awesome.
Thanks
Matt
-
again, that's built into the rom. when you put it in cocktail mode you are flipping a dipswitch. There is a set of switchs on the pcb which gave those options. The rom controls that, not mame.
-
because all the original software (the roms) knew to do was to get input from the one joystick it had.....aka Player 1
either the roms would need to be re-written (can this be done mimicking a cocktail mode without the screen flipping or something? cuz those had 2 joysticks but the same software, right?) or MAME would need to be a whole lot smarter and know when player 1 died and it's time to hand control back to player 2.
Nope, won't happen. The rom is a direct dump from the actual pcb. Technically it could be rewritten but then it wouldn't be the original.
The only good way to do that is for those games make a ctrlr ini file to map the player 2 controls to player 1.
This is what Im trying to do, change the ini files.
But thats not working for me.
So is this not doable with these types of games?
Chris
-
the ctrlr files is what you will need to change. Two ways of doing something like this. But it's on a per game basis.
Say pacman for example.
You could in the pacman.ini file (in a ctrlr folder, read the ctrlr doc) just map player 1 and player 2 buttons to the same keyboard inputs.
OR you make two ctrlr folders. Have the default of one seperate the player 1 controls from player 2, and the other's default compine the input. then just run the game like mame -ctrlr thefolder thegame.
-
the ctrlr files is what you will need to change. Two ways of doing something like this. But it's on a per game basis.
Say pacman for example.
You could in the pacman.ini file (in a ctrlr folder, read the ctrlr doc) just map player 1 and player 2 buttons to the same keyboard inputs.
OR you make two ctrlr folders. Have the default of one seperate the player 1 controls from player 2, and the other's default compine the input. then just run the game like mame -ctrlr thefolder thegame.
That is what Im trying to edit, the ini files in the ctrlr folder.
Follow along with that site I linked to before. Im also running MAME32.
Ive hopefully attached my mspacman.ini file but I had to rename it., it wouldnt let me post it as mspacman.txt.
Ive also tried changing the player 2 settings to match what it shows in the MAME setup for the controllers..aka... J2_Y_Axis_-_ and like that, but nope.
Any help?
-
ok, let's say you have this setup, a folder in your ctrlr folder called cabinet.
in there you have a default.ini that has your default mappings.
Now, for MsPacman to have player 1 and 2 share inputs you'd have to have something like
P2_JOYSTICK_UP "KEYCODE_UP | KEYCODE_R | JOYCODE_1_UP"
P2_JOYSTICK_DOWN "KEYCODE_DOWN | KEYCODE_F | JOYCODE_1_DOWN"
P2_JOYSTICK_LEFT "KEYCODE_LEFT | KEYCODE_D | JOYCODE_1_LEFT"
P2_JOYSTICK_RIGHT "KEYCODE_RIGHT | KEYCODE_G | JOYCODE_1_RIGHT"
assuming player 1 controls on the cp are mapped to up/down/left/right and player 2 to R/F/D/G
Then run mame like mame -ctrlr cabinet mspacman
or edit the mame.ini file to auto use the cabinet ctrlr folder
-
In MAME32 (maybe in others too) you need to go to the MAME folder
go to the ctrlr folder
make a folder called MAMErGAMEr or something like that
then copy your std.ini from mame\ctrlr\ to the MAMErGAMEr folder
download the file I called mspacman.txt above and rename it mspacman.ini
copy that file to your mame\ctrlr\MAMErGAMEr directory
Go into MAME32
Go to Options/Default Game Options
Click on the controllers tab
at the bottom of the window there will be a drop down menu that will now contain an option for your Default Input Layout called "MAMErGAMEr"
Okay, SP, I really don't want to be a pain in the butt here, but the last thing I can think of, is...
MAME32 has options to flip the screen different directions...
is there a way to set the ROM to cocktail (flipping) but have MAME NOT flip the image?
Then the ROM would use player 1 and 2 controllers (in theory) and the screen wouldn't flip..giving the desired effect, while leaving the original roms....original. ;)
Thanks agian
Matt
-
download the file I called mspacman.txt above and rename it mspacman.ini
Yes, What you have is not the same as what I typed. You use player 1 controls, not player 2.
as for the flipping part, that;s controlled by the rom, not mame.
-
ok, let's say you have this setup, a folder in your ctrlr folder called cabinet.
in there you have a default.ini that has your default mappings.
Now, for MsPacman to have player 1 and 2 share inputs you'd have to have something like
P2_JOYSTICK_UP "KEYCODE_UP | KEYCODE_R | JOYCODE_1_UP"
P2_JOYSTICK_DOWN "KEYCODE_DOWN | KEYCODE_F | JOYCODE_1_DOWN"
P2_JOYSTICK_LEFT "KEYCODE_LEFT | KEYCODE_D | JOYCODE_1_LEFT"
P2_JOYSTICK_RIGHT "KEYCODE_RIGHT | KEYCODE_G | JOYCODE_1_RIGHT"
assuming player 1 controls on the cp are mapped to up/down/left/right and player 2 to R/F/D/G
Then run mame like mame -ctrlr cabinet mspacman
or edit the mame.ini file to auto use the cabinet ctrlr folder
:(
Grrrr it just doesnt work.
I can get both players to use controller 1 for both players or controller 2 for both players, but not 1 then 2. If that made sense?
has ANYONE been able to get this to work with MAME or MAME32?
thanks guys...I know Im being a pain
Chris
-
right,
that's all you can do.
you can't make the game alternate.
at least that's what I've been told.
you have to set up both controllers to control player 1 and then go on the honor system.
-
you;d have to go by the honor system in the first place, not like the person could bump into you anyway.
Yeah, you can't alternate the controlls. I didn;t realize that is what you were doing. You cn only make them the same.