Why do homebrew GBA emulators suck on the old 3ds?

Discussion in '3DS - Homebrew Development and Emulators' started by Cjmcgiv, Jul 15, 2017.

  1. Cjmcgiv
    OP

    Cjmcgiv GBAtemp Regular

    Member
    123
    19
    Jul 31, 2016
    Canada
    All the o3ds GBA emulators I've tried suck. The frame rate is low and that really hinders the experience, yet there are GBA virtual console games. Can anyone explain why to me?. I haven't tried any in a while, but if anyone can point me to on that runs well on the o3ds, that would be a huge help. I also have CFW so I have the ability to use CFW and Homebrew emulators.
     
  2. Lilith Valentine

    Lilith Valentine GBATemp's Wolfdog™ I drool on my knife

    Member
    19,380
    19,783
    Sep 13, 2009
    Antarctica
    Between insane and insecure
    GBA emulators on the 3DS are literally just that, emulators. Thus the games are emulated through the 3DS's hardware and software. Which we really don't have the much access to the 3DS's hardware for better emulation
    GBA injections aren't actually emulated, the 3DS actually has hardware for GBA games to work. The system simply reboots and loads into the GBA hardware for these games, basically the 3DS literally becomes a GBA.
     
    MKKhanzo and Tarmfot like this.
  3. MegaKyurem

    MegaKyurem GBAtemp Regular

    Member
    156
    30
    Jul 4, 2016
    United States
    I think it's because the games aren't being run with the built-in 3ds emulator. Compare it more to TWLoader (which loads DS Games off of your SD Card). The reason it's slow is similar to why TWLoader is slow is because it runs the .nds files off of the sd card. The reason why homebrew emulators run slow is similar. The way nintendo is running these emulators is by having an emulator coded in the firmware, and turning the .gba or .gb, etc. into a native 3ds files (.cia, not the .3ds used in cartridges). That way the 3ds can run it quicker.

    Edit: Forgot so say that the 3ds is using a different firmware just for the emulators. That's why you have to completely quit out of a non-3ds game (DSi, GBA, etc.) before you go to the home menu.
     
    Last edited by MegaKyurem, Jul 15, 2017
  4. Cjmcgiv
    OP

    Cjmcgiv GBAtemp Regular

    Member
    123
    19
    Jul 31, 2016
    Canada
    Ahhhh. I understand now. Thanks for the explanation. So the only real way to get good GBA emulation is on a n3ds? Hmmm, well I'm poor so oh well.
     
  5. MegaKyurem

    MegaKyurem GBAtemp Regular

    Member
    156
    30
    Jul 4, 2016
    United States
    It's bad on homebrew on the new3ds as well. If you want to emulate gba games or rom hacks of gba games, just get a CFW and you can inject gba games into .cia files, so that the 3ds uses it's own emulators.
     
  6. Cjmcgiv
    OP

    Cjmcgiv GBAtemp Regular

    Member
    123
    19
    Jul 31, 2016
    Canada
    Oh awesome, as I stated in the original post, I have CFW. Is there a guide you can link me to to inject GBA games into cia files?
     
  7. Lilith Valentine

    Lilith Valentine GBATemp's Wolfdog™ I drool on my knife

    Member
    19,380
    19,783
    Sep 13, 2009
    Antarctica
    Between insane and insecure
    It runs horribly on the new3DS as well.
    The only real way to play GBA games properly on the 3DS is GBA injections or until someone finds better approach to GBA emulation
     
    MKKhanzo likes this.
  8. MegaKyurem

    MegaKyurem GBAtemp Regular

    Member
    156
    30
    Jul 4, 2016
    United States
    This link has guides for every emulator that's on the 3ds (and *I think* some more): https://gbatemp.net/search/45605693/?q=[Release]&o=date&c
     
  9. Cjmcgiv
    OP

    Cjmcgiv GBAtemp Regular

    Member
    123
    19
    Jul 31, 2016
    Canada
  10. Hopalongtom

    Hopalongtom GBAtemp Regular

    Member
    212
    31
    Mar 14, 2009
    You have CFW, so why not use Virtual console injects? They run natively off the hardware then, no emulation needed! They work just fine on Old and New 3DS!
     
  11. Cralex

    Cralex Advanced Member

    Newcomer
    96
    35
    Jul 29, 2016
    United States
    Fun fact: Nintendo was apparently working on GBA Virtual Console using emulation instead of natively at some point. If you inject a GBA game into another Virtual Console title, it will load the GBA game with traditional Virtual Console features, including restore points... It'll just run very poorly, like community emulators do. Source: http://3dbrew.org/wiki/3DS_Virtual_Console#Regular_VC
     
  12. MegaKyurem

    MegaKyurem GBAtemp Regular

    Member
    156
    30
    Jul 4, 2016
    United States
    GBA games run fine at full speed for me.. (Unless you meant an old glitchy way that didn't use CFWs) I tested it on both a new and old 3ds.

    Edit: Nevermind, I didn't understand what you were saying.
     
    Last edited by MegaKyurem, Jul 15, 2017
  13. Ominous66521

    Ominous66521 GBAtemp Maniac

    Member
    1,055
    234
    Feb 7, 2016
    United States
    You can download premade injectable gba vc roms that are in CIA format from the iso site.I inject the unplayable ones with lag issues (while running them on the emulator) while I keep the playable ones on the emulator to save space on the home menu.
     
    Last edited by Ominous66521, Jul 15, 2017
  14. Majickhat55

    Majickhat55 The Red Woman

    Member
    2,940
    1,374
    Mar 28, 2016
    United States
    Asshai
    I still use MGBA (The CIA version) for some Rom Hacks that refused to save when injected (Pokemon Glazed, Pokemon Chapter Red) and they work flawlessly on both my O3DS and N3DS. I thought it was only SNES emulators that ran like crap on the O3DS. All the GBA roms I've tried through MGBA have run pretty well.
     
  15. sks316

    sks316 Retro Enthusiast

    Member
    1,421
    632
    Nov 28, 2013
    United States
    Hyrule
    It's because they run in userland, which has very low level access. If we could reboot into AGB_FIRM in userland, we'd be able to play the games at decent speed, but since we can't get that deep in userland, we have to emulate them as best we can. No emulator is perfect, and since this is running on the 3DS in userland, it lags like hell. You can, however, reboot into AGB_FIRM to play your GBA games at full speed if you have CFW.