RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Reicast - Using The Same evdev_device For Multiple Players

    Scheduled Pinned Locked Moved Help and Support
    reicastinputretrogamegpio
    4 Posts 3 Posters 837 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      mememinister
      last edited by

      Model: Raspberry Pi 3 B+
      Power Supply: Canakit
      RetroPie Version: 4.4
      Build: Pre-Made SD from Retropie
      USB Devices: Dell Keyboard (I don't think this is relevant but it doesn't hurt to add)
      Controller: I have the pins from an old 12-in-1 Midway Arcade Machine from ~2007 plugged into the GPIO, and I'm using Retrogame to parse the inputs (If you look at the readme and see the RetroPie 2.0+ Compatibility section, don't worry I already did that, also if you want a quick synopsis on how retrogame works, it takes your GPIO inputs and converts them into keyboard presses with a device name of "retrogame"). The old midway has 2 sets of a 4-way Joystick and 6 buttons.
      Error Messages: 989 Trace/breakpoint trap "$rootdir/emulators/reicast/bin/reicast" "${params[@]}" > /dev/null
      Emulator: Reicast

      So, if you read above, I am using retrogame to parse two sets of controls at the same time as keyboard presses. This works great for both players in RetroArch, and 1 player in Reicast by commenting out the autoconfig line in reicast.sh and relying on the mappings file I made. The issue arises when I try to set both evdev_device_id1=1 and evdev_device_id2=1, I get the error above in $rootdir/emulators/reicast/bin/reicast.sh line 88 (EOF) in runcommand.log, and then the game doesn't load. As I said, if I set evdev_device_id1=1 and evdev_device_di2=-1 (No Input), the controls work fine, and I also have different mapping files for both players in evdev_mapping_1 and evdev_mapping_2. I was wondering if there is any solution, as I feel as though some adjustments in the emu.cfg parsing code in reicast.sh can fix the issue, but I have no clue where to start.

      1 Reply Last reply Reply Quote 0
      • mituM
        mitu Global Moderator
        last edited by mitu

        Looks like a reicast problem, not accepting the same device_id for both players.
        Have you tried using the mkarcadejoystick driver to map your inputs to 2 different gamepads ? IMHO this would be much cleaner instead of relying on the emulated keyboard that Retrogame supplies. You can install the driver from the RetroPie-Setup drivers section of the packages. The github page of the project has documentation on how to load the driver and configure the gamepads.

        1 Reply Last reply Reply Quote 0
        • M
          mememinister
          last edited by

          Alright this seems promising, but I cannot figure out how to map a custom gpio config for multiple players. In the readme, there's an option to use map=5 and gpio=..., but this seems to only work with one player. Does anyone know of a way to custom map both controllers through mkarcadejoystick?

          1 Reply Last reply Reply Quote 0
          • schmiddymanS
            schmiddyman
            last edited by

            @mememinister , I am trying to do the same thing but can't get my mapping working manually. Only through the ES menu Configuration Input. Do you do your mapping in es_input.cfg or in retroarch.cfg? My retroarch.cfg gets ignored or at least that is what it seems like. Do you have a little manual how you did the mapping?

            1 Reply Last reply Reply Quote 0
            • First post
              Last post

            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.