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.
-
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
-
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...
-
@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).
-
@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.
-
@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.
-
@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)
-
-
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.
-
@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.
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.