Happ joystick doesn't work on some dreamcast games
-
Pi Model or other hardware: Raspberry Pi 3 b +
Power Supply used: 5v 3a
RetroPie Version Used: 4.4.4
Built From: Pre made SD Image on RetroPie website
USB Devices connected: DragonRiseInc. Generic USB Joystick
Controller used: Suzo happ joysticks and buttons. Zero delay usb controller
Guide used: https://github.com/RetroPie/RetroPie-Setup/wiki/Dreamcast (Mapping a Nonstandard Controller via @Folly)
Emulator: reicast (Dreamcast)I have an arcade cabinet with joysticks and buttons setup Street Fighter 2 style. I have several Dreamcast games running smoothly but the joysticks don't work on some games (buttons work on all games).
To make things simple I will focus on 2 games.
"Marvel vs Capcom 2" joysticks work. (The games controller option show you can play with joystick and d-pad)
"The King of Fighters Evolution" joysticks not working. (game shows it's playable with d-pad only)/opt/retropie/configs/all/autoconf.cfg
reicast_input = "0"
This is my emu.cfg
[audio] backend = auto disable = 0 [config] Debug.SerialConsoleEnabled = 0 Dreamcast.Broadcast = 4 Dreamcast.Cable = 3 Dreamcast.RTC = -2110512542 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 = 2 evdev_device_id_2 = 3 evdev_device_id_3 = -1 evdev_device_id_4 = -1 evdev_mapping_1 = /opt/retropie/configs/dreamcast/mappings/MYcontroller.cfg evdev_mapping_2 = /opt/retropie/configs/dreamcast/mappings/MYcontroller.cfg joystick_device_id = -1 [omx] audio_hdmi = yes audio_latency = 100 [players] nb = 1 [reios] ElfFile = [testing] ta.HashCheckFile = ta.HashLogFile = [validate] OpenGlChecks = 0
Only Marvel vs Capcom 2 works with this Mycontroller.cfg setup.
[emulator] mapping_name = DragonRise Inc. Generic USB Joystick btn_escape = 292 [dreamcast] btn_a = 296 btn_b = 295 btn_x = 299 btn_y = 298 btn_start = 293 btn_dpad1_left = btn_dpad1_right = btn_dpad1_up = btn_dpad1_down = axis_x = 0 axis_y = 1 [compat] axis_dpad1_x = axis_dpad1_y = axis_dpad1_x_inverted = no axis_dpad1_y_inverted = no btn_trigger_left = 297 btn_trigger_right = 294 axis_x_inverted = no axis_y_inverted = no
Joysticks will not work for both games using this Mycontroller.cfg setup.
[emulator] mapping_name = DragonRise Inc. Generic USB Joystick btn_escape = 292 [dreamcast] btn_a = 296 btn_b = 295 btn_x = 299 btn_y = 298 btn_start = 293 btn_dpad1_left = btn_dpad1_right = btn_dpad1_up = btn_dpad1_down = axis_x = 0 axis_y = 1 [compat] axis_dpad1_x = 0 axis_dpad1_y = 1 axis_dpad1_x_inverted = no axis_dpad1_y_inverted = no btn_trigger_left = 297 btn_trigger_right = 294 axis_x_inverted = no axis_y_inverted = no
Buttons used for d-pad in this MYcontroller.cfg setup. The King of Fighters Evolution works but now I don't have enough buttons for kick or punch. Also forward jump or special moves to difficult to perform using buttons (joystick still not working).
[emulator] mapping_name = DragonRise Inc. Generic USB Joystick btn_escape = 292 [dreamcast] btn_a = btn_b = btn_x = btn_y = btn_start = 293 btn_dpad1_left =296 btn_dpad1_right =298 btn_dpad1_up =299 btn_dpad1_down =295 axis_x = 0 axis_y = 1 [compat] axis_dpad1_x = axis_dpad1_y = axis_dpad1_x_inverted = no axis_dpad1_y_inverted = no btn_trigger_left = 297 btn_trigger_right = 294 axis_x_inverted = no axis_y_inverted = no
I found a post suggesting to go to configs/all/retroarch.cfg
input_player1_analog_dpad_mode = "1" input_player2_analog_dpad_mode = "1"
Doesn't work at all.
Is there a way to bind joystick/d-pad or is this the wrong way to go.
Not sure what to do at this point. -
@GHOSTfaceKILLr74
emu.cfg << reicast
retroarch.cfg << (libretro)lr-emulatorsThere are ways, but why did you map the direction buttons as b, a y and x?
sudo /opt/retropie/emulators/reicast/bin/reicast-joyconfig
You will have to attend the mappings in this order exit, a, b, c, d, x, y, z, start, dpad1-LRUD, dpad2-LRUD, L1, R1, analog. -
@GHOSTfaceKILLr74 so I had this same issue with reicast and my bartop (xin mo joysticks) and Virtua Fighter 3tb which is also dpad only. The easiest way I found ultimately was just to install lr-reicast to play the dpad only games because then I could use the GUI menu to select the analog to digital option for the joystick for those games. I never like messing with hard coded controller config files unless I absolutely have to but that’s just me (originally did my standalone reicast controls using the configuration/tools menu for reicast in the retropie setup menu). I had also posted a help request asking if somehow outside of retroarch you could load a new controller config file on a game-by-game basis using the runcommand on start and no one responded at the time. If you decide to go the lr-reicast route let me know and I can find my post that summarized the install instructions.
EDIT: I can’t remember anymore if there were some games that required analog controls. When I did my setup originally I had to map the joystick as analog for sure because it was the only way to get past the date and time screen. But now that is not an issue because with the updated reicast that screen does not appear anymore. So if no games require the analog stick you could just map the joystick as dpad and be done with it in standalone. I just can’t remember anymore whether some games also require analog like some require dpad.
-
@Efriim I was experimenting by copy and pasting different inputs in the Mycontroller.cfg.
-
@BJRetro I didn't know lr-reicast was available as an option.
I can't seem to find lr-reicast in the optional packages or experimental package.
Is it an experimental package??? Is there a link on how to get it?
Last question: do I install/update experimental packages to get it?Thanks for responding!!!
-
@GHOSTfaceKILLr74 before installing lr-reicast maybe double check to see if any of your games require the analog stick. If not, I would remap your controller using the controller config utility @Efriim mentioned by only mapping your joystick only as the dpad 1 and not the analog stick. If some of your games do require using the analog stick then my next post I will copy the instructions from my other post on installing lr-reicast. You are not missing anything it was not typically available for rpi but my guess is it will be back in the Retropie 4.5 image as an experimental emulator when that comes out in a few weeks. But until then there is a way to install which I will post. Note that lr-reicast will SEEM worse at first. You will need to mess with the various settings in the Retroarch GUI once you install and then you will get pretty much the same performance and traffics as standalone (search for the “working Dreamcast games” thread for a lot of people’s testing and thoughts).
-
@GHOSTfaceKILLr74 ok here are the instructions for lr-reicast:
1-goto retropie setup menu, update the retropie setup script
2-update Retroarch from the the retropie setup menu choosing the “from binary” option
3-once you reboot and are back in emulation station press F4 to go to terminal
4-type sudo nano /home/pi/RetroPie-Setup/scriptmodules/libretrocores/lr-reicast.sh
This lets you edit the lr-reicast setup script to allow it to appear on the raspberry pi retropie setup menu under experimental packages.
replace the rp_module_flags with
rp_module_flags=""in the build_lr-reicast function, replace the single make line with
make platform=rpi3
Press Ctrl and X on your keyboard then y to save changes.5-go back to terminal with F4, type sudo reboot to reboot then in EmulationStation go to the retropie setup menu, manage experimental packages, and lr-reicast should now be there. Install from source.
6-go back to terminal with F4, type sudo nano /opt/retropie/configs/dreamcast/emulators.cfg
You will see a line that says lr-reicast= and at the very end of the line inside the last quotation mark put </dev/null7-put the bios files you need in the Dreamcast bios folder
8- Dreamcast should now work; when you start a game go to runcommand menu and choose lr-reicast.
-
Suggested to choose a reduced resolution from the runcommand menu, e.g. CEA1 or CEA3, then in the retroarch GUI you can experiment with other performance options, such as frameskip and altering the internal resolution, which will make lr-reicast performance approach or equal standalone reicast.
-
To fix the DPAD issue where your joystick is recognized as analog by default, go to quick menu, controls, and underneath the retro pad options for player 1 and player 2 choose “left analog” as analog to digital.
-
note that you can attempt to play Naomi / Atomiswave arcade games on lr-reicast which is not available on standalone reicast. You will need the proper bios files and also need to alter the Dreamcast system entry in essystems.cfg to recognize .zip files as games in emulation station since you use Mame zips for that (.184 rom set I used I think):
Go to terminal with F4, type sudo nano
/etc/emulationstation/es_systems.cfgAdd .zip and .ZIP to the extensions line where it currently lists GDI, etc.
The working Dreamcast games thread has the bios files needed for Naomi / Atomiswave. Warning that hard to find a perfectly working game with those but Guilty Gear X 1.5 works great for me, for instance.
Hope this helps you but also anyone else.
-
-
@BJRetro Thanks for going out of your way in posting all of this information. I really appreciate it. Looks like I'm going to be pulling an all-nighter on this one!!!
-
@BJRetro Ignore this post. Figured it out.
Thanks again for the help. Got lr-reicast up and running BUT I'm getting this message on a few games especially the game The King of Fighters Evolution were I was trying to get the joystick to work.
I'm using HDMI so what's going on?
I'm so close and this shows up. -
@GHOSTfaceKILLr74 ok good so all works?
-
@BJRetro Yes everything works good! Thanks for the extra info on Naomi/Atomisware!!!
Guilty Gear X 1.5 and Fist of the North Star works great.
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.