• Recent
  • Tags
  • Popular
  • Home
  • Docs
  • Register
  • Login
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 16 May 2018, 02:38

    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
    • M
      mitu Global Moderator
      last edited by mitu 16 May 2018, 04:13

      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 16 May 2018, 22:49

        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
        • S
          schmiddyman
          last edited by 28 Dec 2018, 10:45

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

            [[user:consent.lead]]
            [[user:consent.not_received]]