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
    108 Posts 7 Posters 14.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.
    • G
      gvx64 @DTEAM
      last edited by gvx64

      @DTEAM I can take a look at it when I get the chance. It shouldn't be too hard to add a scrollbar to the config menu (hopefully that statement doesn't come back to haunt me).

      I am still working on correcting the black box in Fire Emblem Awakening. This has been a real pain to deal with and I have been working on it for over a month now. Just out of curiosity, have you seen this problem in any other games? It's a fairly sizeable black box in the bottom right corner of the top screen and it really obstructs gameplay. I have found a solution but it is currently non-optimal and involves a heavy performance hit in the game.

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

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

        Just out of curiosity, have you seen this problem in any other games?

        No , but I can do more test

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

          @DTEAM OK, I implemented the configuration menu scroll-bar as an experimental feature. You should be able to enable it if you add the following cmake flag to your build script:

          -DCONFIG_SCROLLABLE=ON
          

          I have left this flag disabled by default in the CMake file because I am not sure that normal users with conventional screen size will benefit from the scroll bar. This feature does make you scroll to use the config menus whereas in the default implementation the text spacing auto adjusts which I think is preferable for most screens.

          Please give it a try and please let me know if this works OK for you. I can make changes as needed.

          Also, the Fire Emblem patch is live. The black box is gone but there is a 10-20% performance hit in the battle screens that was necessary to get rid of the black-box as I am forcing fallback to the software renderer for short periods of time. It's not optimal but I believe that the performance hit is vastly preferable to having a massive black box occupying what feels like 1/8th of the screen. There are some remaining rendering issues but they are relatively minor and I feel that the game is at least reasonably playable on GLES in the current state on an overclocked Pi4.

          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.

          I would like to work next on seeing if I can get the hardware acceleration setting to work under GLES as I believe there is a chance (albeit a small chance) that there could be performance improvements with this feature. Once I am finished this task I also want to look into something that will let users map the mouse cursor to a gamepad analog stick. There actually already may be something available that does this: xdotool. Assuming that this tool works, what I recommend doing is seeing if we can launch this tool for a specific emulator core in the emulationstation startup script: /opt/retropie/configs/all/runcommand-onstart.sh as a background process. There will be some overhead and so we should really only launch this utility when touch screen controls are specifically needed (especially for Pi4 users). It should be fairly simple to have the script initiate the background process for this specific core emulator option and then have the process killed for all other options/emulator platforms. If somebody else wants to take this on and investigate xdotool (or similar utility) please feel free to (there probably shouldn't much coding involved apart from the bash script), otherwise this task will remain in my queue.

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

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

            @DTEAM OK, I implemented the configuration menu scroll-bar as an experimental feature. You should be able to enable it if you add the following cmake flag to your build script:

            -DCONFIG_SCROLLABLE=ON

            Thanks . I'll test it

            NEW EDIT
            Hi @Folly . I added it in the script and it doesn't work. Maybe I didn't add it at the good place or properly. Could you help me on that one please. If it works, it could be interesting to add it in you configuration options (options 1 to 4).

            FollyF 1 Reply Last reply Reply Quote 1
            • FollyF
              Folly @DTEAM
              last edited by

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

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

              @DTEAM OK, I implemented the configuration menu scroll-bar as an experimental feature. You should be able to enable it if you add the following cmake flag to your build script:

              -DCONFIG_SCROLLABLE=ON

              Thanks . I'll test it

              NEW EDIT
              Hi @Folly . I added it in the script and it doesn't work. Maybe I didn't add it at the good place or properly. Could you help me on that one please. If it works, it could be interesting to add it in you configuration options (options 1 to 4).

              I think you should add it in line 75 , after OFF and add space.
              Let me know if it works.

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

                @Folly @gvx64
                This doesn't work well. A simpler solution could be to have an option to set the font and UI size. Previously, my UI was smaller. I played with some font settings, but the UI doesn't handle this well.

                The problem is that I can't access the bottom of the menu where you can set the graphics options, so I can't click OK to apply my settings. It used to work fine, but I needed a magnifier to see the menu on my small screen.

                Perhaps the emulator retrieves the Pi internal settings during software installation. Perhaps if I change the font settings of the Raspi UI and reinstall the emulator, everything will be fine.

                FollyF G 2 Replies Last reply Reply Quote 0
                • FollyF
                  Folly @DTEAM
                  last edited by Folly

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

                  @Folly @gvx64
                  This doesn't work well. A simpler solution could be to have an option to set the font and UI size. Previously, my UI was smaller. I played with some font settings, but the UI doesn't handle this well.

                  The problem is that I can't access the bottom of the menu where you can set the graphics options, so I can't click OK to apply my settings. It used to work fine, but I needed a magnifier to see the menu on my small screen.

                  Perhaps the emulator retrieves the Pi internal settings during software installation. Perhaps if I change the font settings of the Raspi UI and reinstall the emulator, everything will be fine.

                  Can I conclude that adding the option to the script worked and that it's compiled with the option -DCONFIG_SCROLLABLE=ON , but you still have some troubles ?

                  I can't help you with the added option in Borked, you should ask @gvx64.

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

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

                    Can I conclude that adding the option to the script worked and that it's compiled with the option -DCONFIG_SCROLLABLE=ON , but you still have some troubles ?

                    yes

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

                      @DTEAM Are the scroll bars showing up in your configuration windows? If not, is it possible that the cmake flags didn't work?

                      It would help to see a photo of exactly what the problem is, as I am having difficulty understanding it. On my Pi, the configuration menu is a fairly small window that doesn't come close to filling the whole screen. Also, I can click and drag the menu border to change its size. In the default layout, the text spacing adjusts to fill whatever available space there is inside the window.

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

                        @gvx64
                        1.jpg

                        2.jpg

                        At the bottom of the second picture, the box of the Advanced tab stop just after 0.000 ms and it's not possible to go below that.

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

                          @DTEAM After investigating further, the problem is on my end. I am going to re-work it and try posting a new commit. Is the problem limited to the Graphics -> Advanced tab or are there others? I believe that the System tab already has scrolling bars enabled.

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

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

                            @DTEAM After investigating further, the problem is on my end. I am going to re-work it and try posting a new commit. Is the problem limited to the Graphics -> Advanced tab or are there others? I believe that the System tab already has scrolling bars enabled.

                            It's others. For some, you have the scroll bar, but even if you scroll down, you don't have access to all the options. I'll try to give you a more detailed overview tomorrow.

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

                              @gvx64

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

                              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.