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 Stuck On Time & Date !

    Scheduled Pinned Locked Moved Help and Support
    reicastcontrollerfixhelp
    33 Posts 5 Posters 13.7k 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.
    • S
      Slugz @mediamogul
      last edited by Slugz

      @mediamogul said in Reicast Stuck On Time & Date !:

      @Slugz

      https://github.com/retropie/retropie-setup/wiki/Dreamcast#for-mapping-non-standard-controller-via-folly

      i ran the controller this is what i got -

      [emulator]
      mapping_name = MAYFLASH Arcade Fightstick F300
      btn_escape = 296

      [dreamcast]
      btn_a = 290
      btn_b = 289
      btn_c =
      btn_d =
      btn_x = 291
      btn_y = 288
      btn_z =
      btn_start = 297
      btn_dpad1_left =
      btn_dpad1_right =
      btn_dpad1_up =
      btn_dpad1_down =
      btn_dpad2_left =
      btn_dpad2_right =
      btn_dpad2_up =
      btn_dpad2_down =
      axis_x =
      axis_y =
      axis_trigger_left =
      axis_trigger_right =

      [compat]
      btn_trigger_left = 292
      btn_trigger_right = 293
      axis_dpad1_x =
      axis_dpad1_y =
      axis_dpad2_x =
      axis_dpad2_y =
      axis_x_inverted =
      axis_y_inverted =
      axis_trigger_left_inverted =
      axis_trigger_right_inverted =

      these are the numbers i got from a jtest -

      up - 5: -32767
      down - 5: 32767
      left - 4: -32767
      right - 4: 32767

      x - 1:
      o - 2:
      square - 0:
      triangle - 3:

      etc .....

      where i place these number & which

      mediamogulM 1 Reply Last reply Reply Quote 0
      • mediamogulM
        mediamogul Global Moderator @Slugz
        last edited by mediamogul

        @Slugz

        It's been a while since I've done it myself, but from memory, you would add the number codes you got from running /opt/retropie/emulators/reicast/bin/reicast-joyconfig and input them into the Reicast mapping file. According to the wiki entry, you'll need to create it yourself. I'll have to defer any more specific questions to someone else, as I have had Reicast uninstalled for some time due to poor performance on the Pi3.

        RetroPie v4.5 • RPi3 Model B • 5.1V 2.5A PSU • 16GB SanDisk microSD • 512GB External Drive

        S 1 Reply Last reply Reply Quote 0
        • S
          Slugz @mediamogul
          last edited by Slugz

          @mediamogul said in Reicast Stuck On Time & Date !:

          @Slugz

          It's been a while since I've done it myself, but from memory, you would add the number codes you got from running /opt/retropie/emulators/reicast/bin/reicast-joyconfig and input them into the Reicast mapping file. According to the wiki entry, you'll need to create it yourself. I'll have to defer any more specific questions to someone else, as I have had Reicast uninstalled for some time due to poor performance on the Pi3.

          this is what i got in the /opt/retropie/emulators/reicast/bin/reicast-joyconfig

          # -*- coding: utf-8 -*-
          
          from __future__ import print_function
          
          import sys
          import re
          import os
          if sys.version_info < (3, 0):
              import ConfigParser as configparser
              INPUT_FUNC = raw_input
          else:
              import configparser
              INPUT_FUNC = input
          
          try:
              import evdev
          except ImportError:
              print("Can't import evdev module. Please install it.")
              print("You can do this via:")
              print("  pip install evdev")
              sys.exit(1)
          
          DEV_ID_PATTERN = re.compile('(\d+)')
          DREAMCAST_BUTTONS = ['A', 'B', 'C', 'D', 'X', 'Y', 'Z', 'START']
          DREAMCAST_DPAD = [('X', 'LEFT', 'RIGHT'), ('Y', 'UP', 'DOWN')]
          DREAMCAST_TRIGGERS = ['TRIGGER_LEFT', 'TRIGGER_RIGHT']
          DREAMCAST_STICK_AXES = [('X', 'left'), ('Y', 'up')]
          SECTIONS = ["emulator", "dreamcast", "compat"]
          
          
          def list_devices():
              devices = [(int(DEV_ID_PATTERN.findall(fn)[0]), evdev.InputDevice(fn))
                         for fn in evdev.list_devices()]
          
              dev_id_len = len(str(max([dev_id for dev_id, dev in devices])))
          
              for dev_id, dev in sorted(devices, key=lambda x: x[0]):
                  print("%s: %s (%s, %s)" %
                        (str(dev_id).rjust(dev_id_len), dev.name, dev.fn, dev.phys))
          
          
          def clear_events(dev):
              try:
                  event = dev.read_one()
                  while(event is not None):
                      event = dev.read_one()
              except (OSError, IOError):
                  # BlockingIOErrors should only occur if someone uses the evdev
                  # module < v0.4.4. BlockingIOError inherits from OSError, so we
                  # catch that for Python 2 compatibility. We also catch IOError,
                  # just in case.
                  pass
          
          
          def read_button(dev):
              for event in dev.read_loop():
                  if event.type == evdev.ecodes.EV_KEY and event.value == 0:
                      break
              return event
          
          
          def read_axis(dev, absinfos):
              axis_inverted = False
              for event in dev.read_loop():
                  if event.type == evdev.ecodes.EV_ABS and \
                     event.value in (absinfos[event.code].min, absinfos[event.code].max):
                      if event.value == absinfos[event.code].max:
                          axis_inverted = True
                      break
              return (event, axis_inverted)
          
          
          def read_axis_or_key(dev, absinfos):
              axis_inverted = False
              for event in dev.read_loop():
                  if event.type == evdev.ecodes.EV_KEY and event.value == 0:
                      break
                  elif (event.type == evdev.ecodes.EV_ABS and event.value in
                        (absinfos[event.code].min, absinfos[event.code].max)):
                      if event.value == absinfos[event.code].max:
                          axis_inverted = True
                      break
              return (event, axis_inverted)
          
          
          def print_mapped_button(name, event):
              try:
                  code_id = evdev.ecodes.BTN[event.code]
              except (IndexError, KeyError):
                  try:
                      code_id = evdev.ecodes.KEY[event.code]
                  except (IndexError, KeyError):
                      code_id = None
              if type(code_id) is list:
                  code_id = code_id[0]
              code_id = (' (%s)' % code_id) if code_id else ''
              print("%s mapped to %d%s." % (name, event.code, code_id))
          
          
          def print_mapped_axis(name, event, axis_inverted=False):
              try:
                  code_id = evdev.ecodes.ABS[event.code]
              except (IndexError, KeyError):
                  code_id = None
              if type(code_id) is list:
                  code_id = code_id[0]
              code_id = (' (%s)' % code_id) if code_id else ''
              inv = (' (inverted)' if axis_inverted else '')
              print("%s mapped to %d%s%s." % (name, event.code, code_id, inv))
          
          
          def setup_device(dev_id):
              print("Using device %d..." % dev_id)
              fn = "/dev/input/event%d" % dev_id
              dev = evdev.InputDevice(fn)
              print("Name: %s" % dev.name)
              print("File: %s" % dev.fn)
              print("Phys: %s" % dev.phys)
          
              cap = dev.capabilities(verbose=False, absinfo=True)
              try:
                  absinfos = dict(cap[evdev.ecodes.EV_ABS])
              except KeyError:
                  absinfos = dict()
          
              mapping = configparser.RawConfigParser()
              for section in SECTIONS:
                  mapping.add_section(section)
              mapping.set("emulator", "mapping_name", dev.name)
          
              # Emulator escape button
              if ask_yes_no("Do you want to map a button to exit the emulator"):
                  clear_events(dev)
                  print("Press the that button now...")
                  event = read_button(dev)
                  mapping.set("emulator", "btn_escape", event.code)
                  print_mapped_button("emulator escape button", event)
          
              # Regular dreamcast buttons
              for button in DREAMCAST_BUTTONS:
                  if ask_yes_no("Do you want to map the %s button?" % button):
                      clear_events(dev)
                      print("Press the %s button now..." % button)
                      event = read_button(dev)
                      mapping.set("dreamcast", "btn_%s" % button.lower(), event.code)
                      print_mapped_button("%s button" % button, event)
          
              # DPads
              for i in range(1, 3):
                  if ask_yes_no("Do you want to map DPad %d?" % i):
                      for axis, button1, button2 in DREAMCAST_DPAD:
                          clear_events(dev)
                          print("Press the %s button of DPad %d now..." % (button1, i))
                          event, axis_inverted = read_axis_or_key(dev, absinfos)
                          if event.type == evdev.ecodes.EV_ABS:
                              axisname = "axis_dpad%d_%s" % (i, axis.lower())
                              mapping.set("compat", axisname, event.code)
                              mapping.set("compat", "%s_inverted" % axisname, "yes" if axis_inverted else "no")
                              print_mapped_axis("%s axis of DPad %d" % (axis, i), event, axis_inverted)
                          else:
                              buttonconf = "btn_dpad%d_%%s" % i
                              mapping.set("dreamcast", buttonconf % button1.lower(), event.code)
                              print_mapped_button("%s button of DPad %d" % (button1, i), event)
                              clear_events(dev)
                              print("Press the %s button of DPad %d now..." % (button2, i))
                              event = read_button(dev)
                              mapping.set("dreamcast", buttonconf % button2.lower(), event.code)
                              print_mapped_button("%s button of DPad %d" % (button2, i), event)
          
              # Triggers
              for trigger in DREAMCAST_TRIGGERS:
                  if ask_yes_no("Do you want to map %s?" % trigger):
                      clear_events(dev)
                      print("Press the %s now..." % trigger)
                      event, axis_inverted = read_axis_or_key(dev, absinfos)
                      axis_inverted = not axis_inverted
                      if event.type == evdev.ecodes.EV_ABS:
                          axisname = "axis_%s" % trigger.lower()
                          mapping.set("dreamcast", axisname, event.code)
                          mapping.set("compat", "%s_inverted" % axisname, "yes" if axis_inverted else "no")
                          print_mapped_axis("analog %s" % trigger, event, axis_inverted)
                      else:
                          mapping.set("compat", "btn_%s" % trigger.lower(), event.code)
                          print_mapped_button("digital %s" % trigger, event)
          
              # Stick
              if ask_yes_no("Do you want to map the analog stick?"):
                  for axis, axis_dir in DREAMCAST_STICK_AXES:
                      clear_events(dev)
                      print("Please move the analog stick as far %s as possible now..." % axis_dir)
                      event, axis_inverted = read_axis(dev, absinfos)
                      axisname = "axis_%s" % axis.lower()
                      mapping.set("dreamcast", axisname, event.code)
                      mapping.set("compat", "%s_inverted" % axisname, "yes" if axis_inverted else "no")
                      print_mapped_axis(axis, event, axis_inverted)
          
              for section in SECTIONS:
                  if not mapping.options(section):
                      mapping.remove_section(section)
          
              return mapping
          
          
          def ask_yes_no(question, default=True):
              valid = {"yes": True, "y": True, "ye": True,
                       "no": False, "n": False}
              prompt = "Y/n" if default else "y/N"
          
              while True:
                  print("%s [%s] " % (question, prompt), end='')
                  choice = INPUT_FUNC().lower()
                  if choice == '':
                      return default
                  if choice in valid:
                      return valid[choice]
                  else:
                      print("Please respond with 'yes' or 'no'")
          
          
          if __name__ == "__main__":
              import argparse
              parser = argparse.ArgumentParser(
                description='Reicast evdev controller mapping editor')
              parser.add_argument('-d', '--device-id', action='store', type=int,
                                  default=-1, help='device-id to map.')
              parser.add_argument('-f', '--file', action='store', default=None,
                                  help='write mapping to this file')
              args = parser.parse_args()
          
              if args.device_id < 0:
                  list_devices()
                  dev_id = int(input("Please enter the device id: "))
              else:
                  dev_id = args.device_id
          
              mapping = setup_device(dev_id)
          
              if args.file:
                  with open(args.file, "w") as f:
                      mapping.write(f)
                  print("\nMapping file saved to: %s\n" % os.path.abspath(args.file))
              else:
                  print("\nHere's your mapping file:\n")
                  mapping.write(sys.stdout)
          
              sys.exit(0)```
          BuZzB 1 Reply Last reply Reply Quote 0
          • BuZzB
            BuZz administrators @Slugz
            last edited by BuZz

            @Slugz if you are going to post configs and code to the forum - please format it properly http://commonmark.org/help/ (Please go back and edit your post and put in code blocks)

            To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

            S 1 Reply Last reply Reply Quote 0
            • S
              Slugz @BuZz
              last edited by

              @BuZz said in Reicast Stuck On Time & Date !:

              @Slugz if you are going to post configs and code to the forum - please format it properly http://commonmark.org/help/ (Please go back and edit your post and put in code blocks)

              don't know how.

              BuZzB 1 Reply Last reply Reply Quote 0
              • B
                backstander
                last edited by

                @Slugz
                I believe you put those controller mapping info into a files named something like this /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg

                Than edit /opt/retropie/configs/dreamcast/emu.cfg to tell the emulator to use your custom controller mapping:

                evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg
                evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg
                
                S 1 Reply Last reply Reply Quote 0
                • BuZzB
                  BuZz administrators @Slugz
                  last edited by

                  @Slugz read the link - surround the code with three backticks ```

                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                  1 Reply Last reply Reply Quote 0
                  • S
                    Slugz @backstander
                    last edited by

                    @backstander said in Reicast Stuck On Time & Date !:

                    @Slugz
                    I believe you put those controller mapping info into a files named something like this /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg

                    Than edit /opt/retropie/configs/dreamcast/emu.cfg to tell the emulator to use your custom controller mapping:

                    evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg
                    evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg
                    

                    don't get it.

                    can you tell me which files i move & change & where.

                    1 Reply Last reply Reply Quote 0
                    • S
                      Slugz
                      last edited by Slugz

                      this is what is in my /opt/retropie/configs/dreamcast/emu.cfg

                      there is no controller on it.

                      disable = 0
                      
                      [config]
                      Debug.SerialConsoleEnabled = 0
                      Dreamcast.Broadcast = 4
                      Dreamcast.Cable = 3
                      Dreamcast.RTC = 2109681505
                      Dreamcast.Region = 3
                      Dynarec.Enabled = 1
                      Dynarec.idleskip = 1
                      Dynarec.unstable-opt = 0
                      aica.LimitFPS = 1
                      aica.NoBatch = 0
                      aica.NoSound = 0
                      bios.UseReios = 0
                      pvr.MaxThreads = 3
                      pvr.Subdivide = 0
                      pvr.SynchronousRendering = 0
                      pvr.rend = 0
                      rend.UseMipmaps = 1
                      rend.WideScreen = 0
                      ta.skip = 0
                      
                      [dispmanx]
                      height = 480
                      maintain_aspect = yes
                      width = 640
                      
                      [omx]
                      audio_hdmi = yes
                      audio_latency = 100
                      
                      [reios]
                      ElfFile = 
                      
                      [validate]
                      OpenGlChecks = 0```
                      1 Reply Last reply Reply Quote 0
                      • M
                        mrbwa1
                        last edited by

                        The Input section should be between the [dispmanx] and [omx] sections. Hre is that part of my emu.config:

                        [dispmanx]
                        height = 480
                        maintain_aspect = yes
                        width = 640

                        [input]
                        evdev_device_id_1 = 0
                        evdev_device_id_2 = 1
                        evdev_device_id_3 = -1
                        evdev_device_id_4 = -1
                        evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_TwinUSBJoystick.cfg
                        evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/controller_TwinUSBJoystick.cfg
                        joystick_device_id = -1

                        [omx]
                        audio_hdmi = yes
                        audio_latency = 100

                        I have never done a manual edit of this config file, so I'm not sure what you need in the evdev_mapping_X lines or the joystick_device_id_X line. You can try pasting in what I have and changing TwinUSBJoystick.cfg lines to

                        evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg
                        evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg

                        Note, check /opt/retropie/configs/dreamcast/mappings for the exact filename. It might be something like controller_MAYFLASHArcadeFightstickF300.cfg. All of y listed configs start with "controller_" except keyboard.cfg (I am running Retropie 4.1)

                        S 1 Reply Last reply Reply Quote 1
                        • S
                          Slugz @mrbwa1
                          last edited by Slugz

                          @mrbwa1 said in Reicast Stuck On Time & Date !:

                          The Input section should be between the [dispmanx] and [omx] sections. Hre is that part of my emu.config:

                          [dispmanx]
                          height = 480
                          maintain_aspect = yes
                          width = 640

                          [input]
                          evdev_device_id_1 = 0
                          evdev_device_id_2 = 1
                          evdev_device_id_3 = -1
                          evdev_device_id_4 = -1
                          evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_TwinUSBJoystick.cfg
                          evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/controller_TwinUSBJoystick.cfg
                          joystick_device_id = -1

                          [omx]
                          audio_hdmi = yes
                          audio_latency = 100

                          I have never done a manual edit of this config file, so I'm not sure what you need in the evdev_mapping_X lines or the joystick_device_id_X line. You can try pasting in what I have and changing TwinUSBJoystick.cfg lines to

                          evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg
                          evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/MAYFLASHArcadeFightstickF300.cfg

                          Note, check /opt/retropie/configs/dreamcast/mappings for the exact filename. It might be something like controller_MAYFLASHArcadeFightstickF300.cfg. All of y listed configs start with "controller_" except keyboard.cfg (I am running Retropie 4.1)

                          here is my devices -

                          0: Mini Keyboard (/dev/input/event0, usb-3f980000.usb-1.2/input0)
                          1: Mini Keyboard (/dev/input/event1, usb-3f980000.usb-1.2/input1)
                          2: MAYFLASH Arcade Fightstick F300 (/dev/input/event2, usb-3f980000.usb-1.5/input0)
                          3: 8Bitdo SNES30 GamePad (/dev/input/event3, b8:27:eb:e5:9c:6a)

                          i like to setup the MAYFLASH & THE 8Bitdo -

                          controller_8BitdoSNES30GamePad.cfg
                          & the -
                          controller_MAYFLASHArcadeFightstickF300.cfg

                          1 Reply Last reply Reply Quote 0
                          • S
                            Slugz
                            last edited by

                            & do i need to install any driver updates.

                            1 Reply Last reply Reply Quote 0
                            • S
                              Slugz
                              last edited by

                              here is my devices -

                              0: Mini Keyboard (/dev/input/event0, usb-3f980000.usb-1.2/input0)
                              1: Mini Keyboard (/dev/input/event1, usb-3f980000.usb-1.2/input1)
                              2: MAYFLASH Arcade Fightstick F300 (/dev/input/event2, usb-3f980000.usb-1.5/input0)
                              3: 8Bitdo SNES30 GamePad (/dev/input/event3, b8:27:eb:e5:9c:6a)

                              i like to setup the MAYFLASH & THE 8Bitdo -

                              controller_8BitdoSNES30GamePad.cfg
                              & the -
                              controller_MAYFLASHArcadeFightstickF300.cfg

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                backstander @Slugz
                                last edited by backstander

                                @Slugz

                                Oh yeah, in the /opt/retropie/configs/dreamcast/emu.cfg file you need to change evdev_device_id_1 & 2 to equal the number of the joystick you want to use.

                                So if you want your MAYFLASH Arcade Fightstick F300 to be player 1 and your 8Bitdo SNES30 GamePad to be player 2. From what you posted above the Mini Keyboard is using 0 and 1 and the MAYFLASH is 2 and the 8Bitdo is 3.

                                You'd do something like this:

                                [input]
                                evdev_device_id_1 = 2
                                evdev_device_id_2 = 3
                                evdev_device_id_3 = -1
                                evdev_device_id_4 = -1
                                evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_MAYFLASHArcadeFightstickF300.cfg
                                evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/controller_8BitdoSNES30GamePad.cfg
                                joystick_device_id = -1
                                

                                The -1 means no joystick which we used for player 3 and 4 and also have evdev_mapping_1 & 2 to point to the matching joystick mapping config files.

                                And if you want 2 players at the same time, then you need to add this to the bottom of that same emu.cfg file:

                                [players]
                                nb = 2
                                
                                S 1 Reply Last reply Reply Quote 0
                                • S
                                  Slugz @backstander
                                  last edited by

                                  @backstander said in Reicast Stuck On Time & Date !:

                                  @Slugz

                                  Oh yeah, in the /opt/retropie/configs/dreamcast/emu.cfg file you need to change evdev_device_id_1 & 2 to equal the number of the joystick you want to use.

                                  So if you want your MAYFLASH Arcade Fightstick F300 to be player 1 and your 8Bitdo SNES30 GamePad to be player 2. From what you posted above the Mini Keyboard is using 0 and 1 and the MAYFLASH is 2 and the 8Bitdo is 3.

                                  You'd do something like this:

                                  [input]
                                  evdev_device_id_1 = 2
                                  evdev_device_id_2 = 3
                                  evdev_device_id_3 = -1
                                  evdev_device_id_4 = -1
                                  evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_MAYFLASHArcadeFightstickF300.cfg
                                  evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/controller_8BitdoSNES30GamePad.cfg
                                  joystick_device_id = -1
                                  

                                  The -1 means no joystick which we used for player 3 and 4 and also have evdev_mapping_1 & 2 to point to the matching joystick mapping config files.

                                  And if you want 2 players at the same time, then you need to add this to the bottom of that same emu.cfg file:

                                  [players]
                                  nb = 2
                                  

                                  still not working !

                                  S B 2 Replies Last reply Reply Quote 0
                                  • S
                                    Slugz @Slugz
                                    last edited by

                                    still not working !

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      backstander @Slugz
                                      last edited by

                                      @Slugz

                                      still not working !

                                      I'm stumped.

                                      Please post the contents of your /opt/retropie/configs/dreamcast/mappings/controller_MAYFLASHArcadeFightstickF300.cfg and /opt/retropie/configs/dreamcast/mappings/controller_8BitdoSNES30GamePad.cfg files (or whatever controller mapping files that are referenced by your /opt/retropie/configs/dreamcast/emu.cfg).

                                      Also post your current contents of your /opt/retropie/configs/dreamcast/emu.cfg file as well.

                                      Sometimes something as little as a typo can cause the whole emulator not to work.

                                      S 1 Reply Last reply Reply Quote 0
                                      • S
                                        Slugz @backstander
                                        last edited by Slugz

                                        @backstander said in Reicast Stuck On Time & Date !:

                                        @Slugz

                                        still not working !

                                        I'm stumped.

                                        Please post the contents of your /opt/retropie/configs/dreamcast/mappings/controller_MAYFLASHArcadeFightstickF300.cfg and /opt/retropie/configs/dreamcast/mappings/controller_8BitdoSNES30GamePad.cfg files (or whatever controller mapping files that are referenced by your /opt/retropie/configs/dreamcast/emu.cfg).

                                        Also post your current contents of your /opt/retropie/configs/dreamcast/emu.cfg file as well.

                                        Sometimes something as little as a typo can cause the whole emulator not to work.

                                        Mayflash

                                        mapping_name = MAYFLASH Arcade Fightstick F300
                                        btn_escape = 296
                                        
                                        [dreamcast]
                                        btn_a = 290
                                        btn_b = 289
                                        btn_c =
                                        btn_d =
                                        btn_x = 291
                                        btn_y = 288
                                        btn_z =
                                        btn_start = 297
                                        btn_dpad1_left =
                                        btn_dpad1_right =
                                        btn_dpad1_up =
                                        btn_dpad1_down =
                                        btn_dpad2_left =
                                        btn_dpad2_right =
                                        btn_dpad2_up =
                                        btn_dpad2_down =
                                        axis_x =
                                        axis_y =
                                        axis_trigger_left =
                                        axis_trigger_right =
                                        
                                        [compat]
                                        btn_trigger_left = 292
                                        btn_trigger_right = 293
                                        axis_dpad1_x =
                                        axis_dpad1_y =
                                        axis_dpad2_x =
                                        axis_dpad2_y =
                                        axis_x_inverted =
                                        axis_y_inverted =
                                        axis_trigger_left_inverted =
                                        axis_trigger_right_inverted =
                                        
                                        

                                        8BitdoSNES30

                                        mapping_name = 8Bitdo SNES30 GamePad
                                        btn_escape = 298
                                        
                                        [dreamcast]
                                        btn_a = 289
                                        btn_b = 288
                                        btn_c =
                                        btn_d =
                                        btn_x = 292
                                        btn_y = 291
                                        btn_z =
                                        btn_start = 299
                                        btn_dpad1_left =
                                        btn_dpad1_right =
                                        btn_dpad1_up =
                                        btn_dpad1_down =
                                        btn_dpad2_left =
                                        btn_dpad2_right =
                                        btn_dpad2_up =
                                        btn_dpad2_down =
                                        axis_x = 0
                                        axis_y = 1
                                        axis_trigger_left =
                                        axis_trigger_right =
                                        
                                        [compat]
                                        btn_trigger_left = 294
                                        btn_trigger_right = 295
                                        axis_dpad1_x =
                                        axis_dpad1_y =
                                        axis_dpad2_x =
                                        axis_dpad2_y =
                                        axis_x_inverted = no
                                        axis_y_inverted = no
                                        axis_trigger_left_inverted =
                                        axis_trigger_right_inverted =
                                        
                                        

                                        emu.cfg

                                        disable = 0
                                        
                                        [config]
                                        Debug.SerialConsoleEnabled = 0
                                        Dreamcast.Broadcast = 4
                                        Dreamcast.Cable = 3
                                        Dreamcast.RTC = 2110739856
                                        Dreamcast.Region = 3
                                        Dynarec.Enabled = 1
                                        Dynarec.idleskip = 1
                                        Dynarec.unstable-opt = 0
                                        aica.LimitFPS = 1
                                        aica.NoBatch = 0
                                        aica.NoSound = 0
                                        bios.UseReios = 0
                                        pvr.MaxThreads = 3
                                        pvr.Subdivide = 0
                                        pvr.SynchronousRendering = 0
                                        pvr.rend = 0
                                        rend.UseMipmaps = 1
                                        rend.WideScreen = 0
                                        ta.skip = 0
                                        
                                        [dispmanx]
                                        height = 480
                                        maintain_aspect = yes
                                        width = 640
                                        
                                        [input]
                                        evdev_device_id_1 = 0
                                        evdev_device_id_2 = 1
                                        evdev_device_id_3 = -1
                                        evdev_device_id_4 = -1
                                        evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_8Bitdo SNES30 GamePad.cfg
                                        evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/controller_8Bitdo SNES30 GamePad.cfg
                                        joystick_device_id = -1
                                        
                                        [omx]
                                        audio_hdmi = yes
                                        audio_latency = 100
                                        
                                        [reios]
                                        ElfFile = 
                                        
                                        [validate]
                                        OpenGlChecks = 0
                                        
                                        

                                        and how do i see my device id inputs again because i think i did a update.

                                        1 Reply Last reply Reply Quote 1
                                        • B
                                          backstander
                                          last edited by backstander

                                          and how do i see my device id inputs again because i think i did a update.

                                          evtest then just hit Ctrl+C to exit after you get your event number.

                                          I did notice something in your emu.cfg. There's spaces in your controller mapping cfg file name. Try putting quotes around them like this:

                                          evdev_mapping_1 = "/opt/retropie/configs/dreamcast/mappings/controller_8Bitdo SNES30 GamePad.cfg"
                                          evdev_mapping_2 = "/opt/retropie/configs/dreamcast/mappings/controller_8Bitdo SNES30 GamePad.cfg"
                                          

                                          Or you can just rename them to controller_8BitdoSNES30GamePad.cfg to remove the spaces.

                                          Also you'll want to add this somewhere to your emu.cfg file if you want 2 players:

                                          [players]
                                          nb = 2
                                          
                                          S 1 Reply Last reply Reply Quote 0
                                          • S
                                            Slugz @backstander
                                            last edited by

                                            @backstander said in Reicast Stuck On Time & Date !:

                                            and how do i see my device id inputs again because i think i did a update.

                                            evtest then just hit Ctrl+C to exit after you get your event number.

                                            I did notice something in your emu.cfg. There's spaces in your controller mapping cfg file name. Try putting quotes around them like this:

                                            evdev_mapping_1 = "/opt/retropie/configs/dreamcast/mappings/controller_8Bitdo SNES30 GamePad.cfg"
                                            evdev_mapping_2 = "/opt/retropie/configs/dreamcast/mappings/controller_8Bitdo SNES30 GamePad.cfg"
                                            

                                            Or you can just rename them to controller_8BitdoSNES30GamePad.cfg to remove the spaces.

                                            Also you'll want to add this somewhere to your emu.cfg file if you want 2 players:

                                            [players]
                                            nb = 2
                                            

                                            cannot press select after entering the time & date. :(

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