Ipac2 - no Player 2 controls in lr-fb alpha
-
@Riverstorm I had Start1 and Coin (select) combo similarly but someone in these forums said it works with single button.. probably only if you also disable gamepad hotkeys ( that I don't want).
No real problem, I have Xbox controller connected too anyway, so I used that to exit. -
@UDb23 said in Ipac2 - no Player 2 controls in lr-fb alpha:
probably only if you also disable gamepad hotkeys ( that I don't want).
If I remember the IPAC likes to take player 1 when using joysticks only (for console play it's nice). I remember having some type of issues back several versions. Maybe that's changed now as it would be nice.
I keep a few joysticks handy and use them with a separate Pi that's only a case and wireless dongle. I throw it all in a small rectangular tupper-ware style container. Great for on the go gaming.
I think Caver has the IPAC configuration down to a science. If it can be done he'll probably know the answer. :)
-
@UDb23 said in Ipac2 - no Player 2 controls in lr-fb alpha:
@caver01 said in Ipac2 - no Player 2 controls in lr-fb alpha:
That’s because lr-mame2003 picks up on two inputs simultaneously:
Thank for this detailed info and also for the retroarch configuration you provide in your post on Ipac configuration: exactly what I needed including fba.
Also noticed that finally (1.6.0) we get the same nice graphical interface for RGUI on the Pi as the one in windows!!
Only unsolved point with thw Ipac is that I still can't exit games with ESC; I edited the retroarch.cfg with
input_enable_hotkey = “nul” input_exit_emulator = “escape"
but still nothing happens when I press the ESC button. I do have gamepad hotkeys enabled and can exit games via gamepad with Select+Start.
Quick reply here: you gotta look at those quote marks. Smart quotes in your example are probably fouling up your config. Make sure these are double-quote (inches) marks, not curly quotes in your config file. I chased that problem for days once.
-
@caver01 said in Ipac2 - no Player 2 controls in lr-fb alpha:
not curly quotes in your config file
Thanks!! This is crazy as I knew that issue but did not notice there were curly quotes in there. My Macbook air keyboard is supposed to have the right (inches) quotes key so I just rechecked how could this happen.
I found out what the problem is: TextEdit (OsX standard and default text editor).
Usually I use Atom or TextWrangler on the Mac for editing code or cfgs.
This time for a quick edit I used TextEdit; if you zoom making letters quite big you will notice that if you press the quotes key this nice application will show the correct quote sign (inches) and instantly replace it with the curly one !!!
If you write with default zoom you will never notice this. A text editor should not change characters you're typing !!!
To make a long story short: never use TextEdit for coding .
Thanks again. -
@caver01 As I did the button testing with it... I thought why not making the specific overlay for Metal Slug 4.
-
@UDb23 I have largely missed out on all of your wonderful overlays. Since my setup is effectively a 4:3 display and I play almost all vertical games using side controls (rotated mode), I don’t really get to use overlays. My next system will be more of a set-top design to leverage the big screen TV. All in good time!
-
@caver01 4:3 of course is ideal and no need for overlays or bezels (they would reduce the gaming area!). Do you have a CRT ? Since I discovered Retropie I miss my old Philips Brilliance 15'' CRT monitor I gave away years ago.
-
@UDb23 I have often thought about how I might do a CRT build. It would probably be a mini bartop. If you click the link in my signature you can see my setup. It’s built around a Sony 19” LCD. Technically, I am running with some distortion at 5:4 (1280x1024) but I really like this resolution. The PI-CRT shader looks great, and it is likely a little faster than 1080p HD while still holding onto enough pixels to make the shader effect look way better than 720p.
-
@Riverstorm said in Ipac2 - no Player 2 controls in lr-fb alpha:
You can actually setup a retroarch.cfg that forces all inputs to “null” and a keyboard controller will still work in lr-MAME2003 if you hit TAB and map your inputs.
@caver01 - May I ask what are you doing when you do this? Are you modifying the all/retroarch.cfg or writing out a new <system> retroarch.cfg via RGUI and modifying it or just adding "override" changes into the existing retroarch.cfg. I've been writing out a new config, finding the correct parameters and just adding them to the existing system retroarch.cfg to keep it small. It seems if you delete the system retroarch.cfg it will write a new one but it's the full config vs just changes plus #include that's originally setup.
When set to nul is it just ignoring one set of inputs? I get the RAW input but when referring to "virtual/abstracted retropad inputs (if defined)" what is that exactly? Are you referring to the RetroArch inputs for the Libretro cores or the Libretro cores themselves? I've never been quite clear on what that meant.
By chance if you set them to nul can you map <NOT> operations or are two inputs still registered? I suppose since TAB is always accessible some of the original "input" code is retained. I am not sure if the Liberetro cores are written from scratch or they are using modified source code from the official MAME builds?
-
@Riverstorm You sorta hit the nail on the head with the CODE_NOT mapping. This applies to MAME2003. . . It is impossible to make boolean exclusions in the MAME GUI if you are:
- using a keyboard controller
- have retroarch mapping configured for your inputs
It is apparently not an issue if you use any kind of gamepad/joystick controller, but if you use a keyboard, MAME2003 responds to BOTH inputs at the same time: RAW keys, and mapped retroarch inputs. This can be easily demonstrated:
Say your P1 UP is mapped to the UP arrow in retroarch and indeed, that is the key you have setup on a keyboard controller for P1 UP (like standard wiring on an IPAC). Now, if you go into the MAME2003 GUI menu <TAB> and try configure the controls for a game, go to player 1 UP and press enter to remap, when you push UP on your joystick, the RAW up arrow gets sent, and so does the retroarch gamepad UP which you have setup. Wait a moment and you see that MAME registers both UP and Gampad_UP or something like that. I am not in front of my system, so I don't remember exactly. Try the same thing for Button 1, which I think is setup as LEFT_CONTROL on the IPAC. Map it in the MAME2003 GUI and you get two: LEFT_CONTROL and RETROPAD_B or whatever.
Basically, MAME thinks you are pressing two inputs at the same time, which is automatically represented as a CODE_AND which is a boolean combination of two inputs at once. Normally, that doesn't present any issues. Sure, it's extra, and maybe it is technically a double input (RAW and the virtually-mapped retroarch gamepad) but I have not noticed any problems with lag, etc.. HOWEVER, if you try to do a CODE_NOT mapping where you are trying to exclude certain combinations (like when setting up a tankstick using a single joystick) it won't work. You cannot <CODE_NOT> exclude an input that is already AND-ed to another input.
The solution to this admittedly rare circumstance is to setup a NUL input config file that sets all of the Player 1 and 2 inputs to "nul". I do this with a retroarch.cfg file specific to the ROM. The file sits right next to the ROM and would be named to match:
romname.zip.cfg
and inside, you specify all of the Player inputs you intend to use as ="nul". This effectively wipes the retroarch mapping. Then, you launch the game, go into the MAME2003 GUI and map inputs, only this time you will notice only the RAW key getting mapped. You can proceed with complex <CODE_NOT> mapping as desired. I use this technique for games like Vindicators 1 and 2 Sarge, Toobin, Ultra Tank, Tank8 --mostly tank games so I can play with a single joystick. (Actually, I think Sarge is broken in 2003 so I use a tankstick mapping in AdvanceMAME which does not use retroarch). This is great if you have a two player panel and you want both players to be able to control their own tank with one joystick.Anyway, long answer, but that's the full answer. There is another thread on the subject where I explored the problem with @dankcushions digging around in the code to see if there was an easy way to override the retroarch inputs for keyboard users, but it probably isn't worth the effort.
-
@caver01 Thanks a million for explaining that. There were several pieces that I wasn't clear on how the worked but it makes perfect sense now. This opens up quite a bit more flexibility in configuration and working around the double inputs and makes mame2003 just that much more usable! :) I was going to run another question by you but it's a better fit in another thread you have about advmame.
-
@udb23 What did you exactly do? I'm having a similar problem with my IPAC Ultimate I/O. I'm guessing I'm having the same issue as you.
I have my player 2 controls defined in /opt/retropie/configs/all/retroarch.cfg
Below is a snip of my "/opt/retropie/configs/all/retroarch.cfg" with my 1st and 2nd player controls defined.
input_player1_a = "alt"
input_player1_b = "ctrl"
input_player1_y = "shift"
input_player1_x = "z"
input_player1_start = "num1"
input_player1_select = "num5"
input_player1_l = "x"
input_player1_r = "space"
input_player1_left = "left"
input_player1_right = "right"
input_player1_up = "up"
input_player1_down = "down"input_player2_a = "s"
input_player2_b = "a"
input_player2_y = "w"
input_player2_x = "i"
input_player2_start = "num2"
input_player2_select = "num6"
input_player2_l = "k"
input_player2_r = "q"
input_player2_left = "d"
input_player2_right = "g"
input_player2_up = "r"
input_player2_down = "f"Which config did you edit exactly? Did you edit one of the other configs?
Much appreciated in advance!
-
@udb23 Nevermind, I figured out the problem.... It is a bad wire or pin on 2START on the IPAC. Here I was thinking the all the 2nd player controls were not working. Figured out opening WINIPAC V2 and notepad++, replacing the button switch (same issue), and then re-assigning a unused pin on the IPAC.
cheers! :D
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.