The sad state of snes emulation

Discussion in 'Repair, Restoration, Conservation and Preservation' started by everett1911, Mar 24, 2011.

  1. everett1911

    everett1911 Robust Member

    Joined:
    Jul 30, 2008
    Messages:
    232
    Likes Received:
    2
    Whenever I find a console can be hacked to run homebrew programs on it, I wonder if there are emulators for it, for exemple the playstation 2, the nintendo ds, or even the dingoo a320, and there is something that has been bugging me to no end, and I assume you've probably figured it out when you read the title.

    Let's put things into perspectives: the dingoo can emulate the game boy advance at near-full speed, but it can't have super mario world on its snes emulator running at half speed without the sound. It's even more baffling on consoles like the DS, where snes performance will be uneven. I shouldn't have to fuck around with settings just to try to make the sprites show up in mortal kombat II! and even then it shouldn't be running at three quarters speed on such a console. Hell, my first computer had a 486dxII cpu in it along with 21mb of ram and a 1mb onboard video card. For those who don't know, intel cpu models ending in DX were made to fit on older motherboards.

    My computer was a boosted 386 and it did snes emulation better than the nintendo DS, the Playstation 2 and the dingoo a320 combined together.

    And then, assuming things get better someday (and those working on those emulators haven't given up on their console), there's the issue of missing features that have been around for at least a decade, if not longer, on computers. The most common thing I notice is that those emulators don't support secondary chips like every versions of the Super FX chip (from Star Fox to Doom) and graphic compression chips (meaning no mega man X2 and X3, for exemple).

    I mean, what gives? are the people working on these lazy or unexperienced? Like I said before, my first computer, which dated from 1995 (but which I got in 2000 - I was 12 back then), emulated snes games better than today's consoles. Sure, the Super FX games were too demending to be played on it at full speed but at least they worked.
     
  2. karsten

    karsten Member of The Cult Of Kefka

    Joined:
    Mar 14, 2004
    Messages:
    4,015
    Likes Received:
    149
    go search for bsnes.

    concerning the other matter, sfx and special custom chips are damn cpu demanding. also optimizations is an unknown word nowadays.
     
  3. DarthCloud

    DarthCloud Fiery Member

    Joined:
    Dec 26, 2007
    Messages:
    874
    Likes Received:
    14
    If your not happy, go ahead and improve the emulator yourself most of then are open source.

    Do you think people working on those emulator get paid for it? NO.

    They do it by passion and as an hobby. Most emulator on console are just simple port of the code of an existing emulator. That mean that the author of the port might not have the knowledge to optimize the emulation side.
     
  4. LeGIt

    LeGIt I'm a cunt or so I'm told :P

    Joined:
    Mar 13, 2004
    Messages:
    3,439
    Likes Received:
    31
    Hmm many emulator coders do get donations though, not really a living wage, but when they're getting money for something they planned to make as a hobby anyway kerching!

    To be honest though if I want to play a SNES gam... I play it on a SNES. Emulation is rather new to me but I don't really car to emulate everything on everything else - I'm quite content to just use my X360 pad on my laptop and be done with it.
     
  5. Jamtex

    Jamtex Adult Orientated Mahjong Connoisseur

    Joined:
    Feb 21, 2007
    Messages:
    5,472
    Likes Received:
    16
    Indeed if you want to play SFC / SNES games then buy a SFC / SNES. Emulation is always hit and miss as it normally a programming exercise or a labour of love rather then wanting to have 100% emulator, hell the Sinclair Spectrum which is quite a basic machine only has a single emulator that can emulator the Spectrum completely accurately, but there are still hundreds of the damn things in varying states of usefulness.
     
  6. XerdoPwerko

    XerdoPwerko Galaxy Angel Fanatic Extreme - Mediocre collector.

    Joined:
    Sep 28, 2004
    Messages:
    3,216
    Likes Received:
    7
    That Snes emulator on the Wii works quite alright, though.

    It plays Rockman X3, and It plays Starfox 2 and it plays Yoshi's Island - aparently alright, as far as I know.
     
  7. karsten

    karsten Member of The Cult Of Kefka

    Joined:
    Mar 14, 2004
    Messages:
    4,015
    Likes Received:
    149
    the only accurate emulator out there is bsnes as i said. all the others are more like simulators of the various parts
     
  8. masterturk

    masterturk Rising Member

    Joined:
    Jan 5, 2011
    Messages:
    52
    Likes Received:
    0
    It's not half bad on a psp
     
  9. feder

    feder Gutsy Member

    Joined:
    Apr 2, 2007
    Messages:
    417
    Likes Received:
    2
    SNES emulators now are more demanding than before, for two reasons, they're much more accurate than before, and processor are MUCH faster than 15 years ago.

    BSNES on it's accuracy mode, run the SNES perfectly and only ONE game is unplayable. The games with special chips are perfectly emulated (due to the recent dumping of the DSP ROMs, they have actual DSP emulation instead of simulation).
     
  10. Alchy

    Alchy Illustrious Member

    Joined:
    Apr 6, 2004
    Messages:
    6,216
    Likes Received:
    19
    bsnes is a stunning achievement IMO. I'll still take a real SNES/SFC for gaming any day of the week, though.
     
  11. Lum

    Lum Officer at Arms

    Joined:
    Sep 30, 2010
    Messages:
    3,233
    Likes Received:
    42
    A lot of emulators were made long ago when CPUs were less powerful. They had to cut various corners to run at any useful speed. Now that we have better PCs, it's taking years to recode them.

    I guess that and many emulator coders mainly port emulation cores from a system to another. More than write new ones taking advantage of each platform. Not that I'd know.
     
  12. derekb

    derekb Well Known Member

    Joined:
    Jan 7, 2009
    Messages:
    1,964
    Likes Received:
    44
    Yeah uh, sad state of snes emulation? IMO bsnes is one of, if not the, best emulators around because of byuu's dedication to making the emulation as true to actual real hardware as possible, instead of adding in tons of hacked together solutions to make things 'work'. Sure SNES might not run full speed on every device you own, but SNES emulation overall is in a better place than every other system thanks to bsnes. I dream of the day that the n64 gets an equivalent to bsnes, and I also dream of the 700 gigahertz 24 core processor that will be able to run it.
     
  13. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    Keep in mind bsnes is supposed to mimic the exact behaviour of a real snes, thus it might be just as demanding :)

    If they would make an even reasonable ammount of money, the big ones (Ninty & co) would probably notice them and put them out of the game as for violating licensing & patents. The road to glory is a low flight! :)


    Due to the shading nature of the vertex & light pipeline (done by the RCP) it is not so easy..altho you could probably overcome the burden with instruction sets like MMX...Hmmm.... Actually, thinking of it, could it had been the first rendering machine to implement such shader architecture ever?
     
    Last edited: Mar 26, 2011
  14. Alchy

    Alchy Illustrious Member

    Joined:
    Apr 6, 2004
    Messages:
    6,216
    Likes Received:
    19
    bsnes is a good deal more demanding than ZSNES or SNES9x. I think 2GHz is usually quoted as the minimum requirement.
     
  15. Calpis

    Calpis Champion of the Forum

    Joined:
    Mar 13, 2004
    Messages:
    5,906
    Likes Received:
    21
    Actually today's top of the line hardware isn't far off of running a low level N64 emulator with perfect synchronization at around full speed. N64 has high frequency components, but there are only 3 of them to worry about and they are far more straightforward with less idiosyncrasies than old hardware, plus they map well to modern hardware. In the past I think the difficulty of N64 emulation wasn't so much the hardware itself (though I suppose a lot was unknown then, and still is unknown to an extent) but the necessity to hardware accelerate (dynamic recompilation and offloading rendering) meant a highly sophisticated emulator.

    Emulators, particularly "low level" ones, are sluggish in part for their accuracy which adds a lot of conditional code (the biggest hit to performance), but equally because the low level model is typically implemented by HIGH LEVEL code; so ancient emulators were fast not just because they were inaccurate, they were fast because they were often written in assembly and used optimized algorithms as it was a necessity.

    bsnes is very accurate, for a software emulator, but it's not Turing-complete/hardware accurate. It's accurate to the point of transparency to 65816 software, and it might be though unlikely "pixel perfect". IIRC it's written in a hybrid of obscenely low level (like clock toggling) and traditional abstraction, implemented in a highly object-oriented fashion. Losing the OOP and targeting things at an even lower level manner would retain or improve upon the accuracy, and probably improve performance, but the code would be harder to maintain and make it probably incomprehensible to most programmers today.

    In conclusion, it's no longer necessary to write emulators in assembly, or use dynamic recompilation and 3D acceleration for pre-Dreamcast systems, but still efficient hardware-modeled C code is the most elegant accuracy-performance tradeoff if the author understands hardware and is on top of CPU trends/profiling/lossless speedups.
     
    Last edited: Mar 26, 2011
  16. MottZilla

    MottZilla Champion of the Forum

    Joined:
    Feb 1, 2006
    Messages:
    5,066
    Likes Received:
    102
    You should realize that ports of emulators for SNES are generally ports of SNES9X as it is one of the more suitable open source emulators for porting. Because of this, platforms that aren't a PC will have their performance based on two this. How well the porter knowns how to optimize the port for the target platform. And how fast the system is overall. The PSP is not particularly fast really. But with some optimizations it runs a SNES9X port pretty well. The Wii is probably a good bit faster than the PSP so it can run a SNES9X port better. But take something like the DS or these odd linux based devices I believe like that Dingoo or the GP2X and it gets shitty as these devices don't often have the muscle to run SNES9X very well. It may be related to a lack of optimization though.

    Really you shouldn't complain as you are getting something for free to more than likely play games you didn't pay for either. Particularly when you don't seem to understand the situation.

    The Playstation 2 could more than likely out-do your 386 with SNES emulation if someone actually put forth a serious effort to port or develop a new SNES emulator for it. The problem is most non-PC platforms just get ports of existing emulators which are optimized for PC or just rely on the brute strength of the PC. You aren't going to see BSNES ported to anything less than maybe PS3 or Xbox 360. There would just be no point as it needs alot of computing power to emulate SNES on the level of accuracy it does. But take some really old version of ZSNES and you could probably get that running pretty well on alot less hardware if it weren't for being highly optimized including ASM for the x86 PC platform.
     
  17. Shakey_Jake33

    Shakey_Jake33 Robust Member

    Joined:
    Dec 18, 2006
    Messages:
    230
    Likes Received:
    1
    bsnes is where Snes emulation should be - we're at a point where wer should be heading towards cycle-accurate, true-to-the-hardware emulation, and preserving the hardware. No disrespect intended towards the OP, but the OP's suggestion seems to be the antithesis of this.

    But I do know what the OP means. I rebought a PSP the other day, and MegaDrive/MegaCD emulation is basically full speed, and apparently CPS2 emulation is too. With that in mind, it is a bit surpruising that I have to play with 3x frameskip to play Snes Chrono Trigger. Completely opposing objective to bsnes of course, but I would say that Snes emulation is in a better state right now than any other console thanks to the efforts of byuu et al.
     
  18. kammedo

    kammedo and the lost N64 Hardware Docs

    Joined:
    Sep 24, 2004
    Messages:
    2,138
    Likes Received:
    12
    As far as I remember, the N64 was supposedly OpenGL 1.0 compliant?
     
  19. syntax error

    syntax error Spirited Member

    Joined:
    Jan 29, 2011
    Messages:
    108
    Likes Received:
    0
    Nintendo worked with SGI on the N64.
     
  20. Rodrigo

    Rodrigo Spirited Member

    Joined:
    Mar 12, 2010
    Messages:
    186
    Likes Received:
    0
    Ah emulation...

    Completely different architectures dude... it's like comparing oranges to apples.

    As for SNES emulation on PC, it is pretty much walking forward. Like everyone else said, byuu's working hard aiming accuracy. Plus, one thing I really like in byuu is the attention he gives to not-so-popular games. It is easy to praise an emulator that plays SMW, CT and TG3000 full-speed, but how about unknown games that you like but you won't be able to play? I am NOT against ZSNES or SNES9X in any way, I am just saying that SNES emulation has matured enough to try different approaches like byuu's.

    The SNES emulation on consoles have been evolving slowly but quite enough recently. Look at SNES9X GX/PS3. They have updates and have been progressing quite well. They focus on compatibility and speed it seems - I think that should be enough for emulators on consoles though.

    Things' being slow on handhelds though. SNES EUPHORIA for PSP isn't as fast as TYL and I haven't seen much of improvement over compatibility, but it is still developed at least. Been a while since I haven't seen anything on DS, but cmon, I have played FF VI on my old Zire 72 till last year... With savestate and graphic enhancements!

    My point is... (this situation) it is not as bad as it sounds. Just because it is Super Nintendo it doesn't mean it should run ultra fast on a microwave, it doesn't mean it is easy to emulate. And if you want to see it that way, you better have patience or code yourself.

    The emu scene has cycles, you know. Sometimes it all goes to some kind of slumber. I've seen it happening a few times in the last four, five years. After Chankast was found dead, everyone thought Dreamcast emulation was gone for good. People was sticking to hack Chanka get squeeze some FPS and compatibility. Then drk||Raziel came and brought NullDC out from nothing. And now it is the best DC emulator out there. And it's development is slow again. Till someone gets his hands on it, or a brand new project.
     
sonicdude10
Draft saved Draft deleted
Insert every image as a...
  1.  0%

Share This Page