And that will only happen on CIAs when it's fully supported by ctrulib.
Or when we get ARM11 in >9.2 (never lol)
And that will only happen on CIAs when it's fully supported by ctrulib.
Except none of the emulators (or even any homebrew) being used so far are designed for multiprocessing
Has it really been confirmed there were 4 cores running? It would seem more logical that they kept the 2x core architecture (one for kernel loaded from firmware + one for application code) since it does not require devs writing applications designed for multi-processing, and simply doubled the clock speed of each core.
And that will only happen on CIAs when it's fully supported by ctrulib.
Of course it's possible. Ninjhax has very nice control over the memory (remember CitraAGB has dynarec on it, but not as a native 3DS executable). Only some of these functions have still not been been fully implemented on ctrulib.You keep saying that but I don't think that's true.
Ctrulib is only a library of services usable in user mode, the difference you got between CIA and 3DSX are much likely related to the loader and the running application permission.
mGBA is, that's why you see the performance boost.
Yes, it has 4 cores. Same speed.
Why wouldn't devs want to write multi-processed code? It's the standard. They already write multi-threaded code for every other platform - vita, smartphones, ps4, xbone, pc, etc. You're talking as if multi-threaded code is something devs want to avoid.
Just tested it out and.... Wellcan this run Kingdom Hearts Chains of Memories?
Once again, none of the ported emulators use multi-threading: they are all designed to run in a single-threaded application and none of them were modified to use 3DS threading services. The fact they are running faster on n3ds seems to indicate cores were actually overclocked, not duplicated.
*arm 11 kernelOr when we get ARM11 in >9.2 (never lol)
Have you looked at the code to determine what it is designed for? How would you even be able to recognize threaded code if you're not a coder?
Just because an app happens to run on single-threaded hardware doesn't mean it was designed for it. You can write some random dummy java file in 2 minutes that would run much quicker on a dual core cpu over a single core, but it would still run on the single core, just slower. That's whats happening with mGBA.
That's not entirely true.I'm not sure what you're arguing anymore. You just said 1 page ago that none of these emus were designed for multi-threading and that the fact that they run faster must be due to faster clockspeeds. We know the clockspeeds on N3DS aren't faster, and we know n3DS has 2 extra cores. So in this case the only option for something being faster on one system over the other is multi-threading. There literally isn't any other possibility.
Just tested it out and.... Well
I believe it's playable
Just noticed this post. It adds complexity, significantly. I've seen poorly implemented mutexes in my time. Online tutorials by people that don't know how IPCs work nor when it's safe to access data in a lock. It's a shame that it's easy to get miss informed.Why wouldn't devs want to write multi-processed code?
Are you asking me? Dynarec only applies to emulation. It doesn't apply to these test.There was something that made it so only <=9.2 could use dynarec. Was that active on both the O3DS/N3DS in those tests?
Are you asking me? Dynarec only applies to emulation. It doesn't apply to these test.
No, the issue lies with user code not being allowed to set memory execution privileges. Only the kernal can do that, or an exploit that grant that privileges. Lacking that privilege should have no impact on performance.... I meant whatever it was that was allowing dynarec. I don't know what capabilities are removed from the user if they're using a usermode exploit instead of a kernelmode exploit in the context of homebrew.
Dynarec's the only major performance difference I know of, and I didn't know if the capabilities that were allowing it allowed anything else remotely relevant for brute force testing.