Homepage › Forums › RetroPie Project › Everything else related to the RetroPie Project › configuring controllers in Reicast
- This topic has 110 replies, 15 voices, and was last updated 8 years, 11 months ago by labelwhore.
-
AuthorPosts
-
06/16/2015 at 00:04 #99929karlossParticipant
Yeah, for me, the only game I am really interested in having running “perfect” would be shenmue…
Love all your work freestyle
06/16/2015 at 01:12 #99935free5ty1eParticipant[quote=99924]Shenmue Disk1 runs, it’s “playable” but not perfect, very reasonable. I think with a few more tweaks and it’ll play very smoothly. Free5tyle, i just want to say, i love you and the progress you’ve made on this.
For some reason game saving takes an unusually long time, but that could just be shenmue, i’ve not played it on my actual dreamcast recently, but i don’t remember game saves taking that long. (My pi2 is inside an original gameboy, so a portable dreamcast is amazing!)I do have a couple requests. Because mine is a portable gameboy, and saving takes a while, i wonder if Save States are possible. I use savestates for everything that i can. 1 button to save, 1 button to load.
Also is there a way i can reverse the axis on reicast? other emulators i can select which axis direction is what. Because my joystick(PS-Vita thumbstick) is technically upside down, left is right, and up is down. In other emulators like mupen64plus i can configure these, same with all the libretro emulators. I’d also need to change the sensitivity, my joystick only needs a very tiny deadzone, and has a rather limited maximum range, of the 32k range that mupen64 uses. i can only use about 15-16k ranges, so normally full forward would cause a character to walk or even tip-toe(mario), but by changing the sensitivity from 32k to 14.5k(ish), and the deadzone to (256, much lower than default) i can use my joystick normally.
[/quote]
Hi Djinny!
Game saves to VMU are the only operation currently that directly writes to the SD card during gameplay, so it’s bound to be a bit sluggish during saves (and they will take a little longer than you’re used to on the real Dreamcast, but not by much; my Rush 2049 saves only take a second or two; then again, it only takes a couple of blocks).
Awesome to hear that Shenmue is at least partially playable! I have to find my copy and make disc images so i can get back into that game :D
I would love to learn how to implement save states!! Definitely on my list but no idea how to start just yet. (free5ty1e = n00b @ emulation coding)
However, I *DO* have an idea on how to start implementing some emu.cfg settings for the following, and plan to start soon:
* Sound playback frequency (
audio.playback.frequency=44100
)
* Sound playback channels (audio.playback.stereo=1
)
* Frameskip (video.frameskip=0
)
* Controller axis deadzone (for each defined controller in emu.cfg, such asaxis.deadzone=128
)
* Controller axis max value (for each defined controller, such asaxis.maxvalue=16384
, assumed to be the same number positive and negative)
* Controller axis reversal (for each defined controller axis, such asaxis.0.reversal=1
)Thanks for the suggestions!! :D
06/16/2015 at 05:53 #99944DjinnyParticipantfree5tyle, thank you again. Dreamcast emulation was one of the biggest reasons for me to get the rpi2, And this is definitely on the right track.
If you play the shenmue, i think you’ll be surprised at how well it does play, though saving can take up to 20 seconds it would seem. I really appreciate you replying to me, very few do, Those emu.cfg commands would be perfect.
Though i think the joysticks by default jstest go from -32,768 to 32,768 so i wonder if lower would be bad for people with really wide joysticks.
My PS-Vita joystick is tiny, it fits in between the DPad and the AB on an original gameboy. :D http://i.imgur.com/It0ALB1.jpg and uses hall effect, instead of pots, so it’s a little weird.^_^ Shenmue on a gameboy, I’m so giddy!
Edit: I’ll put a video up of it later!06/21/2015 at 02:05 #100314super64ParticipantEvening guys,
First of all, new to RetroPie myself and diving in at the deep end with Reicast. Have been trying to follow the thread, so apologies if already covered… been trying to get my wireless 360 controller working and modified the emu.cfg with how labelwhore did but this hasn’t worked out for me. Any ideas? Thanks.
06/22/2015 at 15:41 #100432labelwhoreParticipantI’m initializing xbodrv with the –dpad-as-button, and –trigger-as-button flags. If you’re not doing that, my settings in emu.cfg won’t work for you. I’m not using the init.d script, I could never get it to work correctly, and it also makes it more difficult to play with the controller modes that are available through xboxdrv. I find it handy to be able to switch the button config on the fly for different emulators such as Vice.
What I did to come up with those settings is take a look at the controller section in retroarch.cfg, and use that as a guide to help create the same settings in emu.cfg. Setup wasn’t exactly the same as in retroarch.cfg. I mentioned somewhere above that the dpad had some directions swapped, so lookout for that.
06/23/2015 at 23:39 #100551epe9686518ParticipantJust wanted to say, I am a huge dreamcast fan, and this and N64 are two of my all time favorite systems, it’s sooooooooooooooooooooo great to see the work that you have done on this system free5ty1e to make this finally playable and work so well. Please keep up the amazing work, this is really turning the Pi into something special! Now if only the N64 emulation would start making more progress, but I am quite happy to have 30 games, many of the top titles running great and looking forward to the future! Thanks for all the hours and work you have put into this, means a lot to a lot of people, hope you know that!
06/24/2015 at 01:30 #100556free5ty1eParticipantThanks everyone :D Haven’t had much time lately but I’m hoping to get back at it this weekend!
06/24/2015 at 01:32 #100557free5ty1eParticipantAlso, holy awesome, I want a GameBoy RetroPie like that!! :o
Solid project!!!
06/24/2015 at 13:58 #100584epe9686518ParticipantQuick question, I am using the offical MS drivers for my wireless Xbox 360 controller and got all buttons working but can’t seem to get the dpad working correctly. In jstest, my dpad isn’t set to buttons but it’s set to Axis… up is Axis 5-, Down is Axis 5, Left is Axis 4 – and Right is 4. Any idea how to map these in the controller mapping file?
I did
axis.4=DPad_Right
axis.-4=DPad_Left
axis.+5=DPad_Down
axis.-5=DPad_UpAnd in game the only thing that works is Dpad_Right which is actually mapped to my left dpad input on the controller. Any help would be great!
06/26/2015 at 01:19 #100740epe9686518ParticipantAfter much testing with the emulator over the past few days, I have yet to figure out the dpad issues with the wireless xbox 360 controller. I know I can add the line d pad as button in xbxdrv but doing so would require me to remap all of the other emulators controls which isn’t going to happen. it appears that reicast isn’t set up to read the dpad as an axis, but whats crazy is, as noted above I have the dpad mapped to the axis that it is listing in jstest, and the Dpad_Right is working in-game, so that being considered, I might just need to play around with some of the other axis numbers and might stumble across the other directional mappings. Here’s hoping….
Bugreport
As far as bugs, I believe I have also found a bug in regards to the Wireless Xbox 360 controller. This only happens in Reicast and not in any other emu nor emulation station. After restarting the system, and loading a game with the emulator, the emu appears to load the wrong controller config sometimes. What I mean by that is, I have 2 wireless xbox 360 controllers registered with retropie. And at first I thought Reicast wasn’t picking up any controllers, despite my 360 controller working fine in ES and other emus after reboot. But I noticed when I loaded a 2 player game, that it was indeed picking up the controller, but it was picking up as player 2, not player 1, despite the xbox light showing it as the first player controller. After exiting the emu and switching usb ports (sometimes having to try a few different ports) the emulator will then pick up the xbox 360 controller correctly as player one and work fine from that point on, until another reboot of the pi. Not sure what’s going on with Reicast, but this bug only happens with this emulator and no others. Something definitely needs to be looked at here.I have also tested quite a few games thus far, and wanted to give updates on performance on these on the latest version of Reicast. Overall, most games I have tested work near perfect or near full speed with only minor graphic gltiches… Sound on the other hand in most games is really choppy. But considering the games them selfs are running almost perfectly, this really appears to me that the pi has plenty of power to run DC games at full speed and just needs some audio fixes to get these titles nearly perfect! Here is the list of games I have tested so far, hope this helps some, and I will be updating these in the future as I test more titles.
Games Tested
Sonic Adventure
After playing the first few levels, both the sound and graphics are nearly perfect with only a few very minor graphic glitches here and there. The game runs at pretty much full speed and it’s one of the few games that I have tested so far where the audio is also nearly perfect!
Soul Calibur
Game is now running at pretty much full speed on the latest version of Reicast. There is some slight slow down when doing some of the “charging” effects but other than that the game runs at close to full speed if not full speed most of the time. There are a few minor graphic glitches here and there, but nothing major at this point and the game is now fully playable. Audio on the other hand is very choppy and quite bad.
Legacy of Kain – Soul Reaver
Another game where so far it runs at pretty much full speed with only minor graphic glitches and is fully playable. Slight slow down during some of the “soul sucking” particle effects but nothing major. Audio is choppy but not as bad as other titles like Soul Calibur.
Draconus – Cult of the Wyrm Disc 1
Boots and loads into game, but heavy slow down making it basicly unplayable. Sky box is also pink, but this is a known bug in the PC dreamcast emulators as well.
Power Stone 2
Boots fine and sound is perfect in the menus and stage intros… Once game loads sound gets super choppy and is very bad. Also game is currently not running at full speed and gets a fair amount of slow down, at least with 4 players on the screen (me and 3 AI). Game would be considered playable, but not much fun in it’s current state.
Street Fighter 3 3rd Strike
Game boots fine but has some graphic glitches in the menus but still mostly navigable. Character sprites and some parts of the back ground have major graphical glitches, though mostly on the players, and currently making the game unplayable due to this. The game does however appear to run at full speed.
Dead or Alive 2
Boots to DC logo and then locks up the pi.
Metropolis Street Racer
Fully playable, runs at full speed, very minor graphical glitches on some of the tracks, pretty much looks perfect! Audio is also perfect! Plays great!
Hope this helps some, just need to figure out the dpad issues with the 360 controller and solve the I/O bug and hopefully audio fixes will come soon enough. So far I am blown away by how playable these games are, most work at near full speed and just need audio fixes and they will be perfect! I will update the games tested list as I make more progress with the system.
06/26/2015 at 04:00 #100744labelwhoreParticipantxbodrv has an option to be able to switch controller modes. By default, the function uses the xbox button, but you can assign it to another one.
If you set that up, you can have a controller mode specifically for Reicast. I’d have to dig into the xboxdrv documentation again though to explain further.
06/26/2015 at 04:09 #100745epe9686518ParticipantCrazy Taxi
Playable, runs pretty well, some slow down, not full speed. Almost no visual glitches. Audio is choppy.
MDK 2
Fully playable, runs at full speed with no gfx issues, audio very good, not much chop at all.
Power Stone 1
Fully playable, runs at full speed, some audio chop but not much, almost no visual issues.
Mortal Kombat Gold
Fully playable, runs at full speed, slight audio issues, slight slow down here and there but runs full speed most of the time!
Sega GT
No visual glitches, Runs close to full speed, with a little slow down but no bad, fully playable. Audio is choppy.
Test Drive V-Rally
Menus have visual issues but not too hard to navigate. Some tracks have next to no visual glitches, other tracks have major flickering and are next to impossible to play. Game runs at full speed and is fully playable on the working tracks, tracks with visual glitches render game pretty much unplayable. Soooooooooooo close! Audio is also pretty choppy but not as bad as some.
Sega Rally 2
Loads DC logo boot then crashes back to emulationstation. Assuming this is due to this being one of the few WinCE games?
06/26/2015 at 04:11 #100746epe9686518ParticipantIf you could help further and point me to what I need to set in Xbodrv that would be great!! This would completely fix my issue with Reicast for the dpad. Still not sure what the issue is with it wrongly assigning controllers apon reboots though.
06/26/2015 at 16:26 #100776labelwhoreParticipantOf course. Take a look at this page, particularly the Config Slot Options section. Since I assume you are using the init.d script to initialize xboxdrv, the steps to use this option will be different than mine. But I’ll show you how I’m using it regardless.
http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html
I’m not at home, so I don’t have everything in front of me. However, in rc.local, I’m initializing xboxdrv kind of like this (I think the second ‘–id 0 –led 2’ can probably be removed):
xboxdrv --trigger-as-button --id 0 --led 2 --dpad-as-button --deadzone 4000 --silent --next-config --trigger-as-button --id 0 --led 2 --deadzone 4000 --silent &
Notice the
--next-config
seperating the different modes. One has--dpad-as-button
the second mode does not. So what that does is when I start up my pi, by default my dpads act as buttons, then if I hit the xbox button, the dpad acts as a hat switch or axis, hit it again, and it goes back to acting as buttons.Idk if other controllers have a similar option, but if they don’t, this one option makes the xbox 360 controller, the best controller for the Pi IMO.
06/26/2015 at 17:31 #100780dougie1970Participantgoing to give this ago now .
06/26/2015 at 19:37 #100788epe9686518Participant[quote=100776]Of course. Take a look at this page, particularly the Config Slot Options section. Since I assume you are using the init.d script to initialize xboxdrv, the steps to use this option will be different than mine. But I’ll show you how I’m using it regardless.
http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html
I’m not at home, so I don’t have everything in front of me. However, in rc.local, I’m initializing xboxdrv kind of like this (I think the second ‘–id 0 –led 2′ can probably be removed):
xboxdrv --trigger-as-button --id 0 --led 2 --dpad-as-button --deadzone 4000 --silent --next-config --trigger-as-button --id 0 --led 2 --deadzone 4000 --silent &
Notice the
--next-config
seperating the different modes. One has--dpad-as-button
the second mode does not. So what that does is when I start up my pi, by default my dpads act as buttons, then if I hit the xbox button, the dpad acts as a hat switch or axis, hit it again, and it goes back to acting as buttons.Idk if other controllers have a similar option, but if they don’t, this one option makes the xbox 360 controller, the best controller for the Pi IMO.
[/quote]
Thank you so much for your help! Here’s the issue I am running into. Now I did what you did, but in reverse. Where it defaults to normal dpad mapped to axis, then when I hit the xbox button it switches it to dpad-as-button. Now its working correctly, but the problem I am running into now is that even when the dpad is not a button, aka like how I had it before and the dpad is mapped back to the axis, it still reserves the first 4 buttons for the dpad, even though its not being used for that in that mode. Basically xbox btns 0, 1, 2, 3 are reserved for the dpad even though I have it mapped to the axis, which then pushes the rest of the buttons back to different numbers throwing off my mapping in the emulators….
06/26/2015 at 19:54 #100791labelwhoreParticipantHuh. I hadn’t noticed that because most of my emulators are set up to use dpad-as-button. I think I only have FBA/NeoGeo using dpad as an axis which I mapped from within the emulators.
The good news is, that’s not hard to fix for the retroarch emulators, you just have to shift the button assignments in retroarch.cfg. You’ll probably have to remap controls in MAME as well.
06/26/2015 at 20:12 #100792epe9686518Participant[quote=100791]Huh. I hadn’t noticed that because most of my emulators are set up to use dpad-as-button. I think I only have FBA/NeoGeo using dpad as an axis which I mapped from within the emulators.
The good news is, that’s not hard to fix for the retroarch emulators, you just have to shift the button assignments in retroarch.cfg. You’ll probably have to remap controls in MAME as well.
[/quote]
Basically before I did this button0=A, button1=B, button2=X, button3=Y…. Now button0=dpadup, button1=dpaddown….. Etc…
Now that it’s set up like this, even when it’s in “default” mode which is dpad mapped to the axis like it was, it still reserves the first 4 buttons for the dpad, even though in that mode it’s not using them as buttons, it still reserves those buttons for them…
So either way, if I do this, it still requires me to remap all of the buttons in the emulators, something I was trying to avoid. Looks like I don’t have a choice, I might as well just do away with having two different mappings and just add the dpad-as-button to the normal mapping and bit the bullet and remap everything/
06/26/2015 at 20:17 #100793labelwhoreParticipantIt certainly seems like it should work with dpad-as-axis (the default setting) as well. The only reason I set my controller up with dpad-as-button in the first place, is because I made an arcade controller out of an xbox 360 controller which uses the dpad for the stick that I wanted to use with MAME/FBA. Anyway, it sounds like you’re on the right track to fix it.
06/26/2015 at 20:24 #100796epe9686518ParticipantYea I am just going to go ahead and start remapping and set it up correctly and use the dpad-as-button as this should be the way to go. Then back to testing Reicast.
06/26/2015 at 22:20 #100805free5ty1eParticipantThanks everyone! This is good info; not sure how quickly I’d be able to help with the axis + and – mapping to buttons logic but that is certainly something I think is possible with the code I’ve gone through thus far.
Anything that currently works with axis mapping to buttons is purely coincidental, that situation is not handled specifically in the logic :)
06/27/2015 at 05:18 #100814epe9686518ParticipantI had a feeling that was the case, as I could find no other rhyme or reason as to why only one of the dpad directions was mapping before. In anycase, I did a full rework of XboDrv and fixed all of my controller issues. Now dpad-as-button is enabled by default but I can switch on the fly back to dpad as axis by hitting the Xbox Btn. Thank you so much Lablewhore for all the help. That fixed my issues with Reicast, but it did break the dpad in pifba and sega master systems emu. Apparently they both require the dpad as axis to work. In anycase, being able to switch between the two modes now allows the dpad to work in all emulators perfectly! Having Reicast dpad working with Axis mapping too one day would be great, and a lot easier to configure, but at least it will work 100% regardless with the 360 controller. As lablewhore noted before, it is quite a powerful feature to be able to switch on the fly between dpad as button and axis. I also am not having any issues with Reicast picking up the 360 controllers everytime now on start. I am going to go ahead and assume that issue was not actually a Reicast issue but an issue on my end with Xbodrv that I ended up fixing today. Now that all of this is fixed tomorrow I will get back onto testing more games and giving updates.
We are so close to this emulator running most games perfectly! Just got to smooth out audio, and a few more speed tweaks and its there guys! This is turely amazing what we are getting out of the pi2 hardware and such an exciting time to be a old school gamer!
06/27/2015 at 07:26 #100816DjinnyParticipantJet Grind Radio seems to play alright. I can’t really play it with how my joystick is atm, but it does “play”, and the frame rates seem workable so far.
>.> the itty bitty buttons on the back of my gameboy that act as L/R triggers are hard on the fingers for games like shenmue and jetgrind radio, that require you to hold them down for extended periods. But that’s an issue on my end i will eventually remedy.07/13/2015 at 08:26 #101964d8thstarParticipantI can’t for the life of me figure out how to get the dead working with my wired 360 pad. Can someone post their configure file?
Thanks in advance!
Also, feature request if I may. Add an option to have a controller button combo to exit the emu. For instance, press “start” and “select” together to exit.
Thanks a ton for all your work on this.
07/13/2015 at 21:18 #101977labelwhoreParticipantYou need to initialize xboxdrv using the –dpad-as-button flag and use the mappings I provided. This will screw up the mappings of your other emulators, so you’ll have to remap those, but it’s the only way to get reicast to work with an xbox 360 controller.
look here for how –dpad-as-button works http://pingus.seul.org/~grumbel/xboxdrv/xboxdrv.html
and here’s the mapping I’m using. https://www.petrockblock.com/forums/topic/configuring-controllers-in-reicast/#post-99160
check my posts in this thread for more details.
07/15/2015 at 08:33 #102069d8thstarParticipanti’ve been away from my pi way to long, i have no idea where to change the dpad as button flag.
07/16/2015 at 14:04 #102111labelwhoreParticipanthttps://github.com/RetroPie/RetroPie-Setup/wiki/Setting-up-the-XBox360-controller
In my case, I’m doing it in rc.local, but if you’re using the init.d script, you’ll have to modify that.
07/17/2015 at 01:01 #102136dgtliqdParticipantHi All,
Just trying to run the emulator, but I get an error that “_SYS_ can’t be found”. This is what my Dreamcast entry looks like in the es_systems.cfg file. I probably missed a simple step, but I can’t for the life of me, get this thing to run. Thanks in advance!
<system>
<fullname>Dreamcast</fullname>
<name>dreamcast</name>
<path>~/RetroPie/roms/dreamcast</path>
<extension>.cdi .CDI</extension>
<command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 _SYS_ dreamcast %ROM%</command>
<platform>dreamcast</platform>
<theme>dreamcast</theme>
</system>07/17/2015 at 18:14 #102183dgtliqdParticipantSo I fixed my issue by adding the path for the reicast script AND explicitly adding the .sh extension so that the entry in my es_systems.cfg file looks like so:
/opt/retropie/emulators/reicast/reicast.sh
Now, however, I’m getting a new message/error when I try to run the emulator:
Reading the entire Reicast emulator into memory to execute from there…
LICENSE' ->
tmpfs/LICENSE’
nosym-reicast.elf' ->
tmpfs/nosym-reicast.elf’
README.md' ->
tmpfs/README.md’
reicast.elf' ->
tmpfs/reicast.elf’
reicast.sh' ->
tmpfs/reicast.sh’
cp: omitting directory ‘tmpfs’
Personality: 00C00000
Updated personality: 00800000
Error getting current terminal settings
Fatal error: failed to setup curses!in main -> ../../linux-dist/main.cpp : 995
/opt/retropie/emulators/reicast/reicast.sh: line 10: 2966 Trace/breakpoint trap aoss ./
reicast.elf -config config:homedir=”/home/pi” -config config:image=”$1″
Freeing up memory…Not sure if it’s helpful, but I installed the emulator from the experimental section of the setup script and copied over the 2 required BIOS files.
Thanks!
07/21/2015 at 07:48 #102421DjinnyParticipantAny progress on adding joystick/axis sensitivity, flipping, deadzones? I’ve been putting off making youtube videos with it until it works right with my gameboy’s thumb stick.
Let me know! and thank you again Free5tyle08/06/2015 at 23:34 #103560pfunk237ParticipantSorry, i got a little confused.
I want to use exit=16 so i can exit dreamcast ps3 controller.
What script do i add this too?
you reference a emu.cfg.
do i need to add your script>??
sorry i sort of jumped into your post and didn’t read everything.
08/07/2015 at 04:08 #103570epe9686518ParticipantYou need to edit emu.cfg, thats how you map the buttons for any controller for Reicast. There is no “script” to edit… Just a simple config file…
It’s in /home/pi/.reicast/emu.cfg
I suggest you read up a bit about the emulator first as you seem to be missing some of the basics…
08/16/2015 at 00:52 #104063dougie1970Participantany updates ?
08/16/2015 at 00:56 #104064epe9686518ParticipantWas wondering the same, lot of progress was made very quickly but things seemed to have stalled for a bit. Keeping my fingers crossed on this one, would love to see this emulator running great on the PI!
08/16/2015 at 03:30 #104066DjinnyParticipantfree5tyle hasn’t even logged-in in a little while. so i’m kinda worried something may have happened to him, maybe life got in the way, or worse.. :(
-
AuthorPosts
- The forum ‘Everything else related to the RetroPie Project’ is closed to new topics and replies.