How accurate are the SNES and GBA emulators on New 3DS?

Discussion in '3DS - Homebrew Development and Emulators' started by santiagoqrg, Oct 29, 2015.

  1. santiagoqrg
    OP

    santiagoqrg Newbie

    Newcomer
    7
    4
    Sep 16, 2015
    Argentina
    Hi,

    I was wondering which of following emulators is the most accurate one, since all run pretty good on the console.

    SNES
    • Snes9x Next
    • CATSFC
    • CATSFC Plus
    GBA
    • mGBA
    • gpSP
    And if you can provide a source, that would be great. I have a New 3DS v10.2 with ironhax 2.5

    Also, I was wondering if there is a way to test the accuracy of a given emulator (and different versions of each).

    Thanks.
     
    Playboxwii2 likes this.
  2. dtwpurple

    dtwpurple Advanced Member

    Newcomer
    80
    20
    Aug 20, 2015
    United States
    Vegas
    I would guess you can test accuracy with how many defects are in the game through the emu(ex. sound crackling,texture errors or glitches.) Basically comparing the game to a complete emulator on pc, or if you have them.
     
    Last edited by dtwpurple, Oct 29, 2015
  3. daxtsu

    daxtsu GBAtemp Guru

    Member
    5,546
    3,955
    Jun 9, 2007
    Antarctica
    For SNES, Snes9x Next is probably the most accurate out of those three (they're all snes9x, but Next is based on Snes9x 1.52. CatSFC (and also Plus, Plus is just CatSFC with Blargg's APU, resulting in much better sound than the regular Cat at the cost of performance) is based on 1.43. In least to most it's probably Cat, Cat Plus (only because of Blargg's APU), Next.

    For GBA, it's mGBA hands down, because as far as I know, endrift is doing lots of hardware tests to ensure accuracy while she develops the emulator, and gpSP was quickly written for performance and pretty good compatibility (that's not to say Exophase didn't do a nice job with the original gpSP of course).

    For emulator accuracy test stuff, this thread seems to have good info: https://forums.mgba.io/archive/index.php?thread-18.html
     
    Last edited by daxtsu, Oct 29, 2015
  4. SLiV3R

    SLiV3R 3DS Friend Code: 0473-9069-2206

    Member
    2,211
    1,044
    Jan 9, 2006
    As a 3dsx no GBA emulator runs pretty good on the N3DS. GBA emulators runs good as CIAs or with VC injection. An emulator has to run pretty good FIRST. THEN we can start thinking about accuracy.
     
  5. daxtsu

    daxtsu GBAtemp Guru

    Member
    5,546
    3,955
    Jun 9, 2007
    Antarctica
    He wasn't asking about performance at all, though. It's possible he might have been asking about accuracy merely for curiosity/knowledge purposes.
     
    Last edited by daxtsu, Oct 29, 2015
    SLiV3R likes this.
  6. tony_2018

    tony_2018 GBAtemp Psycho!

    Member
    3,106
    1,050
    Jan 3, 2014
    United States
    To me,all emulators are define on how they perform, not how accurate they are(whatever he means by being accurate). Do they load roms accurately? Do the games run accurately Like what does that mean....

    Again, to me, its about how well they perform.
     
  7. Playboxwii2

    Playboxwii2 Member

    Newcomer
    28
    9
    Oct 23, 2015
    United States
  8. daxtsu

    daxtsu GBAtemp Guru

    Member
    5,546
    3,955
    Jun 9, 2007
    Antarctica
    Accuracy in emulation generally means how well the emulator reproduces the system it's pretending to be. If the emulator is trading accuracy for speed, you can and will see glitches in games that never existed on the real thing, like garbage graphics (think NES with random tiles going all over), missing graphics or even something like AI or other game behaviour not working correctly (an example of this is Final Fantasy 1 on the NES, if the emulated RAM of the NES is cleared to all zero instead of 255 (0xFF), the RNG won't work properly, and you'll get weird enemy encounters).

    On the other side of the coin, accuracy also means reproducing glitches that do happen on the real hardware. Mega Man 3 on the NES is a perfect example of this. If the game's cartridge hardware (mapper) isn't emulated correctly, a glitch that happens on the real NES is actually fixed incorrectly: there's supposed to be a graphical glitch/glitched scanline above Shadow Man's boss box, but if the emulator isn't accurate enough, it won't be there.

    Don't get me wrong, it's possible to have a good deal of both accuracy AND speed. See BlargSNES, Snes9x, and GameYob for examples of this. They do have glitches in some games, but they're also quick and run a lot of games pretty accurately.
     
    Last edited by daxtsu, Oct 29, 2015
  9. tony_2018

    tony_2018 GBAtemp Psycho!

    Member
    3,106
    1,050
    Jan 3, 2014
    United States
    So being too accurate is also a problem when trying to reproduce a glitch in the game that is suppose to be there? Thats news to me, I've never notice an emulator never able to do that, NES that is. But thats outside of the 3ds zone. I haven't tried other games on Blarg yet, just a few. Actually...I can't find my o3ds.....probably boxed up since I'm moving anyways.
     
  10. daxtsu

    daxtsu GBAtemp Guru

    Member
    5,546
    3,955
    Jun 9, 2007
    Antarctica
    No, I wasn't trying to say that being too accurate is a problem, I'm saying that with increased accuracy, also comes reproduction of glitches that do happen on the real hardware. I guess if someone doesn't like the glitched scanline in Mega Man 3, then yes, an emulator that's too accurate would be a "problem", but that's why we have the ability to romhack things. :P
     
  11. kedest

    kedest GBAtemp Psycho!

    Member
    3,287
    110
    Feb 6, 2007
    Netherlands
    Accuracy can be very important in some games. I know that in A Link to the Past, some emulators mess up a puzzle because of inaccuracy
    There is a room where you have to throw a bomb onto a conveyer belt, which will take the bomb to a switch. On the real hardware, this worked just fine. But when you run it in a 'bad' emulator, timing is just a bit off and the bomb explodes too early, missing the switch. Fortunately there is another way to solve the puzzle, so it's not game-breaking

    How it should work:
    Go to index 5:19

    And when it doesn't work:
    Go to index 6:14
     
    Last edited by kedest, Oct 29, 2015
    daxtsu likes this.
  12. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,707
    9,575
    Nov 21, 2005
    United Kingdom
    When you say accuracy are you talking things like

    and
    http://arstechnica.com/gaming/2011/...-3ghz-quest-to-build-a-perfect-snes-emulator/

    There have been some interesting conversations on the matter over at romhacking.net in recent times, somewhat prompted by the fallout of the SNES Zelda IQ test hack.
    romhacking.net threads
    http://www.romhacking.net/forum/index.php/topic,20530.0.html
    another, albeit for the NES, http://www.romhacking.net/forum/index.php/topic,20554.0.html

    Testing accuracy on the GBA is a fun one. Most of my testing of stuff is reserved for flash carts and thus is mainly hardware and AP related ( http://gbatemp.net/threads/buying-a-gba-flash-cart-in-2013.341203/page-18#post-4756995 ). For GBA is has not really mattered yet for a lot of things so the battery of tests like you might be able to do for the SNES is not so developed. There are a few things I can mention, mainly stuff like the golden sun games and their music and if you float around the DSTwo help sections you can probably find some more trouble games to add to your list. @Surkow (not sure if that will work in this setup) might have some more to say here as this is one of his things. Likewise there has never been an inaccurate/properly speedhacked emulator like there was for the NES and SNES so there are no legacy ROM hacks that you might look into. Afraid I have no equivalent of an acid test for either SNES or GBA setups and I am not sure there are any.
    For the SNES... ignoring the legacy ROM hack stuff you might also look into the writings from the author of bsnes/higan (the arstechnica article above is an interview with him), various parts of his blog were trimmed at various points but should still have something in.

    As with most embedded emulators that are not FPGAs or otherwise hardware accurate clones of the device in question then as the others have said if you can play it then be happy with it -- hyper accuracy is not usually a goal here and quite hard to achieve anyway.
     
    Playboxwii2 likes this.
  13. The Real Jdbye

    The Real Jdbye Always Remember 30/07/08

    Member
    GBAtemp Patron
    The Real Jdbye is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    12,289
    5,315
    Mar 17, 2010
    Norway
    Alola
    Not all defects are obvious unless you know exactly how a game looks, runs and sounds on real hardware though.
    CATSFC is based on a pretty old Snes9x version so for sure Snes9x Next is the superior emulator. However I can't say which one is more accurate since accuracy is rather difficult to measure. Certainly, none of them can compare to BSNES which was designed for accuracy and has much higher system requirements. The 3DS is not powerful enough to do accurate emulation.

    I don't have firsthand experience with mGBA, but have heard everyone going on about how it's superior to gpSP, and as far as accuracy goes, I wouldn't doubt that. gpSP is not very accurate and has lots of very obvious issues with various games, though it's quite fast. mGBA is still in early stages though so certain games may work better in gpSP while others almost certainly work better in mGBA.

    Personally I would go with Snes9x Next / mGBA but keep the others around in case there are certain games that work better in the others.
     
  14. Surkow

    Surkow Advanced Member

    Member
    56
    22
    Dec 17, 2012
    Netherlands
    As daxtsu mentioned, mGBA uses a test suite that tests various aspects (currently timing only) of hardware. This test suite is far from accurate or complete at the moment, though.

    @Nebuleon maintained a gpSP fork called TempGBA for the Supercard DSTWO flash card. Which is basically a stripped down Dingoo A320 using a MIPS architecture. I think the main limitation is that the cartridge bus that carried the video information from the DS is limited to around 40fps when using the DSTWO. The same limitation applies to the DS slot on the (New) 3DS.