Homebrew [3DS] mGBA Alpha 1v Released

  • Thread starter Thread starter NCorp.
  • Start date Start date
  • Views Views 268,624
  • Replies Replies 842
  • Likes Likes 35

mGBA/CitrAGB/Reroarch gPSP, What do you like.


  • Total voters
    337
so many mixed results, any cia testers?
its very slow with every game. i would assume that the cia ver would naturally have access to all resources of the N3ds
 
so many mixed results, any cia testers?
its very slow with every game. i would assume that the cia ver would naturally have access to all resources of the N3ds

I think it's the other way around, actually.

Also yeah use 3dsx. I'm not sure what the easiest way for you to do it will be, but you should.
 
  • Like
Reactions: SLiV3R
The main issue with CIA files being crap is probably the nijnhax developers adding features straight to their hacky homebrew menu environment instead of adding them to ctrulib so homebrews could run just as good when built as native 3DS executables.

Not fault of the emulator developer at all.
 
Last edited by piratesephiroth,
As a CIA user, I can say that I only tested mother 3 and and it was choppy but playable. maybe around 12 fps or so, if I had to make an educated guess
 
Why so, exactly? They're running the same processor speed/architecture, it's just 2 cores v. what I've effectively understood as 3 cores.

Emulation doesn't work in quite the same way and I haven't understood why the speed differences i've seen reported have been significant.

I kinda wonder if the reason is because the o3ds is using the same core as the OS and the n3DS uses one core just for OS functions
 
Why so, exactly? They're running the same processor speed/architecture, it's just 2 cores v. what I've effectively understood as 3 cores.

Emulation doesn't work in quite the same way and I haven't understood why the speed differences i've seen reported have been significant.

I kinda wonder if the reason is because the o3ds is using the same core as the OS and the n3DS uses one core just for OS functions

New 3ds has 4 cores, 1 for os, 3 for games/apps. Old 3ds has 1 core for OS and 1 core for games/apps. So of course it's always going to be faster, it has 2 more cores to work with. New 3ds also has double the ram.


Emulation doesn't work in quite the same way

Work the same way as what? You can design any application for multiprocessing, including emulators.
 
  • Like
Reactions: clank
You can design anything you want for multithreading, it's just not always a good idea.

From that one article about bsnes everyone quoted when it came out:

The primary demands of an emulator are the amount of times per second one processor must synchronize with another. An emulator is an inherently serial process. Attempting to rely on today's multi-core processors leads to all kinds of timing problems. Take the analogy of an assembly line: one person unloads the boxes, another person scans them, another opens them, another starts putting the item together, etc. Synchronization is the equivalent of stalling out and clearing the entire assembly line, then starting over on a new product. It's an incredible hit to throughput. It completely negates the benefits of pipelining and out-of-order execution. The more you have to synchronize, the faster your assembly line has to move to keep up.

Dolphin and PCSX2 using multiple cores is still impressive. Dolphin's the most developed emulator I've encountered and it's still using two (with an optional third if you run low level emulated audio on another thread, which isn't very beneficial anymore), and PCSX2 can use two with an optional third that assists the vector units in some way I've never been clear about.
 
Work the same way as what? You can design any application for multiprocessing, including emulators.

Except none of the emulators (or even any homebrew) being used so far are designed for multiprocessing, they are all portable emulators designed for running their code on a single CPU core, hence why I am also wondering why there is that much difference between o3ds and n3ds homebrew.

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 (each cores running their own separated applications), and simply doubled the clock speed of each core.
 
My estimation, using almost no information, is that it's just letting the other cores be added to the pool of thread handlers.
 
New 3ds has 4 cores, 1 for os, 3 for games/apps. Old 3ds has 1 core for OS and 1 core for games/apps. So of course it's always going to be faster, it has 2 more cores to work with. New 3ds also has double the ram.
But NINJHAX 2.0/Ironhax/tubehax don't have access to more RAM than the applications get they're based on. That defeats the guess of any difference between 3ds/n3ds.
In addition to that *.CIA might allow you to get access to more RAM (enhanced mode like SSB/ 3D Land or N3DS mode).
 
My estimation, using almost no information, is that it's just letting the other cores be added to the pool of thread handlers.

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.
 
  • Like
Reactions: link6155
I was just theorizing it was how they were gonna handle actual commercial game releases without making n3ds/o3ds specific builds, not that it was the case with emulators.
 

Site & Scene News

Popular threads in this forum