configuring controllers in Reicast

Home Forums RetroPie Project Everything else related to the RetroPie Project configuring controllers in Reicast

RetroPie has a new website and forum. Please visit https://retropie.org.uk/ for the new site. The new forum is located at https://retropie.org.uk/forum/. This forum is left here as a read-only archive.

This topic contains 110 replies, has 15 voices, and was last updated by Profile photo of labelwhore labelwhore 1 year, 3 months ago.

Viewing 35 posts - 36 through 70 (of 111 total)
  • Author
    Posts
  • #99249
    Profile photo of free5ty1e
    free5ty1e
    Participant

    no luck here :(

    tried to compile using your newest script but it doesn’t compile saying that reicast.elf is missing.

    So, you might want to give it a go manually, without the help of the RetroPie-Setup scripts. Or actually, you might just need to update your RetroPie-Setup repo! Try sudo ~/RetroPie-Setup/retropie_setup.sh and select the U Update RetroPie-Setup script option and then restart the Pi, and try building the Dreamcast emulator again.

    If that doesn’t do it for ya, here are some commands to build and install the latest Reicast .elf files over top of your existing installation:

    `
    cd ~
    git clone https://github.com/free5ty1e/reicast-emulator.git
    cd reicast-emulator
    git checkout free5ty1e/rpi2/multiplayer
    cd shell/rapi2
    make
    sudo cp -v *.elf /opt/retropie/emulators/reicast/
    `

    If you didn’t see any errors there, and you saw the two .elf files copy over, your Reicast should be up to date.

    If this is the only method that works for building Reicast for you, then here are commands to update and build the latest changes (this will also be faster as it will only recompile the changed files, so you will get updates in a matter of seconds instead of 5-10 minutes for a full build.)

    `
    cd ~/reicast-emulator
    git pull
    cd shell/rapi2
    make
    sudo cp -v *.elf /opt/retropie/emulators/reicast/
    `

    If you WANT to perform a full / clean build, add a make clean command before the make command.

    Hope this helps enable more Dreamcast!!

    #99251
    Profile photo of karloss
    karloss
    Participant

    That was the issue, I needed me to map the dpad via the emu.cfg for me to navigate the menus..

    It would be nice if there was a way to run something at terminal so I can see exactly what the emaulator expects (id wise) when I press the button on my pad..

    Im having issues working out how to map my anaglogue stick as its displayed as Axis 1 and 1/-1 and in the config there is no Axis 1 / -1? just Axis 1 Axis 2 and such..

    #99255
    Profile photo of dishins
    dishins
    Participant

    just managed to compile and everything went golden with my PS3 button map! thx Free5style, awesome work mate!

    can you post your overclock/gpu Pi configurations? i think if i can improve the performance a little bit it will be perfect, i still have a little sluttering in some games like Marvel vs Capcom 2.

    #99256
    Profile photo of free5ty1e
    free5ty1e
    Participant

    I’m running with the standard “Pi 2” overclock selected from the sudo raspi-config command’s advanced menu. So just 1GHz. I’m running a 96MB GPU memory split (96MB for GPU, rest for CPU), and have ran fine with 64MB GPU as well.

    MVC2 runs playable for me but not full speed for sure.

    #99259
    Profile photo of free5ty1e
    free5ty1e
    Participant

    Ooh try MVC1, smoothest 2 player fighting experience I’ve seen so far 😀

    #99261
    Profile photo of dishins
    dishins
    Participant

    So, you might want to give it a go manually, without the help of the RetroPie-Setup scripts. Or actually, you might just need to update your RetroPie-Setup repo! Try sudo ~/RetroPie-Setup/retropie_setup.sh and select the U Update RetroPie-Setup script option and then restart the Pi, and try building the Dreamcast emulator again.

    i’ll definitely try this out later, i think the problem is that im on top of an OSMC install (which is based no straight debian instead of raspbian) so it probably has some wrong or uninstalled dependencies, i had to compile your build in my other SD card with 2.6 Retropie and then move the binaries to my newest OSMC install but hey, dreamcast is worth the effort 🙂

    trying MVC1 now!

    • This reply was modified 1 year, 10 months ago by Profile photo of dishins dishins.
    #99264
    Profile photo of labelwhore
    labelwhore
    Participant

    Does anyone know if it’s possible to set the frameskip value in emu.cfg? It’s supposed to be available from a config menu, but I’m not really sure how to access that. I wanted to mess with that setting to see if things run a little better with it on.

    http://forums.reicast.com/index.php?topic=72.0

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #99265
    Profile photo of Omnija
    Omnija
    Participant

    What’s the performance like for power stone?

    #99514
    Profile photo of free5ty1e
    free5ty1e
    Participant

    Frameskip: No, I have poked around the code for frameskip and it appears to be somewhat implemented but disabled completely. Not sure if what is in place actually works, but it definitely should be brought out to an emu.cfg setting. I’ll look into doing this.

    Powerstone: Haven’t tried it. Let me know if you do!

    ———————————

    Reicast new beta branch: free5ty1e/rpi2/vmus-in-home-dir

    Moar progress on Reicast. Better stability, VMUs and emu.cfg and BIOS files now reside in /home/pi/.reicast
    NOTE: YOU WILL NEED TO PLACE YOUR BIOS FILES OR LINKS TO THEM IN A NEW LOCATION: /home/pi/.reicast/data/

    I’ve been able to have a Dreamcast game going on for several additional hours before some memory leak decides to confuse the Pi into crashing; instead of just 1 or 2 hours, I now am able to get a good 4-6 hours in before a crash!

    Additionally, since the VMUs are no longer in memory while the Dreamcast is running, any saved games are written immediately and correctly to the SD card (instead of potentially being lost if the Pi crashes before the exit script can update your VMU files from the tmpfs). No need to have VMU files in the /opt/retropie/emulators/reicast/ folder, smaller memory footprint and all that.

    For completeness, here’s my mapping section for my genuine PS3 controller connected via my CSR 4.0 bluetooth adapter, added to emu.cfg:

    UPDATED

    
    [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_Y
    

    You can add as many of these sections to the emu.cfg as you’d like, and if you have a matching controller name connected during Reicast startup, your custom button maps will be applied (overlaid, actually) to the default map.

    Post your configs! 😀

    Here’s the updated script I’m using to build and install Reicast from my github repo (still piggybacking on the RetroPie script awesomeness)

    UPDATED

    
    #!/bin/bash
    echo "Temporarily modifying RetroPie module..."
    sed -i '/gitPullOrClone/c\gitPullOrClone "$md_build" https://github.com/free5ty1e/reicast-emulator.git free5ty1e/rpi2/vmus-in-home-dir' ~/RetroPie-Setup/scriptmodules/emulators/reicast.sh
    
    echo "Requesting a build through official RetroPie calls..."
    sudo ~/RetroPie-Setup/retropie_packages.sh reicast
    
    echo "Restoring original RetroPie-Setup state..."
    pushd ~/RetroPie-Setup
    git reset --hard
    popd
    

    Here is the launch script — let’s call it /home/pi/dreamcast.sh — that I am using to run Reicast smoothly with no visual stuttering / pausing (uses tmpfs to run in memory and not allocate virtual memory on the SD card. Audio is still not that smooth. I am also thinking the tmpfs size can be dropped down further, was 512MB is now 450MB, I’ve only ever seen ~60MB used… let me know if someone plays with this number with good results):

    UPDATED

    
    #!/bin/bash
    pushd /opt/retropie/emulators/reicast
    echo Reading the entire Reicast emulator into memory to execute from there...
    sudo mkdir tmpfs
    sudo mount -o size=450M -t tmpfs none tmpfs/
    sudo cp -v * tmpfs/
    cd tmpfs
    sudo aoss ./reicast.elf -config config:homedir=/home/pi -config config:image="$1"
    cd ..
    echo Ensuring any freshly-created VMUs are owned by pi and not root...
    sudo chown -R pi:pi .reicast
    echo Freeing up memory...
    sudo umount /opt/retropie/emulators/reicast/tmpfs
    sudo rm -rf tmpfs
    popd
    

    …and here is the entry for your es_systems.cfg to launch via this script in EmulationStation, for completeness:

    UNCHANGED

    
        <system>
            <fullname>Sega Dreamcast - Reicast</fullname>
            <name>dreamcast</name>
            <path>~/RetroPie/roms/dreamcast</path>
            <extension>.cdi .CDI</extension>
            <command>/opt/retropie/supplementary/runcommand/runcommand.sh 0 "/home/pi/dreamcast.sh %ROM%" "dreamcast"</command>
            <platform>dreamcast</platform>
            <theme>dreamcast</theme>
        </system>
    

    Enjoy!

    • This reply was modified 1 year, 10 months ago by Profile photo of free5ty1e free5ty1e. Reason: info about tmpfs sizing
    • This reply was modified 1 year, 10 months ago by Profile photo of free5ty1e free5ty1e. Reason: formatting
    • This reply was modified 1 year, 10 months ago by Profile photo of free5ty1e free5ty1e. Reason: Removed ps3 mapping for axis to dpad2 as this is undefined behiavor and may be causing issues
    • This reply was modified 1 year, 10 months ago by Profile photo of free5ty1e free5ty1e. Reason: now changing ownership to pi on vmus in launch script
    #99522
    Profile photo of labelwhore
    labelwhore
    Participant

    Thank you for all your work on this. Dreamcast is one of my favorite consoles by far!

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #99545
    Profile photo of free5ty1e
    free5ty1e
    Participant

    No problem! Dreamcast epicness must live on in the Pi!

    I’m about to the point where I think its time to update the official experimental RetroPie Reicast module, and create a branch to always keep updated for RetroPie to use (something maybe like free5ty1e/rpi2/retropie-reicast-updated). It’s stable and improved enough that this would be worth it, then future updates will be easy enough to roll out…

    • This reply was modified 1 year, 10 months ago by Profile photo of free5ty1e free5ty1e.
    #99546
    Profile photo of karloss
    karloss
    Participant

    Love the work your doing mate, new brach sounds good 🙂

    #99549
    Profile photo of free5ty1e
    free5ty1e
    Participant

    New branch free5ty1e/rpi2/retropie-reicast-updated created and pull request for upstream / original Reicast created.

    I’ll update the RetroPie module later when I get a chance 😀

    #99644
    Profile photo of free5ty1e
    free5ty1e
    Participant

    Pull request submitted to RetroPie for review 😀

    #99646
    Profile photo of karloss
    karloss
    Participant

    Legend..

    #99661
    Profile photo of free5ty1e
    free5ty1e
    Participant

    Got this merged into RetroPie just now, so all you have to do now to enjoy the latest Dreamcast fixes is to run the RetroPie menu’s Experimental installer for Reicast, which now points to my free5ty1e/rpi2/retropie-reicast-updated branch!

    I’ll still post here when I make progress 😀

    • This reply was modified 1 year, 10 months ago by Profile photo of free5ty1e free5ty1e. Reason: Fixed link
    #99663
    Profile photo of free5ty1e
    free5ty1e
    Participant

    (of course don’t forget to update your RetroPie-Setup script from the same menu!)

    #99677
    Profile photo of karloss
    karloss
    Participant

    Have just reinstalled using the experimental section of the latest version of the RetroPie-Setup, everything seems to be working fine..

    Great work 🙂

    #99684
    Profile photo of labelwhore
    labelwhore
    Participant

    Awesome! I’ll be updating Reicast tonight then. 🙂

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    #99691
    Profile photo of karloss
    karloss
    Participant

    Infact, I have just updated my dreamcast.sh file with –

    
    #!/bin/bash
    pushd /opt/retropie/emulators/reicast
    echo Reading the entire Reicast emulator into memory to execute from there...
    sudo mkdir tmpfs
    sudo mount -o size=450M -t tmpfs none tmpfs/
    sudo cp -v * tmpfs/
    cd tmpfs
    sudo aoss ./reicast.elf -config config:homedir=/home/pi -config config:image="$1"
    cd ..
    echo Ensuring any freshly-created VMUs are owned by pi and not root...
    sudo chown -R pi:pi .reicast
    echo Freeing up memory...
    sudo umount /opt/retropie/emulators/reicast/tmpfs
    sudo rm -rf tmpfs
    popd
    

    and now my games won’t boot?

    I just tried setting the esystems back to the standard launch and that doesn’t work either

    <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>'

    I will try and reinstall and see what happens.. 🙁

    • This reply was modified 1 year, 10 months ago by Profile photo of karloss karloss.
    • This reply was modified 1 year, 10 months ago by Profile photo of karloss karloss.
    • This reply was modified 1 year, 10 months ago by Profile photo of karloss karloss.
    #99708
    Profile photo of free5ty1e
    free5ty1e
    Participant

    If you haven’t already moved your Dreamcast BIOS files into ~/.reicast/data/ then that would do it. The new version is now using the home folder.

    There was also a brief period with a launch bug after the change was merged to RetroPie, but that is now fixed. If you haven’t tried already, update your RetroPie Setup to the latest and try rebuilding the emulator.

    I can’t think of anything else that would cause your games to not boot, hopefully this helps!!

    #99711
    Profile photo of free5ty1e
    free5ty1e
    Participant

    I updated the wiki too in case that helps anyone:

    https://github.com/retropie/RetroPie-Setup/wiki/Dreamcast

    #99712
    Profile photo of brainfever
    brainfever
    Participant

    Okay, first off – thank you! It is incredible being able to play Dreamcast games in Retropie.

    I am having a problem though … I’ve followed the instructions, and I believe I have the newest version of everything. I have Marvel vs Capcom 2 running successfully (yay!) and I was able to edit the controls to my liking with emu.cfg.

    However, I’m having an issue with the VMU. The first time I run the emulator, it makes all the virtual VMU files (I can see them in then /.reicast directory), but when I launch the game again, it says that no VMU is inserted/not enough blocks available. If I delete the VMU files, the game “finds” the VMU and is able to save again, but when I close and re-open the game, the same problem happens (no VMU/not enough blocks).

    **EDIT** After playing around with this some more, it seems that the games can “see” the VMUs, as I can access them from the games’ VMU options, but after I’ve saved to one of the virtual VMUs once, the next time I load the game, they are now “full” but nothing can be loaded from them either.

    It’s probably also worth noting that I had to manually change the permission for the /.reicast directory to “pi:pi” in order to be able to put the bios files into the “data” directory.

    Any idea what could be happening here or how I could fix it? Thanks again for all the hard work to help make playing this stuff possible at all!

    • This reply was modified 1 year, 10 months ago by Profile photo of brainfever brainfever.
    #99713
    Profile photo of karloss
    karloss
    Participant

    Fixed my issue, the bios wasn’t in the data folder, just the reicast folder 🙂

    #99715
    Profile photo of free5ty1e
    free5ty1e
    Participant

    Okay, first off – thank you! It is incredible being able to play Dreamcast games in Retropie.

    I am having a problem though … I’ve followed the instructions, and I believe I have the newest version of everything. I have Marvel vs Capcom 2 running successfully (yay!) and I was able to edit the controls to my liking with emu.cfg.

    However, I’m having an issue with the VMU. The first time I run the emulator, it makes all the virtual VMU files (I can see them in then /.reicast directory), but when I launch the game again, it says that no VMU is inserted/not enough blocks available. If I delete the VMU files, the game “finds” the VMU and is able to save again, but when I close and re-open the game, the same problem happens (no VMU/not enough blocks).

    **EDIT** After playing around with this some more, it seems that the games can “see” the VMUs, as I can access them from the games’ VMU options, but after I’ve saved to one of the virtual VMUs once, the next time I load the game, they are now “full” but nothing can be loaded from them either.

    It’s probably also worth noting that I had to manually change the permission for the /.reicast directory to “pi:pi” in order to be able to put the bios files into the “data” directory.

    Any idea what could be happening here or how I could fix it? Thanks again for all the hard work to help make playing this stuff possible at all!

    No problem! This is an issue I’ve run into before as well — sometimes, the VMU files don’t get formatted correctly upon creation. Fortunately, just requires the Dreamcast OS to reformat the VMU and you’re good to go!

    You just got me thinking how to make this easy for everyone, and I’ve come up with a solution! Need to launch the Dreamcast as if there were no CD inserted. Here’s a trick to do that from EmulationStation’s Dreamcast menu…

    Go to a terminal on the Pi (or remotely, whatever) and type in:

    
    ln -sv fileThatDoesNotExist ~/RetroPie/roms/dreamcast/systemManager.cdi
    

    Then restart EmulationStation. You should notice a SYSTEMMANAGER entry in the Dreamcast menu now, select it and you will get to the menu you need. Select File and you can manage your VMUs here… “Erase All” will reformat a VMU. This should sort your issue… and I’ve put in a pull request to RetroPie to get this added to the installation procedure.

    • This reply was modified 1 year, 10 months ago by Profile photo of free5ty1e free5ty1e. Reason: Added pull request link
    #99717
    Profile photo of brainfever
    brainfever
    Participant

    Awesome, fantastic! After “formatting” the VMU, I was able to make a save file in MvC2, and it loaded again the next time I launched the game. Which is awesome, and makes it possible to unlock some characters! Thanks so much for your help!

    I’ll also add that I was able to run Project Justice and Capcom vs SNK successfully … CvS is pretty choppy, but Project Justice runs quite well.

    I’ll be watching this thread for further updates – this is all very cool 🙂

    #99718
    Profile photo of labelwhore
    labelwhore
    Participant

    Just a heads up, that when I formatted the VMUs, the first 3 didn’t format correctly. I ended up copying the 4th one and renamed it to overwrite the first 3.

    @brainfever were the framerates on the CSes ok in Project Justice? I was playing it the other day, and while the actual gamepplay was fine, the CSes were very choppy. But that was like 3 updates ago.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    • This reply was modified 1 year, 10 months ago by Profile photo of labelwhore labelwhore.
    #99719
    Profile photo of free5ty1e
    free5ty1e
    Participant

    Ooh, Rival Schools runs well?? I’m gonna find my copy nao!!

    #99721
    Profile photo of free5ty1e
    free5ty1e
    Participant

    Just a heads up, that when I formatted the VMUs, the first 3 didn’t format correctly. I ended up copying the 4th one and renamed it to overwrite the first 3.

    Wonder what’s going on there? Was it perhaps after having played the Dreamcast for a bit without rebooting? I’ve noticed some strange behavior after exiting the emulator that was solved by rebooting … still unsure where the Reicast memory leak is but it’s doin something the OS doesn’t like sometimes!

    I did reboot before formatting my VMUs to fix that problem the first time I ran into it, so this is good to be aware of.

    #99722
    Profile photo of labelwhore
    labelwhore
    Participant

    Ooh, Rival Schools runs well?? I’m gonna find my copy nao!!

    I imagine it does since Project Justice runs pretty well.

    As far as when I formatted the VMUs, my Pi was not actually running long. I powered it up, did the update checked a few games, a couple mins each, then worked on the VMUs. My Pi couldn’t have been on for more than an hour and a half, and maybe 30 mins of that was Reicast actually running.

    I though it was kinda strange, especially since all the other VMUs worked perfectly. It was an easy fix, regardless.

    http://www.th3rdwave.com/tracks/
    ^^ my other hobby

    • This reply was modified 1 year, 10 months ago by Profile photo of labelwhore labelwhore.
    • This reply was modified 1 year, 10 months ago by Profile photo of labelwhore labelwhore.
    • This reply was modified 1 year, 10 months ago by Profile photo of labelwhore labelwhore.
    #99726
    Profile photo of free5ty1e
    free5ty1e
    Participant

    Wierd. Agreed, good fix – at least 1 of the 8 generated VMUs should work, at which point just duplicate and rename the working one.

    At some point I’ll probably notice why this happens in the first place and do something about it.

    #99882
    Profile photo of free5ty1e
    free5ty1e
    Participant

    I believe I’ve made some good progress towards stability and sorting out the audio issues, although the audio is still choppy…

    There are two pull requests that have been sitting in the Reicast repo for a bit now, and they have some nice compiler warning fixes and an audio system rework and reorganization.

    No idea how long it will be until they are merged in and such upstream, but I took it upon myself to merge these fixes into my latest experimental branch free5ty1e/rpi2/sound-fixes if anyone wants to check it out. I’ve been testing it out like this most of the day yesterday and found it nice and stable, much longer before a crash.

    The audio backends are much more organized now too, so hopefully this will enable some sound choppiness fixes to be developed in the near future. I will probably go ahead and merge this into the main RetroPie branch this week at some point unless someone tests and finds a new issue that this might have caused.

    #99892
    Profile photo of karloss
    karloss
    Participant

    Just trying the new build, i just modified your script to use sound-fixes instead of vmus-in-home.

    Will let you know tonight..

    #99907
    Profile photo of free5ty1e
    free5ty1e
    Participant

    I’ve recreated the Reicast pull request from a separate branch from the one used for RetroPie builds, so I am free to merge in others’ pull requests for experimentation and improvement purposes while the Reicast repo takes its time getting pull requests merged upstream. (I want to move faster than upstream, lol)

    https://github.com/reicast/reicast-emulator/pull/670

    (This merely enables me to do as I said in the above post, and merge in others’ improvements for RetroPie to build without contaminating my Reicast upstream pull request)

    Let me know if anyone encounters new issues with the latest experiment in the above post, I’ll get it merged into RetroPie for mass testing later this week if nothing major comes up.

    Thanks!!

    #99924
    Profile photo of Djinny
    Djinny
    Participant

    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.

    For some reason people don't reply to my threads or posts. I seem to be a thread killer. I type correctly and my points, ideas, and requests are valid. So not sure why the famed Raspberry Pi community is all about linking to another persons post.

    • This reply was modified 1 year, 10 months ago by Profile photo of Djinny Djinny.
Viewing 35 posts - 36 through 70 (of 111 total)

Forums are currently read only - please visit the new RetroPie forums at https://retropie.org.uk/forums/

Skip to toolbar