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 386.6k 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.
    • A
      acidtech
      last edited by

      Anyone have success building this on Raspberry PI OS 64bit beta? I've apparently gotten all the dependencies covered but build is failing with:

      Linking CXX executable yabasanshiro
      /usr/bin/ld: firebase-cpp-sdk/external/src/curl-build/lib/libcurl.a(asyn-thread.c.o): in function `gethostbyname_thread':
      /home/pi/yabause/build/src/qt/firebase-cpp-sdk/external/src/curl/lib/asyn-thread.c:315: undefined reference to `Curl_ipv4_resolve_r'
      /usr/bin/ld: firebase-cpp-sdk/external/src/curl-build/lib/libcurl.a(asyn-thread.c.o): in function `Curl_resolver_getaddrinfo':
      /home/pi/yabause/build/src/qt/firebase-cpp-sdk/external/src/curl/lib/asyn-thread.c:594: undefined reference to `Curl_ipv4_resolve_r'
      collect2: error: ld returned 1 exit status
      make[3]: *** [src/qt/CMakeFiles/yabause-qt.dir/build.make:1674: src/qt/yabasanshiro] Error 1
      make[2]: *** [CMakeFiles/Makefile2:380: src/qt/CMakeFiles/yabause-qt.dir/all] Error 2
      make[1]: *** [CMakeFiles/Makefile2:392: src/qt/CMakeFiles/yabause-qt.dir/rule] Error 2
      make: *** [Makefile:264: yabause-qt] Error 2
      

      Any thoughts on what could be the cause?

      M 1 Reply Last reply Reply Quote 0
      • M
        myzar @acidtech
        last edited by

        @acidtech

        about the cause no , about a quick and dirty hack i would edit asyn-thread.c and remove the reference to Curl_ipv4_resolve_r at line 315 & 594, the emu doesn't need to go online anyway

        A 1 Reply Last reply Reply Quote 0
        • A
          acidtech @grant2258
          last edited by

          @grant2258 Just confirming this addition worked. Got the retro_arena GUI and even started Sega Rally. Did not have the patched shaders so graphics were not correct and crashed just before the race began, but this is progress.

          Note I'm working on this using Rasberry Pi OS 64bit beta.

          Only other change I've made was to rp64.cmake:

          set(CMAKE_SYSTEM_PROCESSOR arm)
          to
          set(CMAKE_SYSTEM_PROCESSOR aarch64)

          G 1 Reply Last reply Reply Quote 0
          • A
            acidtech @myzar
            last edited by

            @myzar Yes, I did that and got further but in the end I've switched over to the retro_arena GUI and now I can at least start Sega Rally.

            I already use QT for app development on Android and iOS. I really don't want to use it when I'm trying to have some fun.

            1 Reply Last reply Reply Quote 0
            • G
              grant2258 Banned @acidtech
              last edited by

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

              @grant2258 Just confirming this addition worked.

              Are you referring to the SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES); if so thats good news!

              A 1 Reply Last reply Reply Quote 0
              • A
                acidtech @grant2258
                last edited by

                @grant2258 Yes, SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);

                G 1 Reply Last reply Reply Quote 1
                • G
                  grant2258 Banned @acidtech
                  last edited by

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

                  nt2258 Yes, SDL_GL_SetAttribute(SDL_GL_CONTEXT_PROFILE_MASK, SDL_GL_CONTEXT_PROFILE_ES);

                  nice one I dont have a pi 4 to test with glad it opens up the retro arena port! the diff buzz posted for the shader patch is here. https://github.com/devmiyax/yabause/issues/737 This is the only viable option for this emulator without qt since retroarch support is withdrawn.

                  A 1 Reply Last reply Reply Quote 0
                  • A
                    acidtech @grant2258
                    last edited by

                    @grant2258 With the shader patch Sega Rally is running without errors. A few slow downs on the first track but full speed otherwise it appears(didnt have FPS showing). Not overclocked in nay way. So a good starting point I think.

                    1 Reply Last reply Reply Quote 1
                    • M
                      myzar
                      last edited by

                      I confirm that the retro-arena build indeed works adding that ,no qt deps crap and no xserver needed and plus it gets the input from retropie and you can quit without a keyboard , i use the rpi4 in a cab

                      Very good finding @acidtech and thx @grant2258 for the gles workaround

                      pjftP M 2 Replies Last reply Reply Quote 1
                      • pjftP
                        pjft @myzar
                        last edited by

                        Thanks for the update!

                        @myzar would it be too much trouble to ask you for the binary and new runcommand string? :)

                        1 Reply Last reply Reply Quote 0
                        • M
                          myzar
                          last edited by

                          @pjft no trouble

                          https://mega.nz/file/qxkQmS4S#t0gGCquEGOQM9NqJWFCPkFqFJZO4UNROzjRKeorE7gQ

                          for the command line

                          yabasanshiro-sdl = "/opt/retropie/emulators/yabasanshiro/yabasanshiro-sdl %ROM%"

                          for the options you can use look here

                          https://github.com/devmiyax/yabause/tree/master/yabause/src/retro_arena

                          1 Reply Last reply Reply Quote 1
                          • pjftP
                            pjft
                            last edited by pjft

                            @myzar Thank you very much! I'll try it out during the weekend. Any noticeable performance changes?

                            Actually, a question: I'm getting a few errors, even after installing the dependencies.

                            File not found: 
                            Cannot initialize ISO-File Virtual Drive
                            Cannot initialize Game
                            Preference: opening /home/pi/.yabasanshiro/.config
                            Preference: fail to getInt Aspect rate
                            message: [json.exception.type_error.305] cannot use operator[] with number
                            exception id: 305
                            

                            so I must be missing something around here. The games don't boot, and the emulator just gets stuck in a black screen.

                            I suspect it might be a file path thing somewhere - any clues, or did it just work straight off the bat for you?

                            Thanks.

                            M 1 Reply Last reply Reply Quote 0
                            • M
                              myzar @pjft
                              last edited by myzar

                              @pjft my bad i have missed -i

                              the right string is

                              yabasanshiro-sdl = "/opt/retropie/emulators/yabasanshiro/yabasanshiro-sdl -i %ROM%"

                              performace seems the same but this is a lot easier to build and does not need xserver and qt

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

                                This is nice. Thank you for providing, @myzar

                                It looks like game-specific configurations are generated in /root/.yabasanshiro. Very nice, and unexpected.

                                Tips for Pi4B:
                                Tap "ESC" on keyboard to bring up Yaba Sanshiro Menu (instead of Ctrl-S from xserver build)
                                From Menu, set resolution to "Original" (defaults to Native, which is higher-res and too slow for Pi4B)
                                Controls are easy to change with this menu.

                                Not sure if saturn_bios.bin can be used. Tried the old command-line argument for this, but seems to always use RLE bios. Would help with compatibility for some games.

                                pjftP 1 Reply Last reply Reply Quote 1
                                • pjftP
                                  pjft @roslof
                                  last edited by

                                  @roslof there's a -b flag, worst case we can have two entries in runcommand, one for HLE and one for BIOS.

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

                                    @pjft right with you. Trying to setup two emulators for -sdl.

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

                                      When running the RetroArena build, has anybody else noticed:

                                      [message: json.exception.type_error.305] cannot use operator[] with number
                                      exception id: 305
                                      

                                      When I launch via command-line, I can move beyond the error and play. But when I launch via runcommand, I exit. I've been spending the last few hours investigating the syntax of keymapv2.json and the configuration file I'm using to test Sega Rally Championship.

                                      Currently look like:

                                      https://pastebin.com/uknjfsnj (/root/.yabasanshiro/keymapv2.json)
                                      https://pastebin.com/qrf8R2hU (/root/.yabasanshiro/Sega Rally Championship.chd.config)

                                      When runcommand crashes, the error is different (weird)...

                                      Added known joystick Sony Interactive Entertainment Wireless Controller (instance ID: 0, device index: 0)
                                      Added known joystick Sony Interactive Entertainment Wireless Controller (instance ID: 1, device index: 1)
                                      terminate called after throwing an instance of 'nlohmann::detail::invalid_iterator'
                                        what():  [json.exception.invalid_iterator.212] cannot compare iterators of different containers
                                      
                                      1 Reply Last reply Reply Quote 0
                                      • M
                                        myzar
                                        last edited by myzar

                                        @roslof what happens if you delete both ? this port uses ~/.emulationstation/es_temporaryinput.cfg if keymapv2.json is not present

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

                                          @myzar when I delete those files, then launch yabasanshiro-sh from /opt/retropie/emulators/yabasanshiro, it rebuilds the files, but not in a good way:

                                          keymapv2.json (all non-axis lines look like this):

                                          "id": -1
                                          "type": "",
                                          "value": "-999"

                                          Sega Rally Championship.chd.config everything references "null":

                                          "Aspect rate": null,
                                          "Resolution": null,
                                          "Rotate screen": null,
                                          "Rotate screen resolution": null,
                                          "Use compute shader": null

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

                                            I think I figured this out.

                                            I believe running from the command-line generates files at /root/.yabasanshiro/
                                            ...and running from runcommand generates files at ~/.yabasanshiro

                                            Was wrestling with two separate sets of configs...

                                            keymapv2.json in ~/.yabasanshiro was properly generated from es_temporaryinput.cfg
                                            keymapv2.json in root/.yabasanshiro is junk

                                            For game configuration files, both directories generate "null" for each setting. I suppose this is fine. Can use command-line arguments to set parameters.

                                            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.