Why does the Old 3DS struggle with emulation?

Discussion in '3DS - Homebrew Development and Emulators' started by ArugulaZ, Mar 5, 2016.

  1. ArugulaZ
    OP

    ArugulaZ GBAtemp Advanced Fan

    Member
    501
    117
    Sep 17, 2009
    United States
    I'm honestly curious about this. I know the hardware is dated and underpowered, but I remember back in the 2000s, people were able to coax decent emulation out of the original DS and even the Game Boy Advance! The GBA was pretty much capped at 8-bit titles (NES, ColecoVision, Master System) but the DS could play smaller Genesis games. I could have sworn there was also a Neo-Geo emulator that ran better than you would have expected. Then there's the PSP which seems to handle just about everything up to the PSOne, and that was released in late 2004!

    So I've got to wonder why the Old 3DS is such an underachiever when it comes to emulation. I'm not singling out hobbyist programmers who make these emulators for fun, either. Apparently M2 had to move mountains to make Genesis games play as well as they do on the Old 3DS. Nintendo won't even TRY to put Super NES games on the system, probably because it's just not feasible to attempt it. So what's holding the machine back?
     


  2. daxtsu

    daxtsu GBAtemp Guru

    Member
    5,539
    3,929
    Jun 9, 2007
    Antarctica
    1. No dynarec from userland without CFW/ARM11 kernel access, so slower interpreters are the only option, for systems that could otherwise use dynarec
    2. The DS and GBA had GPUs well-suited for emulating old systems, because they supported tiled graphics in their 2D modes, so less work had to be done when emulating the GPUs of other tile-based systems
    3. The 3DS GPU, as far as I know, doesn't support those same tile-based modes anymore, so it becomes necessary to emulate the other systems' GPUs like you do on a PC: using a framebuffer and poking pixels (either one at a time if it's really accurate, or an entire scanline at once if it's something like snes9x), which is extremely slow in comparison, needing a lot of CPU power to compensate

    The old 3DS's CPU is pretty weak to begin with, so when you factor in all of the above, emulators just begin to overwhelm it quickly. As far as the PSP goes, I wouldn't be surprised if it could do more work per cycle than the 3DS's (leaving aside the fact that you can run dynarecs on the PSP from userland with no restrictions), but I have no numbers or stats on that.
     
    Last edited by daxtsu, Mar 5, 2016
    Games&Stuff, ihaveamac and ArugulaZ like this.
  3. hacksn5s4

    hacksn5s4 Banned

    Banned
    4,332
    450
    Aug 12, 2015
    but they could make an emulator that uses arm 9 instead
     
    Last edited by hacksn5s4, Mar 5, 2016
  4. Sumea

    Sumea Disco Ninja Frog

    Member
    1,472
    269
    Aug 16, 2008
    Finland
    Turku
    Sure, "hey what should we do with this 268mhz dual core processor mate" "I dunno discard it; Let's use the 134Mhz Single core ARM9 instead"

    not to ignore the fact that in 3DS mode it is already occupied as the security processor that is like wanting to hack the wii u to run homebrew on it's ARM security processor for no real good reason
     
  5. Osakasan

    Osakasan GBAtemp Advanced Fan

    Member
    789
    446
    Sep 19, 2015
    New 3DS is there, so there's no challenge/interest on optimizing for o3DS
     
    CeeDee likes this.
  6. hacksn5s4

    hacksn5s4 Banned

    Banned
    4,332
    450
    Aug 12, 2015
    if they made gba flirm i wonder if they could make snes flirm and simulate the snes they did it with gba the arm 9 can do arm 7 functions the snes does not use arm 7 but its graphics are similar to the gbas meaning emulating on arm 9s better
     
    Last edited by hacksn5s4, Mar 5, 2016
  7. Lemon_

    Lemon_ Advanced Member

    Newcomer
    54
    82
    Oct 31, 2015
    Argentina
    Yeah I flashed a SNES firmware to my phone and now I can play Super Metroid on the go.
    The architectures are different.
     
  8. hacksn5s4

    hacksn5s4 Banned

    Banned
    4,332
    450
    Aug 12, 2015
    it only sucks at emulating gba blarg snes is good and theres agb filrm so theres no problem and the playsation emlators buggy anyways and won't ever run full speed even on new 3ds. I tested gb sp cia and it runs pokemon full speed it only lags on the tilte screen be cause of the effects. It only lags on games that use 3d graphics like mario kart or have effects. also gb_sps a port if more of the emulators were made for the 3ds they would probs run way better. Most of the emulators on the ds are not ports same with the psp
     
    Last edited by hacksn5s4, Mar 5, 2016
  9. koim

    koim GBAtemp Regular

    Member
    172
    192
    Apr 16, 2015
    France
    there's no way something that's not even able to run super mario kart deserves to be called good. honnest given its progress at best.
     
  10. hacksn5s4

    hacksn5s4 Banned

    Banned
    4,332
    450
    Aug 12, 2015
    thats because the emulators not that old and they have to figure out fx and mode 7 and super ciruit has all super mario kart tracks use agb flirm and play that instead
     
    Last edited by hacksn5s4, Mar 5, 2016
  11. Sumea

    Sumea Disco Ninja Frog

    Member
    1,472
    269
    Aug 16, 2008
    Finland
    Turku
    Sure, after you also install SNES compatible hardware into 3DS. ARM9 works for GBA and NDS because both consoles used ARM7-9 processors. SNES did not so... Doesn't work, unless you wanna take your soldering skills to the absolute next layer next level yo!
     
    Kyouken likes this.
  12. Luglige

    Luglige hiatus

    Member
    1,409
    1,531
    Jan 24, 2016
    Antarctica
    under your bed
    NES works fine on o3ds, and that's enough for me. And I can play Earthbound on a 2ds
     
  13. The Minish LAN

    The Minish LAN hi

    Member
    485
    547
    Sep 9, 2015
    discord
    SNES games are coming to n3DS.
     
  14. parasyte

    parasyte Newbie

    Newcomer
    9
    4
    Nov 16, 2005
    United States
    The PSP doesn't really handle the SNES all that well and it can't handle anything newer than that. The only reason it can do PSX games is the MIPS R4400 can run R3000a code, it's very similar to the backwards compatibility built into Nintendo's handhelds in that PSX games are virtualized rather than emulated.
     
    Wander's Hat likes this.
  15. hacksn5s4

    hacksn5s4 Banned

    Banned
    4,332
    450
    Aug 12, 2015
    the gba can even emulate snes the emulators really crappy and glitchy but it does run super mario world full speed but very glitchy and very few games run on it its amazing for the gba though and no im not talking about super mario advance 2
     
    Last edited by hacksn5s4, Mar 5, 2016
  16. The Minish LAN

    The Minish LAN hi

    Member
    485
    547
    Sep 9, 2015
    discord
    as was explained previously, the 3ds and ds/gba have different kinds of gpus
     
  17. hacksn5s4

    hacksn5s4 Banned

    Banned
    4,332
    450
    Aug 12, 2015
    still blarg snes is great and gyou got agb flirm for gba games theres no struggle with emualtion
     
  18. The Minish LAN

    The Minish LAN hi

    Member
    485
    547
    Sep 9, 2015
    discord
    With the VC SNES games coming out, it won't be long before people start creating applications to play custom SNES games, letting us play all the SNES games we would wish to play.

    Say goodbye to blargSNES.
     
  19. hacksn5s4

    hacksn5s4 Banned

    Banned
    4,332
    450
    Aug 12, 2015
    i have not got enough reaons to buy a new 3ds cause i only mainly play pokemon
     
  20. thatbooisaspy

    thatbooisaspy GBAtemp Fan

    Member
    367
    151
    Oct 28, 2015
    .
     
    Last edited by thatbooisaspy, Jun 3, 2017