RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    Raspberry Pi 4B 4GB and the Sega Saturn

    Scheduled Pinned Locked Moved Ideas and Development
    saturnemulationimprovement
    234 Posts 43 Posters 76.1k 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.
    • P
      phialek @dankcushions
      last edited by

      @dankcushions

      Ah ok i understand.

      To be honest if there was at least a clear instruction how to install it, that would help a lot of people. I think it took me 3 hours to find the github and instructions to get it running. Until now that's the only way saturn games are playable and most people think the pi is too weak for saturn, which its not.

      1 Reply Last reply Reply Quote 1
      • B
        barbudreadmon @phialek
        last edited by

        @phialek said in Raspberry Pi 4B 4GB and the Sega Saturn:

        Every game which wasnt playable with yabause is now fullyplayable. Even daytona usa (2x resolution) and sega rally (1x)

        Well, last time i saw a video of sega rally on pi4 with the libretro core version of yabasanshiro, it was frameskipping like crazy, considering how the frameskip was heavily noticeable (frameskip is when the emulator will skip the rendering of a frame to try to keep up with the original speed of the emulated game), it was probably way below 30 fps, that was indeed playable but not something i would call enjoyable. Usage of the standalone version will guarantee a way better performance.

        FBNeo developer - github - forum

        M 1 Reply Last reply Reply Quote 0
        • M
          mechafatnick @barbudreadmon
          last edited by

          @barbudreadmon If i remember there are one or two games that actually seem to play better with the LR version, but mostlt you desperately need stand alone.

          Has anyone managed to remap the keys on the standalone? I have a short cut to kill it on my phone but it isn't an ideal solution

          B 1 Reply Last reply Reply Quote 0
          • B
            barbudreadmon @mechafatnick
            last edited by

            @mechafatnick said in Raspberry Pi 4B 4GB and the Sega Saturn:

            If i remember there are one or two games that actually seem to play better with the LR version

            Codebase was very hacky and totally unfriendly for a libretroization, and because of that a number of things had to be disabled in the libretro port, most notably the way standalone handles video rendering on a sub-thread to improve performance. There might be edge cases where those changes unexpectedly improved the performance instead, but overall between that and the overhead induced by libretro on gl-rendered cores, standalone will be way faster.

            FBNeo developer - github - forum

            sergioadS 1 Reply Last reply Reply Quote 0
            • sergioadS
              sergioad @barbudreadmon
              last edited by

              @barbudreadmon what is the best overclock for Saturn?

              1 Reply Last reply Reply Quote 0
              • Genos98G
                Genos98
                last edited by

                Any idiot proof guide to installing the standalone? I'm using lr-yabashanshiro, it's decent but some games aren't or barely working.

                dankcushionsD 1 Reply Last reply Reply Quote 0
                • dankcushionsD
                  dankcushions Global Moderator @Genos98
                  last edited by

                  @genos98 please read above - there is no install script for standalone yabasanshiro on retropie.

                  1 Reply Last reply Reply Quote 1
                  • prince_rakeemP
                    prince_rakeem
                    last edited by

                    Hi All,

                    I am attempting to install lr-yabasanshiro on my Pi4 using the script and diff file located here. The 01_shader_hack_rpi4.diff is failing to apply.

                    Is there a way to fix this?

                    Snippet of RetroPie-Setup logs below:

                    Checking out files: 100% (1988/1988), done.
                    Submodule 'ext/eigen' (https://github.com/libigl/eigen.git) registered for path 'yabause/src/retro_arena/nanogui-sdl/ext/eigen'
                    Cloning into '/home/pi/RetroPie-Setup/tmp/build/lr-yabasanshiro/yabause/src/retro_arena/nanogui-sdl/ext/eigen'...
                    Submodule path 'yabause/src/retro_arena/nanogui-sdl/ext/eigen': checked out 'c34a9130bc585b288703bd9716d7efae194974e2'
                    Winding back https://github.com/libretro/yabause.git->yabasanshiro to commit: #73c67668
                    Switched to a new branch '73c67668'
                    HEAD is now in branch '73c67668' at commit '73c676680f753e10bfd53ecaf01293ac34b4a678'
                    patching file yabause/src/yglshaderes.c
                    Hunk #1 FAILED at 297 (different line endings).
                    Hunk #2 FAILED at 319 (different line endings).
                    Hunk #3 FAILED at 408 (different line endings).
                    Hunk #4 FAILED at 467 (different line endings).
                    Hunk #5 FAILED at 553 (different line endings).
                    Hunk #6 FAILED at 1327 (different line endings).
                    Hunk #7 FAILED at 1392 (different line endings).
                    Hunk #8 FAILED at 1495 (different line endings).
                    Hunk #9 FAILED at 1605 (different line endings).
                    Hunk #10 FAILED at 1758 (different line endings).
                    Hunk #11 FAILED at 1818 (different line endings).
                    Hunk #12 FAILED at 1826 (different line endings).
                    Hunk #13 FAILED at 1944 (different line endings).
                    Hunk #14 FAILED at 1953 (different line endings).
                    Hunk #15 FAILED at 2072 (different line endings).
                    Hunk #16 FAILED at 2528 (different line endings).
                    Hunk #17 FAILED at 2634 (different line endings).
                    17 out of 17 hunks FAILED -- saving rejects to file yabause/src/yglshaderes.c.rej
                    lr-yabasanshiro patch /home/pi/RetroPie-Setup/scriptmodules/libretrocores/lr-yabasanshiro/01_shader_hack_rpi4.diff failed to apply
                    /home/pi
                    
                    prince_rakeemP 1 Reply Last reply Reply Quote 0
                    • prince_rakeemP
                      prince_rakeem @prince_rakeem
                      last edited by

                      Answered my own question using the script and diff files here which were mentioned in this post :)

                      windgW 1 Reply Last reply Reply Quote 0
                      • windgW
                        windg @prince_rakeem
                        last edited by windg

                        @prince_rakeem The standalone version of Yabasanshiro is available in the experimental packages of RetroPie. I think is faster from the libretro variant.

                        My English isn't at a good level.

                        prince_rakeemP 1 Reply Last reply Reply Quote 0
                        • prince_rakeemP
                          prince_rakeem @windg
                          last edited by

                          @windg Yes, thank you. I have the standalone installed as well. I was doing a comparison on performance and for the handful of games that I am looking to play the libretro version is good enough as I need it to be able to add overlays. The only missing piece to the puzzle is mouse/lightgun support.

                          C 1 Reply Last reply Reply Quote 0
                          • C
                            ChaosEffect @prince_rakeem
                            last edited by ChaosEffect

                            Hey, all. I am aware that lr-yabasanshiro is considered buggy and that the installation script linked above requires Raspberry Pi users to be on a commit from July 2020 to work.

                            Still, this version offers pretty good performance from a handful of Saturn lightgun games on an overclocked Raspberry Pi 4 that don't run very well in lr-yabause or lr-beetle-saturn (which already has lightgun support) for me. I wanted to try contributing for once instead of constantly asking for things, so I tried my hand at adding lightgun support based on the code used to add the mouse to lr-yabause:

                            https://github.com/StormedBubbles/yabause/tree/sinden

                            I can assign the lightgun to ports 1 and 2 and also assign the trigger and start buttons for each player separately in the RetroArch menu (multi-mouse works), but all shots register as offscreen whether I try to use a regular mouse or a Sinden lightgun. This occurred while testing "The House of the Dead."

                            My guess was that the (invisible) cursor is trapped in a corner of the screen, so I tried scaling the coordinates based on the emulator's current_width and current_height variables as well as the 0–65535 range that I found for absolute mouse coordinates while reading through various guides. However, that didn't work.

                            Making guesses at things and re-compiling is definitely NOT the way to go about this, so I'm curious if anyone has any insight. Hopefully, this can work out so that the lightgun support can even be added to the upstream lr-yabasanshiro and lr-yabause and Raspberry Pi users can eventually use the up-to-date lr-yabasanshiro.

                            I am also known as "StormedBubbles"

                            1 Reply Last reply Reply Quote 0
                            • prince_rakeemP
                              prince_rakeem
                              last edited by

                              Hi All,

                              I noticed that lr-yabause has an option for "saturn mouse" in retroarch. I tried configuring a mouse, was able to get games to recognize that a mouse was connected (shows up in-game menus), but it seems the core does not detect any mouse movements on-screen. I tried changing mouse indices which didn't seem to make a difference. I am not sure if I am missing something or the mouse implementation is incomplete. Any suggestions?

                              B 1 Reply Last reply Reply Quote 0
                              • B
                                barbudreadmon @prince_rakeem
                                last edited by

                                @prince_rakeem what's the game you tried ? are you sure that game supports saturn mouse ?

                                FBNeo developer - github - forum

                                prince_rakeemP 1 Reply Last reply Reply Quote 0
                                • prince_rakeemP
                                  prince_rakeem @barbudreadmon
                                  last edited by prince_rakeem

                                  @barbudreadmon I was trying chaos control. If you go into options there is a setting called 'mouse' which can be set to low, medium and high. Without a mouse detected the option is greyed out, but when set to mouse in RA this option becomes available and can be adjusted. There just doesn't seem to be any mouse movement in the menus or in-game when mouse is enabled in RA. A few other games that I believe support a mouse are Mighty Hits and Virtua Cop 1+2 which I would like to get working.

                                  B 1 Reply Last reply Reply Quote 0
                                  • B
                                    barbudreadmon @prince_rakeem
                                    last edited by

                                    @prince_rakeem I confirm "Saturn Mouse" is working properly with the yabause libretro core, i remembered it was among the things i backported from the Kronos libretro core but i wasn't sure if i properly tested it. So this isn't a core issue, i can only guess you have a setup related issue.

                                    FBNeo developer - github - forum

                                    C 1 Reply Last reply Reply Quote 0
                                    • C
                                      ChaosEffect @barbudreadmon
                                      last edited by

                                      @barbudreadmon Hi again.

                                      I was experiencing the same issue as @prince_rakeem and found that disabling the HLE BIOS allows the mouse to work with Chaos Control Remix. However, there is an issue with the mouse's start button. The code defines this as

                                      (input_state_cb_wrapper(i, RETRO_DEVICE_JOYPAD, 0, RETRO_DEVICE_ID_JOYPAD_START) || input_state_cb_wrapper(i, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_BUTTON_4) || input_state_cb_wrapper(i, RETRO_DEVICE_MOUSE, 0, RETRO_DEVICE_ID_MOUSE_BUTTON_5) ? PerKeyDown((i << 8) + PERMOUSE_START) : PerKeyUp((i << 8) + PERMOUSE_START));

                                      However, I find that I need to set the input type to a regular controller to use a start button to get into the main menu from the title screen. From there, the mouse can navigate the menu with its XY movement and select with the mouse buttons. I tried tinkering with the code but can't seem to get the start button to register while in mouse mode.

                                      I am also known as "StormedBubbles"

                                      B 1 Reply Last reply Reply Quote 0
                                      • B
                                        barbudreadmon @ChaosEffect
                                        last edited by barbudreadmon

                                        @ChaosEffect said in Raspberry Pi 4B 4GB and the Sega Saturn:

                                        HLE BIOS

                                        The first rule of emulators that have a HLE bios is to install a real bios and use it instead, those HLE bios are always broken in some way.

                                        About that start button issue, it seems this game won't recognize the saturn mouse before the title screen (specifically, it doesn't work on the language selection screen), i suppose that's how that game was programmed, there is nothing i can do about this.

                                        FBNeo developer - github - forum

                                        C 1 Reply Last reply Reply Quote 1
                                        • C
                                          ChaosEffect @barbudreadmon
                                          last edited by ChaosEffect

                                          @barbudreadmon Thanks! I was looking at the HLE BIOS as more of a "skip intro" option 😆.

                                          The mouse code for lr-yabause that was brought over from lr-kronos also functions fine in lr-yabasanshiro. My hope is that the lightgun stuff is compatible across all three too.

                                          The code I tested for lightguns in lr-yabasanshiro was just that lr-kronos mouse code with the appropriate gun entities from /yabause/src/peripheral.c substituted in. The buttons work for both players, but I'm lost with trying to get the coordinate tracking to work by connecting the RETRO_DEVICE_ID_LIGHTGUN_SCREEN_X and RETRO_DEVICE_ID_LIGHTGUN_SCREEN_Y RetroArch entities to Yabause's gun axes.

                                          If someone gets the itch to look into that, I imagine the lightgun feature would be good to go for lr-kronos, lr-yabause, and lr-yabasanshiro.

                                          I am also known as "StormedBubbles"

                                          B 1 Reply Last reply Reply Quote 0
                                          • B
                                            barbudreadmon @ChaosEffect
                                            last edited by

                                            @ChaosEffect said in Raspberry Pi 4B 4GB and the Sega Saturn:

                                            lr-yabasanshiro

                                            I stopped contributing to that project for all the reasons previously explained (with the main one being that it's breaking yabause's GPL license), but you are free to backport my code, i don't care as long as no one ask me to support this crap.

                                            FBNeo developer - github - forum

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