RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Is Yabasanshiro emulator coming on retropie?

    Scheduled Pinned Locked Moved Help and Support
    sega saturnemulator
    362 Posts 37 Posters 393.9k 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.
    • roslofR
      roslof
      last edited by roslof

      Good evening (morning),

      Troubleshooting Requested:

      I'm very interested in the effort here and completely realize this is incredibly early. I did jump in and attempt to run Yabasanshiro on my RPi4B (everything else in the world is running fine on it, BTW).

      I had no trouble compiling/patching/installing with the lr-yabasanshiro module linked above. I copied relevant (and MD5 verified) BIOS files to a /yabasanshiro subfolder within BIOS, as directed by the module help.

      Regardless of ROM (CD image) (.chd or cue/bin) I'm getting a black screen and hang. /dev/shm/runcommand.log tails with this:

      [INFO] [GL]: VSync => off
      [INFO] SET_GEOMETRY: 320x224, aspect: 1.333.
      [INFO] [KMS]: New FB: 1920x1080 (stride: 7680).
      [INFO] [RCHEEVOS]: Load task finished
      

      There are no significant Errors, Fatals or missing files noted in the log. At this point, I have to kill -9 RetroArch.

      These CD images work fine with lr-yabause, so I know the problem is somewhere else on my side. User error, so to speak... (ugh).

      Are there any other special dependencies I might be missing? Driver change or upgrade?

      1 Reply Last reply Reply Quote 0
      • GeekOBG
        GeekOB @Darksavior
        last edited by

        Hi @Darksavior
        Unfortunately I get the following error:

        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).
        patch unexpectedly ends in middle of line
        Hunk #17 FAILED at 2634 (different line endings).
        17 out of 17 hunks FAILED -- saving rejects to file yabause/src/yglshaderes.c.rej
        /home/pi
        lr-yabasanshiro patch /home/pi/RetroPie-Setup/scriptmodules/libretrocores/lr-yabasanshiro/01_shader_hack_rpi4.diff failed to apply
        

        Any idea why this could happen? Did I miss a step?

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

          @Darksavior said in Is Yabasanshiro emulator coming on retropie?:

          Oc'd to 1900Mhz.

          I expect gpu to be the main bottleneck for yabansanshiro

          FBNeo developer - github - forum

          1 Reply Last reply Reply Quote 1
          • S
            steeeb @BuZz
            last edited by

            @BuZz thanks!

            Did anyone manage to get the non-LR version to build? As that might offer better frame rates. I've got it to build and it leaves a yabasanshiro.a file that I can't seem to get to play a game - so I think I have the wrong build options.

            https://github.com/devmiyax/yabause

            Also, Retro Arena paid devmiyax to port it to the XU4 - there module (annoyingly they forked it and "branded" it and won't push anything upstream to here - but it's obvious what the change is) - the repo they point at is just a fork with a libpng fix https://github.com/Retro-Arena/RetroArena-Setup/blob/stable/scriptmodules/emulators/yabause.sh

            I think that's probably the best route to get playable games at this time - the input config file looks fairly compatible too plus i think it tries to auto configure inputs if there is no config - devmiyax did have a vulkan branch - no idea how far he got - but when/if pi4 gets decent vulkan drivers that might be the only way a libretro Saturn emulator might be playable for 3D games.

            pjftP R 2 Replies Last reply Reply Quote 1
            • DarksaviorD
              Darksavior @GeekOB
              last edited by Darksavior

              @GeekOB Did you make the folder and transferred the .diff file as noted in the error message? No issues building here.

              @roslof My saturn bios is in /home/pi/RetroPie/BIOS/
              I use CHD. The compatibility isn't as good as yabause's. Super Tempo did not load for me.
              Astal requires the HLE bios for both emulators. It will not load with the real bios.

              roslofR 1 Reply Last reply Reply Quote 1
              • M
                mechafatnick
                last edited by

                Top work all! I'm amazed at how smoothly games like Sega Rally and Fighting Vipers run with it. There's a few graphical artefacts and some effects dont seem to work (the darkness effect in Elevator Action returns for example), but as my saturn has a dead drive i'll definitely take it as a way to get my Virtual On fix :D

                Has anyone got any STV games to load? I have the stvy bios in the folder, but it was trying to load it with the normal Saturn bios.

                some notes:

                -all games loaded from CHD.

                -Virtual Fighter remix has a weird bug where a punch can teleport you out of the arena (present in normal yabause - much improved here)

                -Virtual on seems to randomly turn to garbage sometimes if you hover on Raiden (works fine other times)

                -Quake worked fine in yabasanshiro (enemies didn't appear at all in normal yabause)

                -Sky Target has some gibberish down the side of the screen, but crucially it works and is playable :) (the plane didn't even appear on screen in normal yabause)

                B 1 Reply Last reply Reply Quote 0
                • pjftP
                  pjft @steeeb
                  last edited by

                  @steeeb I'm interested in this thread. We've gotten it to build with different options - based on the Retro Arena build scripts - but alas every time we got it to run it returned an EGL error, which made us suspect that we must be missing something obvious at compile time.

                  I tried even building the non-LR from the LR fork code, yabasanshiro branch, as we know that that one does work on the Pi given the correct compile options, but alas were unsuccessful.

                  These were the last steps I compiled for myself. I needed to install some of the boost dependencies that were not installed - even though the LR version compiled correctly without them, which is already a telltale sign that I'm probably compiling things that might not be needed:

                  [clone lr-yabasanshiro per Buzz's script. apply patch]
                  [cd to folder, mkdir build and cd build]
                  
                  in
                  ../yabause/src/retro_arena/CMakeLists.txt
                  add
                  set(CMAKE_CXX_LINK_FLAGS "${CMAKE_CXX_LINK_FLAGS} -latomic")
                  after
                  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
                  
                  export CFLAGS="-O2 -DGIT_VERSION=\""7ae0de7"\" -march=armv8-a+crc -mtune=cortex-a72 -mfpu=neon-fp-armv8 -mfloat-abi=hard -ftree-vectorize -funsafe-math-optimizations -pipe -marm -mfpu=neon -DARM -DHAVE_LIBGL -DVERSION=\"3.1.0\" -DHAVE_LROUND -D_7ZIP_ST -DFLAC__HAS_OGG=0 -DFLAC__NO_DLL -DNO_CLI -DHAVE_BUILTIN_BSWAP16=1 -DHAVE_BUILTIN_BSWAP32=1 -DHAVE_C99_VARIADIC_MACROS=1 -DHAVE_FLOORF=1 -DHAVE_GETTIMEOFDAY=1 -DHAVE_STDINT_H=1 -DHAVE_SYS_TIME_H=1 -DIMPROVED_SAVESTATES -DARCH_IS_LINUX=1 -DDYNAREC_DEVMIYAX=1 -ffast-math -DHAVE_GLSYM_PRIVATE -DHAVE_SYS_PARAM_H -DHAVE_MUSASHI=1 -D_OGLES3_ -DHAVE_OPENGLES -DHAVE_OPENGLES3 -O3"
                  
                  cmake ../yabause -DGIT_EXECUTABLE=/usr/bin/git -DYAB_PORTS=retro_arena -DYAB_WANT_DYNAREC_DEVMIYAX=ON -DCMAKE_TOOLCHAIN_FILE=../yabause/src/retro_arena/rp64.cmake -DCMAKE_INSTALL_PREFIX=/opt/retroarena/emulators/yabause/
                  
                  make
                  
                  ---- binary goes to build/src/retro_arena/yabasanshiro
                  

                  @Darksavior I tested some games - mostly Radiant Silvergun, Die Hard Arcade, and a bit of the Sega arcade games - Virtua Racing, Sega Rally, Virtua Cop 2. Virtua Cop 2 will slow down a lot, only run at around 40fps or so.

                  I'm OC'ed at 2000 and V3D at 750, which does seem to help the most. I have a fan as Saturn emulation on any of the current emulators just gets the temperature to 80 in almost no time, and then it starts throttling. As soon as V3D drops the game starts rendering much slower.

                  @barbudreadmon you're absolutely right indeed. CPU and V3D seem to be the main bottlenecks here, but to be honest it does run at almost 50-55fps for the most part, which is not bad. Would you have any perspective into what compilation flags are you using to get the correct drivers for the Pi to work? I'd expect that to be at the core level, and not at the libretro layer? Or am I completely off track trying to get it to compile from your fork?

                  Thanks all and happy Sunday.

                  S 1 Reply Last reply Reply Quote 1
                  • roslofR
                    roslof @Darksavior
                    last edited by

                    @Darksavior thank you. This is very unusual. I don't typically have issues like this. I would have thought it was related to BIOS, but everything seems to check out. Verbose logging yields nothing of interest. I did learn that removing the BIOS and having the BIOS yield the same results. Nothing in the log(s). Bizarre.

                    Symptom: With EmulationStation, launching emulator lr-yabasanshiro, the screen remains completely black. No Saturn system boot. No audio. Not a single pixel renders. Then it hangs. Must manually kill retroarch.

                    BIOS were placed in both ~/BIOS and ~/BIOS/Yabasanshiro:

                    stvbios.zip
                    md5: 53a094ad3a188f86de4e64624fe9b3ca

                    saturn_bios.bin
                    md5: af5828fdff51384f99b3c4926be27762

                    I did try several different versions of stvbios.zip, but other sites mentioned the one I posted above should be fine.

                    I've also tried:

                    • Nuking/rebuilding lr-yabasanshiro
                    • Different BIOS
                    • Different Saturn Disk Images
                    • Different formats (.chd, .cue/.bin)
                    • Latest MESA (which really hasn't changed in months)

                    Not sure how to troubleshoot beyond this. So odd...

                    1 Reply Last reply Reply Quote 0
                    • S
                      steeeb @pjft
                      last edited by

                      @pjft Yeah, that's how far I got, I tried setting USE_EGL to False in the cmake file and that didn't help (I went a different route, I've created a scriptmodule and create a rp4.cmake - but what we're doing is essentially the same.

                      I added -DFORCE_GLES (I saw in the libretro CMAKE it has this for ARM) and I now just get a black screen.

                      In any case, I've not been through the build log, or the code properly but is it perhaps using it's own SDL or something rather than our SDL with KMS/DRM?

                      I don't know enough about how all that works, but thought I'd post my findings in any case as I'm sure there are people that do know and may know how to solve it!

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

                        @mechafatnick said in Is Yabasanshiro emulator coming on retropie?:

                        Has anyone got any STV games to load?

                        @roslof said in Is Yabasanshiro emulator coming on retropie?:

                        stvbios.zip
                        md5: 53a094ad3a188f86de4e64624fe9b3ca

                        idk who told you yabasanshiro supported STV but that's not the case, yabasanshiro is not kronos

                        FBNeo developer - github - forum

                        roslofR 1 Reply Last reply Reply Quote 0
                        • roslofR
                          roslof @barbudreadmon
                          last edited by

                          @barbudreadmon thank you. It's listed as a required BIOS file in the script module. Must be an error. One less thing to worry about.

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

                            @barbudreadmon Yeah i didn't think it did! I was surprised to see it mentioned in the installer's help section. Guess that explains why it didn't work :D

                            1 Reply Last reply Reply Quote 1
                            • BuZzB
                              BuZz administrators
                              last edited by

                              Just to note - The module is draft - it's based on the yabause one so the help needs to be tweaked. I'm also not suggesting the fixes are correct or that I will be including this as it is currently in RetroPie.

                              To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                              S 1 Reply Last reply Reply Quote 2
                              • S
                                steeeb @BuZz
                                last edited by

                                @BuZz there's definately a few other issues it seems - will add them upstream to yaba once they've seen the PR and can comment - from what you have done it might be enough information to go off as to what exactly is happening and the best fix

                                BuZzB 1 Reply Last reply Reply Quote 0
                                • BuZzB
                                  BuZz administrators @steeeb
                                  last edited by BuZz

                                  @steeeb I've already fed it upstream (no PR. It's not a valid fix).

                                  https://github.com/devmiyax/yabause/issues/737

                                  To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

                                  1 Reply Last reply Reply Quote 0
                                  • roslofR
                                    roslof @steeeb
                                    last edited by roslof

                                    Regarding lr-yabasanshiro,

                                    Been beating myself up trying to get past a black screen issue w/freeze on my Pi4B. At this time, I have yet to see a render. Wondering if anybody is aware of any dependencies for the lr- version that I might be missing. Certain that this is not a BIOS issue or configuration issue. Tried several things to try to get past this (re-installed all RetroPie dependancies, reset RetroArch settings, nuked previous installs of yabasanshiro and yabause... etc.)

                                    When attempting to launch any ROM image, after the launching.png image appears and goes away, the screen is black and hangs, never rendering anything and never returning to ES.

                                    runcommand.log shows nothing unusual (even with verbose logging).
                                    During the hang, for the task, ps all shows WCHAN "flush_" and STAT as "DLl+". Other than this, I'm unaware of a way to get more data.

                                    Sounds like others are getting this to render, so I'm optimistic, and hoping to get a lead on what might be happening here. I completely understand this is early work here, so not expecting anything, but any suggestions would be appreciated.

                                    Cheers

                                    pjftP DarksaviorD 2 Replies Last reply Reply Quote 0
                                    • pjftP
                                      pjft @roslof
                                      last edited by

                                      @roslof Hm. Two angles to explore: we can compare MD5 hashes for the binary you're getting, and can you share your setup details - meaning, straight RetroPie image from here, any customizations on config.txt or others that might affect this, resolution?

                                      The MD5 for my yabasanshiro_libretro.so file is 4c302a02ba0ef0e9e1cbfdddfe5c9063
                                      and the last commit I have compiled is: commit 7ae0de7abc378f6077aff0fd365ab25cff58b055

                                      Maybe start from here.

                                      1 Reply Last reply Reply Quote 0
                                      • DarksaviorD
                                        Darksavior @roslof
                                        last edited by Darksavior

                                        @roslof I threw the installer script and patch on my retropie-setup and it just worked. It will install any missing dependencies. If it matters, I always keep raspbian updated. The game compatibility isn't as good as lr-yabause.

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

                                          @Darksavior said in Is Yabasanshiro emulator coming on retropie?:

                                          The game compatibility isn't as good as lr-yabause.

                                          Yes, that's because yabasanshiro has a HLE approach of saturn emulation, for speed reason (makes sense for an emulator targeting arm boards).

                                          FBNeo developer - github - forum

                                          1 Reply Last reply Reply Quote 0
                                          • roslofR
                                            roslof
                                            last edited by

                                            @pjft @Darksavior thank you both for considering my issue. I'm confident the issue is on my side somewhere.

                                            The MD5 for my yabasanshiro_libretro.so file is 4c302a02ba0ef0e9e1cbfdddfe5c9063
                                            and the last commit I have compiled is: commit 7ae0de7abc378f6077aff0fd365ab25cff58b055

                                            Mine MD5 is different: cfd47a92fc6ac9e7ef886d16216ada03

                                            I built mine in two different ways, with the same results:

                                            1. by cloning Buzz's lr-yabasanshiro branch and installed the module via command-line:
                                            sudo ~/RetroPie-Setup/retropie_packages.sh lr-yabasanshiro
                                            
                                            1. by doing as @Darksavior advised, using a clean Retro-Setup and cherry-picking Buzz's lr-yabasanshiro folder & module. Installing same command-line as above.

                                            MD5 is the same either way, as expected (but different from @pjft 's MD5s).

                                            As for my system, I've tried a "stock" config.txt and cmdline.txt file, but also tried a config.txt that is overclocked and locks HD resolution. All configurations yield the same results.

                                            I have updated all Raspbian packages with the "proper" sudo apt update and sudo apt full-upgrade commands. Rebuilt all dependencies via RetroPie-Setup, etc.

                                            As for the games, I don't think we're getting to the point of loading/parsing. I've tried every type of build (cue/bin, chd) including games confirmed to be working from others with Yabasanshiro.

                                            VERY strange...

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