Problems with Dreamcast and ps3 wired controller.
-
Thanks for the reply.
I did go into the config file via the pi itself rather than via a pc and edited the controller config to the following:
[PLAYSTATION(R)3 Controller]
button.0=Btn_Z
button.1=Btn_C
button.2=Btn_D
button.3=Btn_Start
button.4=DPad_Up
button.5=DPad_Right
button.6=DPad_Down
button.7=DPad_Left
button.8=Axis_LT
button.9=Axis_RT
button.10=DPad2_Left
button.11=DPad2_Right
button.12=Btn_Y
button.13=Btn_B
button.14=Btn_A
button.15=Btn_X
button.16=Quit
axis.0=Axis_X
axis.1=Axis_Ywhich i found online but im thinking maybe because its not an official controller it may not work the same? Could i potentially get an xbox 360 controller and copy a set up already in place like your own?
-
I tried everything i can and im really getting nowhere, my emu.cfg file looks like this:
[ACRUXUSBGAMEPAD]
axis.0 = Axis_X
axis.1 = Axis_Y
button.0 = Btn_Z
button.1 = Btn_C
button.10 = DPad2_Left
button.11 = DPad2_Right
button.12 = Btn_Y
button.13 = Btn_B
button.14 = Btn_A
button.15 = Btn_X
button.16 = Quit
button.2 = Btn_D
button.3 = Btn_Start
button.4 = DPad_Up
button.5 = DPad_Right
button.6 = DPad_Down
button.7 = DPad_Left
button.8 = Axis_LT
button.9 = Axis_RT[audio]
disable = 0[config]
Debug.SerialConsoleEnabled = 0
Dreamcast.Broadcast = 4
Dreamcast.Cable = 3
Dreamcast.RTC = 2101838355
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]
i have no idea what most of it means, the controller info i put in from the wiki page i found on controller setup and changed the ps3 official name to the one the controller registers on pi, im hoping i can get this sorted as i have wasted far too many hours on this now,
@backstander the link you posted gets this response:
pi@retropie:~/.reicast $ wget https://raw.githubusercontent.com/reicast/reicast-emulator/3ed2985d510733062e295f8d343cc717f158b4c7/shell/linux/tools/reicast-joyconfig.py
--2016-08-08 20:04:29-- https://raw.githubusercontent.com/reicast/reicast-emulator/3ed2985d510733062e295f8d343cc717f158b4c7/shell/linux/tools/reicast-joyconfig.py
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 62.252.172.241
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|62.252.172.241|:443... connected.
GnuTLS: A TLS fatal alert has been received.
GnuTLS: received alert [0]: Close notify
Unable to establish SSL connection. -
[dreamcast]
btn_a = 306
btn_b = 305
btn_x = 307
btn_y = 304
btn_start = 313
axis_x = 0
axis_y = 1[compat]
axis_dpad1_x = 16
axis_dpad1_x_inverted = no
axis_dpad1_y = 17
axis_dpad1_y_inverted = no
axis_x_inverted = no
axis_y_inverted = noManaged to get this from doing button mapping, where it used to use the analogue stick now doesnt work at all.
this is a ball ache
-
The RetroPie-Setup Wiki for the Dreamcast says to make a file named "emu.cfg"
sudo nano /opt/retropie/configs/dreamcast/emu.cfg
Here is the contents of this file:
[input] evdev_device_id_1 = 6 evdev_device_id_2 = -1 evdev_device_id_3 = -1 evdev_device_id_4 = -1 evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_XboxGamepad(userspacedriver).cfg joystick_device_id = -1
Hmmm...you might also try removing these 2 lines and see if it works again:
axis_dpad1_x = 16 axis_dpad1_y = 17
or if it was working before, you might need to re-add these lines that you had in your original file:
button.4 = DPad_Up button.5 = DPad_Right button.6 = DPad_Down button.7 = DPad_Left
-
I had similar issues with the PS3 controller that had to do with reicast's "automatic" config defaulting to the keyboard. I did the steps in the post below, which are basically backstander's post above with an additional step of telling reicast to look to the controller as the primary controller. Might help:
https://retropie.org.uk/forum/topic/3029/reicast-keyboard-disables-ps3-controller/2
-
Will give this a go tonight, thanks guys.
-
Thanks @RickyEarl !
I knew there was a little bit more to this because I was never able to get a 2nd controller working in reicast but now I have both working at the same time!
Someone should update the Dreamcast RetroPie-Setup Wiki with this information ;)
-
Now I'm impressed. What did you do to get 2 controllers working? I can get the controller and the keyboard, but that's as far as I go. Did you have to manually add mappings for both and then tell reicast both controller IDs in emu.cfg?
-
False alarm. I thought I had got 2 controllers working at the same time but I didn't.
I did find this post that shows how to clone reicast's source code and add 1 line then manually compile it:
https://retropie.org.uk/forum/topic/144/dreamcast-reicast-and-2-xbox360-controllersI just tried it but got an error when trying to Make it.
-
Okay I guess I did get 2 controllers working at the same time!
I'm not exactly sure how I did it but here's what I think did it.
The red text are what I typed in the command prompt at the $ sign prompt.
The black blocks are the code inside the files that I edited with these changes.
If any of thesenano
commands won't let you save your changes, make sure to addsudo
in front of them.nano /opt/retropie/configs/all/autoconf.cfg
reicast_input = 0
nano /opt/retropie/configs/dreamcast/mappings/controller_XboxGamepad\(userspacedriver\).cfg
[emulator] mapping_name = Xbox Gamepad (userspace driver) btn_escape = 316 [dreamcast] btn_a = 304 btn_b = 305 btn_c = btn_d = btn_x = 307 btn_y = 308 btn_z = btn_start = 315 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 = 10 axis_trigger_right = 9 [compat] btn_trigger_left = 312 btn_trigger_right = 313 axis_dpad1_x = 16 axis_dpad1_y = 17 axis_dpad2_x = 3 axis_dpad2_y = 4 axis_x_inverted = no axis_y_inverted = no axis_trigger_left_inverted = axis_trigger_right_inverted = axis_dpad1_y_inverted = no axis_dpad1_x_inverted = no
nano /home/pi/.reicast/emu.cfg
[input] evdev_device_id_1 = 8 evdev_device_id_2 = 9 evdev_device_id_3 = -1 evdev_device_id_4 = -1 evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/controller_XboxGamepad(userspacedriver).cfg evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/controller_XboxGamepad(userspacedriver).cfg joystick_device_id = -1 [players] nb = 2
Now I have 2 wireless Xbox 360 controllers working at the same time. I should note that I also have a USB keyboard and mouse plugged into my Pi so your evdev_device_id_1 & 2 numbers might be different than mine. Without those it might be 6 & 7 instead. To find out you just run
evtest
at the command prompt this should show you what numbers are actually needed.
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.