Spy Hunter
-
@spud11 Hmm... Thanks for the suggestion. I am no unix shell expert in any sense of the word but I am thinking that is not likely the issue. It does appear to actually execute the xboxdrv driver as I end up with no input. So I think my problem is in the actual options for the command. I am working on adding some more logging to wipe more of the dirt off the window and see whats going on so to speak.
Yeah. Confirmed by adding info to the log
echo "joycommand:" >> /dev/shm/runcommand.log echo $joycommand >> /dev/shm/runcommand.log
Outputs this when running mspacman.zip:
joycommand: sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.4:1.0-event-joystick --silent --detach-kernel-driver --force-feedback --mimic-xpad --dpad-as-button --trigger-as-button --evdev-absmap ABS_X=x1,ABS_Y=y1,ABS_RX=x2,ABS_RY=y2,ABS_HAT0X=dpad_x,ABS_HAT0Y=dpad_y --evdev-keymap BTN_SOUTH=a,BTN_EAST=b,BTN_NORTH=x,BTN_WEST=y,BTN_THUMBL=tl,BTN_THUMBR=tr,BTN_TL=lb,BTN_TR=rb,BTN_TL2=lt,BTN_TR2=rt,BTN_SELECT=back,BTN_START=start,BTN_MODE=guide --calibration x1=-32767:0:32767,y1=-32767:0:32767,x2=-32767:0:32767,y2=-32767:0:32767 --four-way-restrictor &
-
Ok. So I think it is actually working. But because it is registering it as a new controller rather than stomping my existing controller it ends up that RetroArch is still listening to my original controller setup which has now been redirected as a new one (event3) and ends up getting no input at all.
xboxdrv 0.8.8 - http://pingus.seul.org/~grumbel/xboxdrv/ Copyright © 2008-2011 Ingo Ruhnke <grumbel@gmail.com> Licensed under GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see the file COPYING for details. Your Xbox/Xbox360 controller should now be available as: /dev/input/js1 /dev/input/event3 Press Ctrl-C to quit RT=start,BTN_MODE=guide --calibration x1=-32767:0:32767,y1=-32767:0:32767,x2=-32767:0:32767,y2=-32767:0:32767 --four-way-restrictor &
-
@mediamogul I tried to solve that by following the tutorial on swapping player joypad assignments. I created a retroarch.cfg_default and retroarch.cfg_xboxdrv and added lines to the shell script to rm retroarch.cfg and cp one or the other in its place selectively based on the same logic.
But I think I am still missing some piece to this puzzle.
My 360 controller is normally event0 but after running the xboxdrv it still shows its registering it as event3Your Xbox/Xbox360 controller should now be available as: /dev/input/js1 /dev/input/event3
I am thinking the missing piece is getting retroarch to listen to event3 at all.
retroarch.cfg_default
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/arcade/" #include "/opt/retropie/configs/all/retroarch.cfg"
retroarch.cfg_xboxdrv
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/arcade/" input_player1_joypad_index = "1" input_player2_joypad_index = "0" #input_player2_analog_dpad_mode = 1 #include "/opt/retropie/configs/all/retroarch.cfg"
-
-
@meleu / @mediamogul I am all ears!
I was referring to all the info on how to setup xboxdrv here:
https://github.com/RetroPie/RetroPie-Setup/wiki/Universal-Controller-Calibration-&-Mapping-Using-xboxdrvActually I looked up what you are referring to and I think that would be a bit over the top for what I am looking to do.
https://github.com/meleu/RetroPie-joystick-selectionOne of the things that is important to me with this setup is that when you select a game it would "just work" without popping up any dialogs or showing the retropie "dos" looking dialogs etc.
So ultimately any solution I have on it I would want it to just detect that a certain game is running and setup the controls in a way that makes the best sense for that title and not require the player to see any of this going on.
-
@spud11 said in Spy Hunter:
The code above is very similar to what I have and it works well.
Would you mind posting the exact syntax of your xboxdrv parameters?
-
@alturis I have 4 DragonRise usb joysticks. I've just copied Player 1's input below for Advance Mame (but I have similar setups for FBA and Mame 2003). Each button I have corresponds to a key on the keyboard. In Mame, I pressed TAB and allocated keys to up/down/left/right etc. Those keys correspond to the keys allocated in xboxdrv:
### To exit AdvMame automatically, I've created a macro in /opt/retropie/configs/all and mapped back+rt to back+rt=macro:/opt/configs/all/advmame_exit.macro . I've made this file executable. ### The contents of this file are: ### send KEY_ESC 1 ### wait 50 ### send KEY_DOWN 1 ### wait 50 ### send KEY_ENTER 1 Player1_AdvMame_Sim="sudo /opt/retropie/supplementary/xboxdrv/bin/xboxdrv > /dev/null 2>&1 \ --silent \ --detach-kernel-driver \ --deadzone=4000 \ --deadzone-trigger 15% \ --force-feedback \ --mimic-xpad \ --trigger-as-button \ --ui-buttonmap tl=void,tr=void,guide=void \ --evdev /dev/input/by-path/platform-3f980000.usb-usb-0:1.3.3:1.0-event-joystick \ --device-name "Player_1" \ --evdev-absmap ABS_X=y1,ABS_Y=x1 \ --evdev-keymap BTN_THUMB2=a,BTN_PINKIE=b,BTN_TRIGGER=x,BTN_THUMB=y,BTN_TOP2=lb,BTN_TOP=rb,BTN_BASE3=back,BTN_BASE6=start,BTN_BASE2=lt,BTN_BASE5=rt \ --ui-axismap X1=KEY_LEFT:KEY_RIGHT,Y1=KEY_UP:KEY_DOWN \ --ui-buttonmap a=KEY_LEFTCTRL,b=KEY_LEFTALT,x=KEY_SPACE,y=KEY_LEFTSHIFT,lb=KEY_C,rb=KEY_V,back=KEY_UNKNOWN,start=KEY_UNKNOWN,lt=KEY_5+KEY_1,rt=KEY_6+KEY_2 \ --ui-buttonmap start+back=KEY_LEFTSHIFT+KEY_F7+KEY_A,back+start=KEY_F7+KEY_A \ --ui-buttonmap back+rt=macro:/opt/retropie/configs/all/advmame_exit.macro"
I also have a file called
99-xboxdrv.rules
which has the following content:SUBSYSTEM=="input", ATTRS{name}=="Player_1", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1" SUBSYSTEM=="input", ATTRS{name}=="Player_2", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1" SUBSYSTEM=="input", ATTRS{name}=="Player_3", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1" SUBSYSTEM=="input", ATTRS{name}=="Player_4", GROUP="users", MODE="0666", ENV{ID_INPUT_KEYBOARD}="1"
My runcommand-onstart file is about 100Kb in size because it covers most emulators, so it's too big to insert here in its entirety.
-
@spud11 All good info thank you. Ultimately I am going to be putting this pi into a bartop (https://gameroomsolutions.com/shop/bartop-arcade-kit-deluxe) so I think I am going to come back around and revisit this once I have that setup so that I can analyze the input of those joysticks and buttons.
But I should probably continue getting this 360 controller to work with it so that I buildup the knowledge I will need about where I am going wrong right now.
-
“GUTS” Mega Pack
Save your time making sure you got everything! Includes everything except the monitor you will need.
Raspberry Pi3 computer; RPI certified power supply; 200gb microsd – Pre-flashed with attract mode/retropie; pre-configured for our control kits; leThese people are greedy wankers it's a pity people support them financially.
-
@herb_fargus Have a look at the "Plug & Play Pack" - $1,219.98!
-
@herb_fargus Well I have heard great things about the quality of their cabinets themselves and ease of setup. As I already have my pi I am just getting a "mini-guts" package with just speakers and other hardware like a marquee light. Very reasonable price on all that I thought.
-
Ultimately without a steering wheel and gas pedal control for this game, I think it ends up in the category of a nostalgia entry in my games list.
But I discovered some much easier ways to bring it to the playable category but weakly at that. One thing that hung me up for a long while was figuring out where the mame2010 per-game input mappings are kept. I had experimented with changing the button assignments in the in-game emulator menu and left it in bad state. I finally discovered that the per game input maps are stored in /home/pi/cfg - which is completely different than any other emulator location I have found.
Once I figured out how to start from scratch on that and that I needed a keyboard hooked up to work the mame2010 emulator options menu I was able to very easily configure a basic input setup that would at least work and be "playable."
For the game to be fun it requires that the steering and gas pedal are both analog. So will continue to pursue utilizing xboxdrv to that end.
-
@alturis they could be made of pure gold for all I care. Fact is they are profiting on things that are free, taking others work and selling it as their own. There are more reputable arcade parts sellers out there.
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.