Forum Replies Created
-
AuthorPosts
-
geauxwaveParticipant
This is resolved. I used the ES controller config tool, and then looked into the temporary file it saves, and in there I saw that a “deviceGUID” value that was unique between the two controllers. I don’t believe this carries over to the final es_input.cfg, so I manually put it in there, and now I can differentiate between the two controllers. Problem solved.
<inputConfig type="joystick" deviceName="HuiJia USB GamePad" deviceGUID="030000008f0e00001030000010010000"> <input name="a" type="button" id="0" value="1"/> <input name="b" type="button" id="1" value="1"/> <input name="down" type="hat" id="0" value="4"/> <input name="left" type="hat" id="0" value="8"/> <input name="leftbottom" type="button" id="6" value="1"/> <input name="right" type="hat" id="0" value="2"/> <input name="rightbottom" type="button" id="2" value="1"/> <input name="select" type="button" id="5" value="1"/> <input name="start" type="button" id="9" value="1"/> <input name="up" type="hat" id="0" value="1"/> <input name="x" type="button" id="3" value="1"/> <input name="y" type="button" id="4" value="1"/> </inputConfig> <inputConfig type="joystick" deviceName="HuiJia USB GamePad" deviceGUID="030000008f0e00001330000010010000"> <input name="a" type="button" id="1" value="1"/> <input name="b" type="button" id="2" value="1"/> <input name="down" type="axis" id="1" value="1"/> <input name="left" type="axis" id="0" value="-1"/> <input name="leftbottom" type="button" id="6" value="1"/> <input name="right" type="axis" id="0" value="1"/> <input name="rightbottom" type="button" id="7" value="1"/> <input name="select" type="button" id="8" value="1"/> <input name="start" type="button" id="9" value="1"/> <input name="up" type="axis" id="1" value="-1"/> <input name="x" type="button" id="0" value="1"/> <input name="y" type="button" id="3" value="1"/> </inputConfig>
geauxwaveParticipantSame issue here. Hoping someone can provide an answer. More details below. I don’t know what the “S” lines are, but they’re missing in the non-working SNES adapter. Perhaps that is related to why they are not being recognized by emulationstation or the emulators?
08/18/2015 at 17:26 in reply to: Upgraded to 3.0 final. Kodi installation is missing kodi.bin #104210geauxwaveParticipantI ran “sudo apt-get install kodi”, and it listed some unmet dependencies (see below), and it suggested I run “apt-get -f install”. So I did that, and Kodi now launches fine.
$ sudo apt-get install kodi Reading package lists... Done Building dependency tree Reading state information... Done kodi is already the newest version. You might want to run 'apt-get -f install' to correct these: The following packages have unmet dependencies: kodi : Depends: kodi-bin (>= 2:14.2-1wheezy) but it is not going to be installed Depends: kodi-bin (< 2:14.2-1wheezy.1~) but it is not going to be installed Recommends: python-qt3 but it is not going to be installed Recommends: upower but it is not going to be installed E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
geauxwaveParticipantThanks! I will change Crop Overscan to true for both of those emulators.
geauxwaveParticipantOk, I think I figured it out. I read patrickm’s posts and watched floob’s videos a few more times to really let everything sink in. Now I feel comfortable editing all of this in the config files with my text editor, which is the way I prefer doing it.
I used patrickm’s 3x scanlines PNG, and used photoshop to change the size of it to match my display resolution of 1366×768 (using the Crop function, not Resize). Right now I have it set to 50% opacity, and it looks great. Although I have not tested different opacities yet, so I may find a setting I like even more.
I also should note that aside from it looking great, performance seems to be excellent. I can definitely tell a difference in terms of input lag from when I was using shaders. I highly recommend this method if playability is your #1 concern, like me.
Here are my retroarch.cfg settings. For each emulator, Retroarch “render resolution” has been set to “use video output”. To find viewport width and height, I went into RGUI and with integer scaling on, I changed the custom resolutions until i found one that looked like the correct ratio and was still visible all screen.
As of now, I have “crop overscan” set to “false” for all of these. Although, patrickm mentioned that it needed to be on for some emulators, so I should probably test this more. (suggestions/experiences welcome)
My next challenge will be to achieve this (proper scaling and use of overlays) for gngeo and Mame. If anyone can point me in the right direction for that, it would be greatly appreciated. :)
Thanks again to patrickm and floob for the great information and guidance.
NES
video_shader_enable = false video_fullscreen_x = 1366 video_fullscreen_y = 768 custom_viewport_width = 768 custom_viewport_height = 720 custom_viewport_x = 0 custom_viewport_y = 0 aspect_ratio_index = 22 video_scale_integer = true input_overlay = /opt/retropie/emulators/retroarch/overlays/effects/scanlines/CRT-j-scanlines-1366x768-2.cfg input_overlay_enable = true input_overlay_opacity = 0.500000 input_overlay_scale = 1.000000 video_smooth = false
SNES
video_shader_enable = false video_fullscreen_x = 1366 video_fullscreen_y = 768 custom_viewport_width = 1024 custom_viewport_height = 717 custom_viewport_x = 0 custom_viewport_y = 0 aspect_ratio_index = 22 video_scale_integer = true input_overlay = /opt/retropie/emulators/retroarch/overlays/effects/scanlines/CRT-j-scanlines-1366x768-2.cfg input_overlay_enable = true input_overlay_opacity = 0.500000 input_overlay_scale = 1.000000 video_smooth = false
MEGADRIVE
video_shader_enable = false video_fullscreen_x = 1366 video_fullscreen_y = 768 custom_viewport_width = 960 custom_viewport_height = 672 custom_viewport_x = 0 custom_viewport_y = 0 aspect_ratio_index = 22 video_scale_integer = true input_overlay = /opt/retropie/emulators/retroarch/overlays/effects/scanlines/CRT-j-scanlines-1366x768-2.cfg input_overlay_enable = true input_overlay_opacity = 0.500000 input_overlay_scale = 1.000000 video_smooth = false
geauxwaveParticipant@patrickm This is another great post of yours that I enjoyed reading–“Video output is poorly configured by default” (link). Achieving minimal to no input lag is important to me. That’s why I still have a Sony CRT that I use for my retro consoles (I have an NES, SNES, Genesis, Saturn, N64, PS, PS2, and Xbox hooked up to it). I’m hoping to be able to achieve a somewhat “comparable” experience with my Pi on LCD TV’s.
Quick question… you mention that Crop Overscan should be set to OFF on most cores. Can you tell me which ones require it to be ON, from your experience so far?
Thanks again.
“Video output is poorly configured by default”
[quote=103586]Thanks! I was reading some of your posts last night. Very informative stuff. I especially like the approach described in “How to get perfect video scaling…”. I think that is the way to go for sure. If you have any advice/tips/numbers for my 720p setup, that would be greatly appreciated.
You don’t want to scale the overlays, just make one that is the same size as your desired resolution. They are very easy to make with the tile feature in Photoshop or Gimp.
Regarding the uneven scanlines with Hyllian, that’s a scaling issue- you probably don’t have the aspect ratio set right. to avoid these artifacts, you need to turn integer scale ON under video settings, then set a custom resolution under options -> video options
[/quote]
geauxwaveParticipantThat would be awesome! Your tool looks great. I’ve read all your posts on it, and watched the videos (great job on your videos by the way. thank you).
I may try the tool as-is tomorrow, if I get the chance, and will report back. I’ll definitely back up my configs! Thanks for the reminder. I actually prefer editing the config files over using the GUIs. Although I’m a linux noob, I’m a front-end web developer by trade, so I’ve been enjoying learning the command line and being able to utilize my text editor to make configuration changes.
Thanks again!
[quote=103591]I could put some more 720p options into this tool
https://github.com/biscuits99/rp-video-managerAlthough I have a 720p TV and it sort of gets the 1080p ones to work, so it could be worth trying on the off chance. Also, just a reminder, if you have tweaked your config a lot, do backup before using the tool unless you are comfortable editing the system based retroarch.cfg files.
[/quote]
geauxwaveParticipantThanks! I was reading some of your posts last night. Very informative stuff. I especially like the approach described in “How to get perfect video scaling…”. I think that is the way to go for sure. If you have any advice/tips/numbers for my 720p setup, that would be greatly appreciated.
[quote=103564]
You don’t want to scale the overlays, just make one that is the same size as your desired resolution. They are very easy to make with the tile feature in Photoshop or Gimp.Regarding the uneven scanlines with Hyllian, that’s a scaling issue- you probably don’t have the aspect ratio set right. to avoid these artifacts, you need to turn integer scale ON under video settings, then set a custom resolution under options -> video options
[/quote]
geauxwaveParticipantThanks for the reply. I think I’ll give the overlays a shot. They do seem like a good choice. I watched one of Floob’s videos on the topic a while back, but will have to watch again now that I know a bit more about it.
I see a lot of overlays and guides for 1080p displays, but not much for 720p. Know of any good overlays (and/or tutorials) for 720p? I have photoshop, and I think I recall reading somewhere that I could just scale down a 1920×1080 overlay to 1360×768. Not sure if it’s really that easy?
[quote=103547]what’s your retroarch video output resolution? (i think the bottom setting in the menu when you press ‘x’ during launch) you should set it to “video output”
in any case, you should probably use an overlay anyway! they have a predictable outcome and also have less of a performance impact (ie, none!)
[/quote]
08/06/2015 at 03:54 in reply to: Only recognizing one port of a two port USB controller adapter #103512geauxwaveParticipantUpdate: I contacted the guy who made the MAME patch that allowed for up to 22 buttons, and he was kind enough to make a custom kernel for me that made it so the adapter was recognized as two separate controllers instead of one. This was a perfect solution! It not only solves the MAME issue, but all other emulators, such as gngeo. I’m not sure if he has an account on here, but his github profile is: https://github.com/ian57 . All credit goes to him!
Since it was working perfectly, I went ahead and mounted the Sega Saturn ports in my NES case–the first step in my custom build. These ports fit almost perfectly into the NES port holes. I only had to dremel out about one mm to make them fit. If anyone is curious, the adapter is the Mayflash SS Controller Adapter for PC USB (amazon link).
I’m happy to say this issue is resolved for me. Thank you again choccyhobnob for your help! I really appreciate the efforts.
08/05/2015 at 00:00 in reply to: Certain MAME games (Capcom) are stretched vertically / have wrong aspect ratio #103404geauxwaveParticipantAwesome! Thanks!
[quote=103366]Full speed on all CPS 1 & 2 I played.
Full speed with street fighter 3.3, but when performing super arts it slows down for like 1 second.
My pi2 is overclocked by the way (standard pi2 overclocking option)[/quote]
08/04/2015 at 15:23 in reply to: Certain MAME games (Capcom) are stretched vertically / have wrong aspect ratio #103363geauxwaveParticipantThanks for the reply. I researched this for a long time last night, and it seemed that while many others had the same issue, none could resolve it. I will switch to libretro for these games, as you suggest. How’s the performance? I have a Pi 2 B, so am hoping it will run well.
[quote=103360]I’ve never found a solution, so i switched to libretro fba for all Capcom games, problem solved
[/quote]
08/03/2015 at 23:47 in reply to: Only recognizing one port of a two port USB controller adapter #103330geauxwaveParticipantJust an idea, but I wonder what would happen if you modified the MAME build that you used to get your PS3 controllers working (the one to which you linked originally in this thread), and increased the number of allowed buttons in that one to 34?
I have no idea what I’m talking about, so it may not be possible or feasible, or a high enough probability of success to be worth the time and effort. Just throwing out ideas!
Again, I appreciate the help you’ve already given, so no worries if you don’t want to mess with it any further. I completely understand.
[quote=103322]It works ok for me with snes controllers plugged in but not with PS3 controllers. Oh well it was worth a try!
I enabled 28 axis and 34 buttons so I think we can say its not a lack of inputs that is keeping it from working!
[/quote]
08/03/2015 at 23:04 in reply to: Only recognizing one port of a two port USB controller adapter #103326geauxwaveParticipantThank you again for giving it a shot!
08/03/2015 at 21:05 in reply to: Only recognizing one port of a two port USB controller adapter #103315geauxwaveParticipantThank you for doing this! It ALMOST worked, lol. MAME fires up just fine, and it detects every button on the second control pad…except for the directional buttons. I can’t imagine the button #’s would be any greater than 34, but I don’t know. Do you think perhaps axes 10 and 11 need to be enabled? Even though MAME sees the d-pad presses as JoyButton #’s instead of JoyAxis, the jstest results show Axes 10 and 11 firing when I press controller 2’s d-pad.
Whether you’re able to continue working on it or not, thank you VERY much for your efforts. Very generous of you, and I really appreciate it.
[quote=103313]OK Well it compiled and I’ve tested that it at least works with my setup. Keep your old version just in case you need to revert for some reason.
http://choccyhobnob.com/?d=441
Let me know if it works
[/quote]
08/03/2015 at 18:54 in reply to: Only recognizing one port of a two port USB controller adapter #103309geauxwaveParticipantWow, thanks!!
[quote=103308]Thanks. I’ve increased the number of allowed buttons from 22 to 34, that should be enough. I checked the max axis and its set to 28, so that enough for the PS3 as well. It’s compiling on my Pi now, I’ll let you know if it compiles ok
[/quote]
08/03/2015 at 18:03 in reply to: Only recognizing one port of a two port USB controller adapter #103305geauxwaveParticipantYes, here you go… https://github.com/ian57/Raspicade-mame4all-xinmo
[quote=103304]Do you have a link to the version of came that you used with the extra button support?
[/quote]
08/03/2015 at 15:51 in reply to: Only recognizing one port of a two port USB controller adapter #103290geauxwaveParticipantIn case anyone needs it, here is the button mapping I used in the megadrive retroarch.cfg file. It works great. Special thanks to user Feederchain for the help. His Sega Genesis adapter behaves the same way as my Saturn adapter (both ports treated as one joystick).
input_player1_joypad_index = “0”
input_player2_joypad_index = “0”input_player1_a_btn = “2”
input_player1_b_btn = “1”
input_player1_y_btn = “0”
input_player1_x_btn = “4”
input_player1_l_btn = “3”
input_player1_r_btn = “6”
input_player1_start_btn = “9”input_player1_up_btn = “h0up”
input_player1_down_btn = “h0down”
input_player1_right_btn = “h0right”
input_player1_left_btn = “h0left”input_player2_a_btn = “18”
input_player2_b_btn = “17”
input_player2_y_btn = “16”
input_player2_x_btn = “20”
input_player2_l_btn = “19”
input_player2_r_btn = “22”
input_player2_start_btn = “25”input_player2_up_btn = “h1up”
input_player2_down_btn = “h1down”
input_player2_right_btn = “h1right”
input_player2_left_btn = “h1left”08/03/2015 at 15:38 in reply to: Only recognizing one port of a two port USB controller adapter #103288geauxwaveParticipantThanks, I did see that it was a symlink. I actually got it working once I realized I had to give the executable the proper permissions (thank you again for posting), but for whatever reason it doesn’t pick up the input of controller 2. I don’t think it’s a hardware issue because I tried out another patched version of MAME (link posted above) that stated it allowed for up to 22 buttons, and with that MAME recognized the input of controller 2 up to button #22. Unfortunately I need it to recognize 32 buttons. :/
In the end, I guess I could just buy a second Saturn adapter, and only use the first port on each of them. Seems like a bit of a waste though (of money and USB ports, lol). That would also require me to use a hub if I wanted to keep a wireless keyboard hooked up, since that would be 4 adapters (2x Saturn, SNES, and PSX).
08/03/2015 at 14:55 in reply to: Only recognizing one port of a two port USB controller adapter #103283geauxwaveParticipantI found another MAME patch that allows for more buttons (link below). This works, but it only allows for up to 22 buttons. I actually need 32 buttons. MAME recognizes the directional buttons of controller 1 as button #’s 12, 13, 14, and 15. So I’m assuming the d-pad on controller 2 is #’s 28, 29, 30, 31 (with a starting number of 0, that’s 32 total).
I’m going to try and contact the guy who made this patch, and see if he would be kind enough to up the number to 32, if that’s even possible. Man, I’m so close, but so far away!
08/03/2015 at 14:30 in reply to: Only recognizing one port of a two port USB controller adapter #103282geauxwaveParticipantDo you know for sure that this patched copy increases the button limit of 16 per joystick?
Here is a topic confirming the 16 button limit, and also talking about a fix for a related issue–PIFBA (NeoGeo etc) needs one joystick per player…
https://github.com/RetroPie/RetroPie-Setup/wiki/Troubles-with-the-Xin-Mo-Controller[quote=103213]There is a patched copy of mame here https://drive.google.com/file/d/0B2TfYq5Awz_jWExLS2RpMHhnalE/view?usp=sharing that works for me with 2 PS3 controllers.
Squid (mame4all author) says that the latest version of the mame source is fixed for this issue but I recompiled and it still didn’t work for me, the binary at the above link does.
Put the binary in /opt/retropie/emulators/mame4all/
[/quote]
08/03/2015 at 04:12 in reply to: Only recognizing one port of a two port USB controller adapter #103266geauxwaveParticipantI figured out why MAME wasn’t starting. I forgot to change the file permissions to execute. Duh. So, MAME works now with the new binary you provided, but it still does not recognize the buttons on my second controller, unfortunately.
08/02/2015 at 23:34 in reply to: Only recognizing one port of a two port USB controller adapter #103230geauxwaveParticipantCool, thank you for this! I’m having trouble getting it to work though. MAME fails to start any games. Do I put the “mame” and “mame.cfg” files in /opt/retropie/emulators/mame4all? or just the one mame file?
Thanks
[quote=103213]There is a patched copy of mame here https://drive.google.com/file/d/0B2TfYq5Awz_jWExLS2RpMHhnalE/view?usp=sharing that works for me with 2 PS3 controllers.
Squid (mame4all author) says that the latest version of the mame source is fixed for this issue but I recompiled and it still didn’t work for me, the binary at the above link does.
Put the binary in /opt/retropie/emulators/mame4all/
[/quote]
08/02/2015 at 20:36 in reply to: Only recognizing one port of a two port USB controller adapter #103210geauxwaveParticipantAccording to this post, it looks like MAME is coded to only recognize up to 16 buttons per joystick…
https://www.raspberrypi.org/forums/viewtopic.php?p=659112#p659112Anyone know how to change this? I’ll search around for a solution.
08/02/2015 at 20:31 in reply to: Only recognizing one port of a two port USB controller adapter #103208geauxwaveParticipantGood news, after further investigation of the test results, it appears that even though both ports are recognized as the same controller, the axes and button numbers are different on the two controllers. This means I can make it work by mapping the proper buttons in retroarch.cfg. Here’s a diagram i made for the Saturn controllers…
I still need to setup my retroarch.cfg files and do some testing, but I did do some quick testing in MAME. Unfortunately, MAME was not recognizing the input from controller #2. Perhaps it only recognizes up to 15 buttons? (anyone know?) It saw my direction buttons on controller #1 as…
Up = J1 Joybutton 12
Down = J1 Joybutton 14
Left = J1 Joybutton 15
Right = J1 Joybutton 13Not a huge deal, I guess. If needed, I can just use PS2 controllers for MAME. The Pi recognizes that adapter as two joysticks.
Have to take a break for a while, but will update on the progress when i get back to it later tonight.
geauxwaveParticipantWell, after about 20 test reboots, it looks like the USB ports on the Pi (unlike the USB hub’s ports) are consistent with how they assign the joypad numbers. I even plugged in a third adapter (a single Sega Genesis port). Upon every reboot, the SNES ports are always js0 and js1, the Genesis is always js2, and the PSX ports are always js3 and js4. This is awesome, as now I can assign the joypads in the emulator specific configs like I was doing before. It’s too bad that I wasted all that time messing with UDEV rules, LOL, but oh well. At least it works now. :)
I guess I can eliminate the USB hub. I should be ok having 3 or 4 controller adapters plugged into the pi, considering I’ll only be using a max of two controllers at once, right? That shouldn’t be too much of a power drain for the Pi?
geauxwaveParticipant[quote=103139]What happens if you dont specify the joypad buttons in the system specific retroarch.cfg and instead use the auto controller file in /opt/retropie/configs/all/retroarch-joypads/ ?
If you just put the single SNES usb port in the top left usb port, dos it see both and assign them as player 1 and 2 (indicated by the yellow retroarch writing)?
[/quote]
Thanks for the reply! I’m actually using a USB Hub (the Plugable 7-port USB 2.0), but I have now bypassed it, and plugged the single SNES usb port into the top left usb port on the pi. This works! I reenabled input_autodetect in the global config file, and removed everything i added to the snes-specific config file. It assigns one port of the adapter to Player 1 and the other port to Player 2. I can unplug and plug in controllers between the two ports, swap them, and everything works as it should.
But what about my other adapter? I have the Playstation adapter plugged into the second usb port in the Pi. Is there a way for me to tell the Playstation emulator to ignore the SNES adapter plugged into the first port, and use the PS controllers? Perhaps could I specify a controller type? In configs/all/retroarch-joypads the Playstation cfg file is called “WiseGroup.,LtdMP-8866DualUSBJoypad.cfg”. Can I somehow point to this in the Playstation specific config file?
Thanks so much for your help.
-
AuthorPosts