Forum Replies Created

Viewing 27 posts - 1 through 27 (of 27 total)
  • Author
    Posts
  • geauxwave
    Participant

    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>
    in reply to: Retrolink SNES adapter not detected #104823
    geauxwave
    Participant

    Same 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?

    geauxwave
    Participant

    I 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).
    in reply to: Uneven scanlines with CRT-hyllian #103907
    geauxwave
    Participant

    Thanks! I will change Crop Overscan to true for both of those emulators.

    in reply to: Uneven scanlines with CRT-hyllian #103761
    geauxwave
    Participant

    Ok, 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

    (click for full size image)
    proper scanlines

    in reply to: Uneven scanlines with CRT-hyllian #103595
    geauxwave
    Participant

    @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”

    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]

    in reply to: Uneven scanlines with CRT-hyllian #103593
    geauxwave
    Participant

    That 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-manager

    Although 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]

    in reply to: Uneven scanlines with CRT-hyllian #103586
    geauxwave
    Participant

    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.

    [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]

    in reply to: Uneven scanlines with CRT-hyllian #103557
    geauxwave
    Participant

    Thanks 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]

    geauxwave
    Participant

    Update: 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.

    sega saturn ports on nes console

    sega saturn nes

    geauxwave
    Participant

    Awesome! 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]

    geauxwave
    Participant

    Thanks 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]

    geauxwave
    Participant

    Just 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]

    geauxwave
    Participant

    Thank you again for giving it a shot!

    geauxwave
    Participant

    Thank 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]

    geauxwave
    Participant

    Wow, 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]

    geauxwave
    Participant

    Yes, 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]

    geauxwave
    Participant

    In 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”

    geauxwave
    Participant

    Thanks, 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).

    geauxwave
    Participant

    I 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!

    https://github.com/ian57/Raspicade-mame4all-xinmo

    geauxwave
    Participant

    Do 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]

    geauxwave
    Participant

    I 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.

    geauxwave
    Participant

    Cool, 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]

    geauxwave
    Participant

    According 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#p659112

    Anyone know how to change this? I’ll search around for a solution.

    geauxwave
    Participant

    Good 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…

    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 13

    Not 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.

    geauxwave
    Participant

    Well, 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?

    geauxwave
    Participant

    [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.

Viewing 27 posts - 1 through 27 (of 27 total)