Homebrew WIP melonDS for Switch

Monti64

Member
Newcomer
Joined
Apr 25, 2019
Messages
9
Trophies
0
Age
22
XP
162
Country
Germany
I think the biggest thing for accuracy that can impact performance is timing. How long it takes to run an instruction, access memory, etc. and also synchronization between the 2 CPUs. Right now there's pretty much no timing system in place (the emulated CPUs are running too fast, basically) which could actually make performance worse because the processor has to keep up with the faster CPUs. Trying to make the timing too accurate though will also degrade performance, because of all the calculations and such required to figure out how fast everything should be running. I'll have to find some sort of balance between accuracy and speed. I also have a crazy idea or two that might help with performance, but it might mess up the synchronization, and I'm not sure how big of an impact that will have yet.

Regarding the audio/thread issue in melonDS, honestly I almost forgot about that because I've been so busy with this new emulator. It's also hard to debug because it doesn't happen on my end. I'll try to look into it again before releasing the hardware renderer update, but I can't make any promises. I've always found libnx threads to be a little wonky anyways; I've had issues with starting multiple threads on the same core and with getting them to run at all on the fourth core (which did work when I first released melonDS, but somewhere along the line something external broke it).
Either way, this will be a long project for you I assume after reading through the patreon page, and thanks for explaining!
The problem started after you fixed the dock audio, maybe you can make a version with the older threads if your time is to limited but I don't want to ask for too much :)
 

FanNintendo

Well-Known Member
Member
Joined
Apr 16, 2018
Messages
1,583
Trophies
0
Age
51
XP
2,523
Country
United States
I think the biggest thing for accuracy that can impact performance is timing. How long it takes to run an instruction, access memory, etc. and also synchronization between the 2 CPUs. Right now there's pretty much no timing system in place (the emulated CPUs are running too fast, basically) which could actually make performance worse because the processor has to keep up with the faster CPUs. Trying to make the timing too accurate though will also degrade performance, because of all the calculations and such required to figure out how fast everything should be running. I'll have to find some sort of balance between accuracy and speed. I also have a crazy idea or two that might help with performance, but it might mess up the synchronization, and I'm not sure how big of an impact that will have yet.

Regarding the audio/thread issue in melonDS, honestly I almost forgot about that because I've been so busy with this new emulator. It's also hard to debug because it doesn't happen on my end. I'll try to look into it again before releasing the hardware renderer update, but I can't make any promises. I've always found libnx threads to be a little wonky anyways; I've had issues with starting multiple threads on the same core and with getting them to run at all on the fourth core (which did work when I first released melonDS, but somewhere along the line something external broke it).
I have all day no worry
 

Arisotura

rise of melonism
Member
Joined
Dec 5, 2009
Messages
839
Trophies
1
Age
30
Location
center of the Sun
Website
kuribo64.net
XP
2,498
Country
France
re: libnx threading

it might be using cooperative threading, like the 3DS, which means you need to make sure to give other threads a chance to run

on the 3DS, calling any syscall would have the side-effect of calling the scheduler and allowing other threads to run. I figure it's similar on the Switch, but dunno.
 
  • Like
Reactions: Hydr8gon

Arisotura

rise of melonism
Member
Joined
Dec 5, 2009
Messages
839
Trophies
1
Age
30
Location
center of the Sun
Website
kuribo64.net
XP
2,498
Country
France
looks like I was ninja'd :o

also, we need folks with AMD GPUs to test it, because I got reports that it's shitting itself

I have a small idea of what might be failing but I'd need confirmation (and if it's what I think, it would suck big time)
 
Last edited by Arisotura,

tabnk

Well-Known Member
Member
Joined
Jan 20, 2016
Messages
290
Trophies
0
Age
42
XP
1,838
Country
United States
MelonDS (Without Dynamic ) 0.8 running 8x easily on desktop with dedicated GPU. Let's see how well it will run on NSwitch.
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,580
Country
Canada
MelonDS (Without Dynamic ) 0.8 running 8x easily on desktop with dedicated GPU. Let's see how well it will run on NSwitch.
Well, unfortunately the nouveau-based GPU drivers we have on the Switch weren't getting good performance with an early version of the renderer, so don't get your hopes too high, though hopefully it's improved with the current version. Also, I'm having some issues getting the current one working, so expect a release hopefully tomorrow. I should probably go to bed now~
 

tabnk

Well-Known Member
Member
Joined
Jan 20, 2016
Messages
290
Trophies
0
Age
42
XP
1,838
Country
United States
It will be bonus if it can run well on switch , otherwise play it on PC than. :). Or until Dynamic add to MelonDS at later development.

Well, unfortunately the nouveau-based GPU drivers we have on the Switch weren't getting good performance with an early version of the renderer, so don't get your hopes too high, though hopefully it's improved with the current version. Also, I'm having some issues getting the current one working, so expect a release hopefully tomorrow. I should probably go to bed now~
 

mattyxarope

Well-Known Member
Member
Joined
Jan 15, 2019
Messages
544
Trophies
0
XP
1,995
Country
United States
Well, unfortunately the nouveau-based GPU drivers we have on the Switch weren't getting good performance with an early version of the renderer, so don't get your hopes too high, though hopefully it's improved with the current version. Also, I'm having some issues getting the current one working, so expect a release hopefully tomorrow. I should probably go to bed now~
Can't wait!
 

spotanjo3

Well-Known Member
Member
Joined
Nov 6, 2002
Messages
11,145
Trophies
3
XP
6,209
Country
United States
that's awesome news still adding some improvement every time looking forward to it and will it be capable with 3.0.0?

