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

    3DS emulator for Pi users based on "Borked 3DS"

    Scheduled Pinned Locked Moved Projects and Themes
    nintendo 3dspi 4pi5borked 3dsx86-64
    118 Posts 9 Posters 16.3k 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.
    • DTEAMD
      DTEAM @DTEAM
      last edited by

      @gvx64

      ad95086c-adc0-4782-a854-892b93420c7b-image.png

      G 1 Reply Last reply Reply Quote 0
      • G
        gvx64 @DTEAM
        last edited by gvx64

        @DTEAM I appreciate the detailed analysis. Can you let me know the exact screen resolution that you are using that is resulting in this issue? For me to be able to resolve this issue, it is important that I can reproduce it on one of my Pi4's. Once I am finished trying to get shader acceleration functionality working I will see if I can get this problem to reproduce on my Pi's.

        DTEAMD 2 Replies Last reply Reply Quote 0
        • DTEAMD
          DTEAM @gvx64
          last edited by DTEAM

          @gvx64

          My screen is 800x480 and my "emulator resolution" is 640x480

          [Layout]
          anaglyph_shader_name=rendepth (builtin)
          anaglyph_shader_name\default=true
          custom_bottom_height=480
          custom_bottom_height\default=true
          custom_bottom_width=640
          custom_bottom_width\default=true
          custom_bottom_x=80
          custom_bottom_x\default=true
          custom_bottom_y=500
          custom_bottom_y\default=true
          custom_portrait_bottom_height=480
          custom_portrait_bottom_height\default=true
          custom_portrait_bottom_width=640
          custom_portrait_bottom_width\default=true
          custom_portrait_bottom_x=80
          custom_portrait_bottom_x\default=true
          custom_portrait_bottom_y=500
          custom_portrait_bottom_y\default=true
          custom_portrait_top_height=480
          custom_portrait_top_height\default=true
          custom_portrait_top_width=800
          custom_portrait_top_width\default=true
          custom_portrait_top_x=0
          custom_portrait_top_x\default=true
          custom_portrait_top_y=0
          custom_portrait_top_y\default=true
          custom_second_layer_opacity=100
          custom_second_layer_opacity\default=true
          custom_top_height=480
          custom_top_height\default=true
          custom_top_width=800
          custom_top_width\default=true
          custom_top_x=0
          custom_top_x\default=true
          custom_top_y=0
          custom_top_y\default=true
          factor_3d=0
          factor_3d\default=true
          filter_mode=true
          filter_mode\default=true
          large_screen_proportion=4
          large_screen_proportion\default=true
          layout_option=0
          layout_option\default=true
          mono_render_option=0
          mono_render_option\default=true
          pp_shader_name=None (default)
          pp_shader_name\default=false
          render_3d=0
          render_3d\default=true
          screen_bottom_leftright_padding=0
          screen_bottom_leftright_padding\default=true
          screen_bottom_stretch=false
          screen_bottom_stretch\default=true
          screen_bottom_topbottom_padding=0
          screen_bottom_topbottom_padding\default=true
          screen_top_leftright_padding=0
          screen_top_leftright_padding\default=true
          screen_top_stretch=false
          screen_top_stretch\default=true
          screen_top_topbottom_padding=0
          screen_top_topbottom_padding\default=true
          small_screen_position=2
          small_screen_position\default=true
          swap_eyes_3d=true
          swap_eyes_3d\default=false
          swap_screen=false
          swap_screen\default=true
          upright_screen=false
          upright_screen\default=true
          
          
          1 Reply Last reply Reply Quote 0
          • StonedEdgeS
            StonedEdge
            last edited by

            How is the performance on the Pi 4? I've been tempted to upgrade to a 64-bit system but not sure I can be bothered, as 32-bit seems to be where the performance caps out anyway...

            Check out my build logs below:
            Wii SPii (Wii in a GBA SP Shell)
            https://bitbuilt.net/forums/index.php?threads/the-wii-spii.3347/
            Retro Lite CM4
            https://bitbuilt.net/forums/index.php?threads/retro-lite-cm4-a-stonededge-and-dmcke5-collaboration.3934/

            G 1 Reply Last reply Reply Quote 0
            • G
              gvx64 @StonedEdge
              last edited by gvx64

              @StonedEdge With an aggressive overclock (e.g. 2300MHz/900MHz+) some 3DS games are playable on the Pi4, mostly RPGs. In addition to that you will need to optimize every setting possible as well as make use of any possible cheats that can speed up gameplay. For example, the 150% speedhack in Pokemon Sun is enough to get the game playable on my Pi4, which was a pleasant surprise. Less demanding RPG's like Etrian Mystery Dungeon, Etrian Odyssey, Pokemon Mystery Dungeon, Pokemon ORAS all seem to be playable even if they are not quite at full speed. That said, games like Mario Kart and Smash Bros are just out of the question as really any slow-down is completely unforgiving in games like these. If your interest is mainly RPG's and you are comfortable with overclocking, then I would say that it might be worth it for you to get Borked3DS working on your Pi4.

              That said, I believe that the bigger motivation for you to make the jump to 64-bit should be for Gamecube emulation as that is lower hanging fruit than 3ds. Gamecube emulation is a measurably less demanding than 3DS in large part because dolphin has the CPU override feature that works far better than it does in Borked3DS to speed up games on slow hardware (honestly, dolphin is just a better piece of software than citra was and it has far better optimization for use on a variety of devices).

              1 Reply Last reply Reply Quote 0
              • DTEAMD
                DTEAM @gvx64
                last edited by DTEAM

                @gvx64 said in 3DS emulator for Pi users based on "Borked 3DS":

                @DTEAM I appreciate the detailed analysis. Can you let me know the exact screen resolution that you are using that is resulting in this issue? For me to be able to resolve this issue, it is important that I can reproduce it on one of my Pi4's. Once I am finished trying to get shader acceleration functionality working I will see if I can get this problem to reproduce on my Pi's.

                If it's to hard to set it blindly, I'll connect my Pi to a PC screen to do the setup. The arrow control on the screen with a joystick and the hotkeys combo settings with gamepad are more important than my issue I think. Thanks for your hard work.

                G 1 Reply Last reply Reply Quote 0
                • G
                  gvx64 @DTEAM
                  last edited by gvx64

                  @DTEAM No worries, this task is still on my radar. Once I start on it I want to begin by copying your screen resolution and seeing if I can reproduce the problem on my Pi. The problem you are describing is potentially more than just an issue of the config window being too large to fit the window size on the lower res since the text spacing and size is supposed to automatically adjust based on the window size. The fact that yours is getting cut off tells me that there is some potential issue in the window re-sizing functionality.

                  I am planning to work on your issue once I am finished with the Hardware Shader Acceleration. I really want to get the Hardware Shader Acceleration working on the Pi as it can (at the very least) allow users to precompile shaders and potentially provide other significant performance gains.

                  1 Reply Last reply Reply Quote 2
                  • DTEAMD
                    DTEAM @gvx64
                    last edited by DTEAM

                    @gvx64 said in 3DS emulator for Pi users based on "Borked 3DS":

                    I did notice similar boxes in Smash 3DS and I am guessing that it might be a similar problem as with Fire Emblem. This patch is Fire Emblem specific and will not help with Smash. Smash 3DS is utterly unplayable on my Pi4, due to it being a fighting game with slow-down, and I doubt that it will even be playable at full-speed on a Pi5 and so I probably will not invest time into fixing those boxes. If somebody really wants to play Smash 3DS on the Pi they can do so using Vulkan as there are no boxes and the usual Vulkan rendering issues aren't too noticeable with this game.

                    Super Smash Bros. 3DS (Europe) (rev 11) is fully playable at full speed without bugs on a Pi5 with OPEN GL (GLES extensions) on my side. Great gaming experience for me. Did you try the rev 11 rom version? I'm on mesa (25.0.7-2~bpo12+1)

                    G 1 Reply Last reply Reply Quote 1
                    • OrionsangelO
                      Orionsangel
                      last edited by

                      DTEAMD 1 Reply Last reply Reply Quote 1
                      • DTEAMD
                        DTEAM @Orionsangel
                        last edited by DTEAM

                        @Orionsangel

                        Wow. This is awesome. Professional work!!! Truly impressive. Thank you so much for this overlay.

                        I hadn't seen it on the thread My Console & Game Themed Bezels for retroarch . I don't know, for now, how to use it with Borked 3ds. I'll check if I can find a way to download it with an option in the UI.

                        1 Reply Last reply Reply Quote 0
                        • G
                          gvx64 @DTEAM
                          last edited by gvx64

                          @DTEAM Thanks for letting me know, I will have to look into that. It's great that Smash 4 is working for you on the Pi, I am honestly surprised to hear that it is.

                          I dumped my cart and so I am not sure what version I was using, I will look into the one that you are suggesting. That said, I don't think it was a bad dump because the game played fine on Vulkan except for the usual Citra Vulkan visual artifacts. That said, on GLES with my build, most of the Smash stages were completely unplayable for multiple reasons. First is because of various colored boxes obstructing the screen on battles stages and even the menus (I assume that these are problematic textures for GLES such as incomplete mipmaps but I am not sure). Also Little Mac was neon green and looked like the Hulk for some reason. Finally, the game ran at ~30% on my aggressively OC'ed Pi4 and I recall that disabling right eye did very little to help (I am surprised to hear that it is 100% on the Pi5).

                          I am still running MESA 24.2.9 (the current default for sudo apt install mesa-vulkan-drivers), and so that could definitely be a possible reason for our difference in experiences. I do want to eventually upgrade to 25.1.0 to get the dual source blending functionality (especially for dolphin) but I decided to just wait for mesa-vulkan-drivers to catch up. I may need to fast-track that though if these newer mesa drivers are truly delivering this kind of enhanced Borked3DS gles performance.

                          1 Reply Last reply Reply Quote 1
                          • 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.