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 390.5k 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 @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
                                        • roslofR
                                          roslof
                                          last edited by

                                          All set... Going to use these four (4) settings that consider RLE vs. real BIOS and original res vs. native res:

                                          yabasanshiro-sdl = "/opt/retropie/emulators/yabasanshiro/yabasanshiro-sdl -r 3 -i %ROM%"
                                          yabasanshiro-sdl-native-res = "/opt/retropie/emulators/yabasanshiro/yabasanshiro-sdl -r 0 -i %ROM%"
                                          yabasanshiro-sdl-saturn_bios = "/opt/retropie/emulators/yabasanshiro/yabasanshiro-sdl -b /home/pi/RetroPie/BIOS/saturn_bios.bin -r 3 -i %ROM%"
                                          yabasanshiro-sdl-saturn_bios-native-res = "/opt/retropie/emulators/yabasanshiro/yabasanshiro-sdl -b /home/pi/RetroPie/BIOS/saturn_bios.bin -r 0 -i %ROM%"
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • A
                                            acidtech
                                            last edited by acidtech

                                            Been playing around with the YabasueEmulate function. It's pretty much the core of the emulator. Anyone else here trying to improve performance?

                                            After moving some of the execution order around some it seems it doesn't matter if SH2Exec(MSH2 executes before or after the SSH2. If that is the case why aren't these threaded to run concurrently?

                                            I dug a little into them and I don't see any big hold ups. I suspect in some cases there may be a syncing issue but in those cases there is no work around anyway so who cares?

                                            I did some rough profiling and while running the intro of Sega Rally(used it for consistency) I saw about 10 to 20ms of processing time for the master and the slave(so 20 to 40ms total time per frame combined).

                                            I also checked the RPi cpu usage. Core 4 is pegged at 100% and cores 1 thru 3 average around 50% or less(using lowest graphics settings).

                                            Does anyone know any reason this absolutely cant be done? I'm planning on starting work on it unless I get a real good answer as to why it wont.

                                            dankcushionsD B 2 Replies 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.