You can always update it to the latest version with ChoiNX. I have a 3.0.0 and updated to 7.0.1. You can always downgrade it to 3.0.0 again with ChoiNX using 3.0.0 firmware folder. :)
 
  • Like
Reactions: FanNintendo

FMCore

Well-Known Member
Newcomer
Joined
Jul 10, 2018
Messages
91
Trophies
0
XP
609
Country
Canada
Well, unfortunately the nouveau-based GPU drivers we have on the Switch weren't getting good performance with an early version of the renderer, so don't get your hopes too high, though hopefully it's improved with the current version. Also, I'm having some issues getting the current one working, so expect a release hopefully tomorrow. I should probably go to bed now~
I noticed that a hot-fix was pushed today for melonDS, I assume that might've fixed the problem you were facing yesterday?
 

chaisea

Member
Newcomer
Joined
Apr 6, 2019
Messages
5
Trophies
0
Age
27
XP
65
Country
United States
Excited to see the new version ported :3.Keep up the good work seriously! I've started playing wild world on mine despite the lag haha.
 

FanNintendo

Well-Known Member
Member
Joined
Apr 16, 2018
Messages
1,583
Trophies
0
Age
51
XP
2,523
Country
United States
You can always update it to the latest version with ChoiNX. I have a 3.0.0 and updated to 7.0.1. You can always downgrade it to 3.0.0 again with ChoiNX using 3.0.0 firmware folder. :)
I would love to update to 7 but i already bricked my 1st one i dont want to lose 2nd or paying out for 3rd switch I am hoping that pegaswitch can solve all firmwares without jig or rcm do easy way may take longer maybe 4 years to figure out or never happen. Who knows
 

spotanjo3

Well-Known Member
Member
Joined
Nov 6, 2002
Messages
11,145
Trophies
3
XP
6,209
Country
United States
I would love to update to 7 but i already bricked my 1st one i dont want to lose 2nd or paying out for 3rd switch I am hoping that pegaswitch can solve all firmwares without jig or rcm do easy way may take longer maybe 4 years to figure out or never happen. Who knows

You should backup nand. Didn't you ?
 

Csmrcc

Well-Known Member
Member
Joined
Sep 13, 2018
Messages
412
Trophies
0
Age
37
XP
905
Country
Spain
I would love to update to 7 but i already bricked my 1st one i dont want to lose 2nd or paying out for 3rd switch I am hoping that pegaswitch can solve all firmwares without jig or rcm do easy way may take longer maybe 4 years to figure out or never happen. Who knows
how can you brick it? :(
 

Hydr8gon

Dragon Trainer
OP
Developer
Joined
Dec 15, 2014
Messages
316
Trophies
1
Website
hydr8gon.github.io
XP
2,580
Country
Canada
Well, here's a bit of an update I guess. I got the renderer working yesterday, but there are some strange issues with polygons randomly not rendering. We're looking into it, but it seems like it might be a driver bug. Regarding performance: it's about the same as the software renderer. In some cases it's a bit faster, while in others it's a bit slower. Also, I have some reworking to do so that the screen layouts and stuff will work with the new GL display method, though the polygon issue has a higher priority right now. Anyways, release will probably be delayed for a bit. The current source is up on my GitHub on the opengl branch though, if you wanna check it out. I just don't wanna officially release anything until it's working right.

((((And to plug my DS emulator NooDS for a second, I'm currently having some luck getting a few homebrews to run, so maybe we'll have that to fall back on in the future as a (hopefully) speedy DS emulator on the Switch??))))
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • Bunjolio @ Bunjolio:
    our school network and chrome policies block stuff too
  • Bunjolio @ Bunjolio:
    alot of yt to mp3 sites are blocked by light speed for "Security"
  • SylverReZ @ SylverReZ:
    It was easy to bypass some of the restrictions, as one of the admins left a registry key in the administrative shares drive, which allowed me to get around the blocking of some sites.
  • Bunjolio @ Bunjolio:
    tf does tta mean
  • Bunjolio @ Bunjolio:
    yeah this is chrome os
  • Bunjolio @ Bunjolio:
    cant do shit
  • SylverReZ @ SylverReZ:
    @Bunjolio, Wdym 'TTA'?
  • Bunjolio @ Bunjolio:
    that* as in why yt to mp3 sites are blocked for security
  • SylverReZ @ SylverReZ:
    @Bunjolio, Remember when YouTubetoMP3 was a thing back in the 2010s?
  • SylverReZ @ SylverReZ:
    Until YT updated some stuffs and broke the website.
  • Bunjolio @ Bunjolio:
    I was 2 in 2010
  • SylverReZ @ SylverReZ:
    Oh lol
  • Bunjolio @ Bunjolio:
    lol
  • SylverReZ @ SylverReZ:
    This was in the Minecraft-era.
  • AncientBoi @ AncientBoi:
    lol Bun rockin out at 2 :rofl2:
  • BakerMan @ BakerMan:
    same tbh
  • AncientBoi @ AncientBoi:
    ♫ Mama hully gully, Papa hully gully, Baby hully gully too:rofl2:
  • AncientBoi @ AncientBoi:
    Oh god, I really am old. lol
  • Sicklyboy @ Sicklyboy:
    @SylverReZ, sup Sylv!
    +1
  • AncientBoi @ AncientBoi:
    Anyway, I gotta go to the store. L8er guys. Oops, I better put some clothes on :shy::tpi::rofl2:
  • SylverReZ @ SylverReZ:
    @Sicklyboy, Hey there Sickly.
  • SylverReZ @ SylverReZ:
    @AncientBoi, Make sure the cops don't see that.
    hazbeans @ hazbeans: hi