Dekopon - (Mostly) Fullspeed 3DS Emulation on Nintendo Switch

PalindromicBreadLoaf

Well-Known Member
Member
Joined
Aug 22, 2018
Messages
433
Solutions
2
Reaction score
409
Trophies
0
Age
25
Location
Canada
XP
1,910
Country
Canada
dekopon_square.webp

Credit goes to StickyMangoRice for the logo.

Dekopon is a port of Azahar to the Nintendo Switch.

Performance is very title dependent, and will be improved with time, but many games can be played fullspeed right now, sometimes even with stock handheld clocks. (I do recommend at least bumping the CPU up to dev unit clocks in handheld just to reduce shader compilation stutter and smooth out some rough frame pacing.)

Depending on the game, you can get up to 4x resolution scaling at full speed in docked/handheld charging (although really 3x is all you need in handheld).
If you want to try any new3ds exclusive games, they won't run well. All four of the 3DS' cores run on a single emulation thread, so we're at a 1.2GHz difference (2GHz single core where as the 4 3DS cores each run at 804MHz) from what we would need (and architecture changes from 3DS to Switch cannot account for that much raw clock speed loss). The solution would be to split the emulation threads on new3DS games, but that's a ton of work for very very little gain.

See here for a full compatibility chart: Dekopon Compatibility Chart
Feel free to share your own compatibility findings here and I'll update the sheet accordingly. Also share any issues you have and I'll do my best to fix them.

Downloads can be found here: Releases
Along with the source code here: Source

ROMs default location is /switch/dekopon/games/
All formats that Azahar natively supports are supported here too.

Different screen layouts can be cycled through via pressing the right stick.
Pressing '+' on a game shows information about it, including updates and dlc.

Enjoy!

Also if someone wants to make a better UI for this I wouldn't be offended. I can't make a good UI to save my life, but the one included at least kinda functions to get you into a game.
 
Last edited by PalindromicBreadLoaf,
Good job! I was waiting for us to finalise the libretro side of things to get to the aza port. Your nxvk port looks better than the slop i've seen before too, Mind if i finally update my projects to vulkan and we ship libretro with nxvk?
 
  • Like
Reactions: ber71
Good job! I was waiting for us to finalise the libretro side of things to get to the aza port. Your nxvk port looks better than the slop i've seen before too, Mind if i finally update my projects to vulkan and we ship libretro with nxvk?
Yeah, go ahead. It's all open source for a reason. And if you find any issues regarding nxvk do share and I'll look into fixing them. I'm certainly not perfect at programming by any means, so there's bound to be issues somewhere.
Post automatically merged:

Anybody able to get a picture or two I can use of 3DS games running? My CFW Switch still hasn't been unpacked after moving last month lol.

I'll pop something on the front page for it.
Give me a few minutes and I can get you some.
 
  • Like
Reactions: ber71 and Scarlet
Yeah, go ahead. It's all open source for a reason. And if you find any issues regarding nxvk do share and I'll look into fixing them. I'm certainly not perfect at programming by any means, so there's bound to be issues somewhere.
Post automatically merged:


Give me a few minutes and I can get you some.
Sweet, btw i know one of the people involved with the vulkan standard, if you have some particular questions you struggled on I can forward them, I am not a gfx engineer either, thats why I always focused on the low level stuff :P
 
Sweet, btw i know one of the people involved with the vulkan standard, if you have some particular questions you struggled on I can forward them, I am not a gfx engineer either, thats why I always focused on the low level stuff :P
Low level stuff is normally my cup of tea too, but I've been spending the last 3-4 months hard learning gfx protocols, so I figured I could at least try and make an actually maintainable, not AI slop, Vulkan driver for the Switch. I don't think there was anything I struggled more on than other things (really NVK did all the heavy lifting), I just had to figure out WSI platforms and some SoC/Tegra quirks.

@Scarlet here are some screenshots. Hopefully these work for you:
2026071616181500-13F4C83447CD664E7FD6CBEB50612963.jpg

2026071616194900-13F4C83447CD664E7FD6CBEB50612963.jpg

2026071616230100-13F4C83447CD664E7FD6CBEB50612963.jpg
 
does this perform any better than that old Citra core from years back? Cause that thing was ROUGH

Bravely Default, Bravely Second, Radiant Historia: Perfect Chronology all played pretty badly even with full overclocks
 
View attachment 582351
Credit goes to StickyMangoRice for the logo.

Dekopon is a port of Azahar to the Nintendo Switch.

Performance is very title dependent, and will be improved with time, but many games can be played fullspeed right now, sometimes even with stock handheld clocks. (I do recommend at least bumping the CPU up to dev unit clocks in handheld just to reduce shader compilation stutter and smooth out some rough frame pacing.)

Depending on the game, you can get up to 4x resolution scaling at full speed in docked/handheld charging (although really 3x is all you need in handheld).
If you want to try any new3ds exclusive games, they won't run well. All four of the 3DS' cores run on a single emulation thread, so we're at a 1.2GHz difference (2GHz single core where as the 4 3DS cores each run at 804MHz) from what we would need (and architecture changes from 3DS to Switch cannot account for that much raw clock speed loss). The solution would be to split the emulation threads on new3DS games, but that's a ton of work for very very little gain.

See here for a full compatibility chart: Dekopon Compatibility Chart
Feel free to share your own compatibility findings here and I'll update the sheet accordingly. Also share any issues you have and I'll do my best to fix them.

Downloads can be found here: Releases
Along with the source code here: Source

ROMs default location is /switch/dekopon/games/
All formats that Azahar natively supports are supported here too.

Different screen layouts can be cycled through via pressing the right stick.
Pressing '+' on a game shows information about it, including updates and dlc.

You may be wondering why release this when Tico just yesterday announced 3DS support? Firstly, unless I'm missing something, Tico isn't open source, which blatantly violates the GPLv2 license that Azahar is under (along with other emulators, but I digress), and even if it didn't violate licenses, I just have a general disdain for any software that's closed source. I just don't trust it. Also, I've been working on this for weeks and have spent hundreds of hours on it. I'm not just going to abandon it in an almost finished state.

Enjoy!

Also if someone wants to make a better UI for this I wouldn't be offended. I can't make a good UI to save my life, but the one included at least kinda functions to get you into a game.
Watch and see PabloMK7 remove support for this emulator in CTGP-7 like they did with Azahar Plus
 
does this perform any better than that old Citra core from years back? Cause that thing was ROUGH

Bravely Default, Bravely Second, Radiant Historia: Perfect Chronology all played pretty badly even with full overclocks
I don’t own any of those games, but I do have the demo of Bravely Second, and that runs pretty good in the town at 2x res and base handheld clocks.
Is there a Hot-key to exit? Or a general list of Hotkeys to know?
‘+’ and ‘-‘ together exits the currently running game. R3 switches the screen layout. Besides that I don’t think there’s anything else.
 
Watch and see PabloMK7 remove support for this emulator in CTGP-7 like they did with Azahar Plus
???????????????????
You are comparing someone who has caused trouble to us (that we still have to deal with) and been completely disrespectful with a project that's respectful and sane.
 
Last edited by PabloMK7,

Site & Scene News

Popular threads in this forum