NewsLab
Apr 28 20:32 UTC

Super ZSNES – GPU Powered SNES Emulator (zsnes.com)

321 points|by haunter||100 comments|Read full story on zsnes.com

Comments (100)

100 shown
  1. 1. carrja99||context
    ZSNES was a core part of my childhood. I downloaded it back when it was still fresh back in the late nineties / early aughts and used to emulate all matter of favorite games and homebrew translation projects for Star Ocean and Tales of Phantasia.
  2. 2. BiteCode_dev||context
    Also discovered the amazing Tales of Phantasia thanks to zsnes. The translation community did a bonker job bringing that from Japan, patching the game without even having the source code, like mad men. Without them, I would have never known such gems existed that were never sold on our market.

    The translation does take some liberties, but honestly, just for the boat scene, I feel like it's worth it.

    And being able to slow down or speed up the game at will, or quick save/reload at any second, thanks to zsnes, is just chef kiss.

  3. 3. bitwize||context
    Favorite ZSNES moment: I took a math class in a lecture hall equipped with laptops in a year when my university was experimenting with laptops as a pedagogical tool, but hadn't yet pulled the trigger on requiring them or offering them for sale (as compared to the standard dorm room desktop). While the lecture was being given, we were supposed to have our laptops open with the lecture material up. But of course this one kid had installed ZSNES on his and was playing Killer Instinct...
  4. 4. carrja99||context
    haha, I was playing Final Fantasy V during computer class in HS.
  5. 5. pdntspa||context
    I beat Chrono Trigger on a 486 with sound and transparencies disabled. There were parts where I had to manually switch off the top layer because transparent stuff (such as clouds) would completely block my view

    When my parents weren't home I'd move to their pentium 166mhz with my savestates copied to a floppy and sneak some time playing the game with sound and transparencies.

    I think I also got through most of super mario world and some of the final fantasy games as well

    Fun times!

  6. 6. butz||context
    Thanks for reminding about missing transparency. I think seeing those games in emulator with transparency support had almost same impression as running Need for Speed III with 3dfx card for the first time :)
  7. 7. zerocrates||context
    Yeah, I want to say you could press the number keys or F keys or something like that to toggle layers on and off, and it was absolutely necessary in some misty forest/jungle/waterfall type areas.
  8. 8. LarsDu88||context
    Emulating the SNES on contemporary PC hardware. For shame!
  9. 9. pdntspa||context
    Dude we were broke and my 486 was a hand-me-down from church. The first console I ever got was a Nintendo 64, and that was very late into its lifecycle. I can assure you that 486 was not contemporary, it was very much behind the times when I had it.
  10. 10. hsbauauvhabzb||context
    I’d be curious if you could squeeze out better performance with a newer emulator. Either way, SNES games on a 468 is not shameful, it’s the pinnacle of hacker ethos!
  11. 11. jamiejquinn||context
    Newer emulator or even a recompilation of an old one. I'd bet there are a few modern compiler tricks that would help even on decades old CPUs.
  12. 12. isk517||context
    I gave up on my first play through of Chrono Trigger because I couldn't figure out how to progress in the future world. Didn't realize that the clouds in the dome were supposed to be transparent and not something that I need to trigger a different event to clear up.
  13. 13. pdntspa||context
    Yeah I'm not sure how I figured that trick out, probably just monkey mashing buttons at some point, then I figured out SNES graphics were layers and it was a lot of fun switching the various layers on+off. And hey that turned out to be useful!
  14. 14. _jackdk_||context
    My first playthrough of Chrono Trigger was stopped cold because my PC couldn't send enough simultaneous keypresses to unlock a door.
  15. 15. skhr0680||context
    L R A
  16. 16. pcthrowaway||context
    The workaround for this was to assign all the buttons to the same key before chasing the rat (I had this exact problem with zsnes, though my first few playthroughs were on the original cartridge)
  17. 17. cholantesh||context
    >There were parts where I had to manually switch off the top layer because transparent stuff (such as clouds) would completely block my view

    Yeah, that was my experience too; Dome 16 was a total annoyance. I did also use it to 'cheat' in sections of games where you had limited FOV, the alternative of having eyestrain and headaches wasn't really desirable.

    I don't think I'd have gotten through a lot of my favourite RPGs without savestates, save points were always so ridiculously spread out while the random encounters were interminable. Still some of the best experiences I've had in the medium though.

  18. 18. aidenn0||context
    Similar, but IIRC I used esnes, not zsnes.
  19. 19. nextaccountic||context
    > I beat Chrono Trigger on a 486 with sound and transparencies disabled. There were parts where I had to manually switch off the top layer because transparent stuff (such as clouds) would completely block my view

    Also, you could get better performance running on DOS rather than on Windows

    The same was true for gameboy emulators too

  20. 20. shifto||context
    Wow, I remember specifically buying a sound card and CD-rom drive for my 486 so I could run the GB emulator. It wouldn't boot without a sound card and I really wanted to play the non-translated version of Pokemon Gold. People wouldn't believe me when I told them I had a newer Pokemon game than Red/Blue/Yellow.
  21. 21. jmarcher||context
    Their home page is underselling how cool this is:

    MVG did a great overview of it: https://www.youtube.com/watch?v=r5twUkvYFpA

  22. 22. AdmiralAsshat||context
    It's understandable that they went in this direction. Higan/bsnes has already captured the market for "accuracy" on the SNES emulator front, so this is more going off and doing its own thing rather than re-treading familiar ground.

    I suppose my only concern is what it will do to the hardware requirements, since ZSNES' original claim to fame was how well it was able to run on limited hardware, even if it had to do a bunch of clever hacks to get there.

  23. 23. snvzz||context
    Or, thanks to bsnes/higan/ares[0], SFC accuracy is solved, thus it should be much easier for any new emulator to be accurate.

    i.e. accuracy should be the baseline; I understand Super ZSNES is not there yet.

    0. https://ares-emu.net/

  24. 24. pezezin||context
    Ares is a seriously underrated emulator. I don't use it much now that I have a MiSTer, but it is by far my favourite emulator on desktop.
  25. 25. rincebrain||context
    Kind of?

    Accuracy is valuable, but as illustrated by the early days of people using buggy emulators for SNES games on phones and the DS/3DS, people will tolerate buggy but running on their hardware over correct but unplayable.

  26. 26. adzm||context
    The widescreen mode is surprisingly functional, wow
  27. 27. micheljansen||context
    Impressive, but oh man, the transition from the original ZSNES User Interface from my childhood to the UI of Super ZSNES was jarring to say the least. Nostalgia is powerful:

    https://imgur.com/a/R63BKTe

  28. 28. poolnoodle||context
    The original is timeless and way more beautiful in my opinion.
  29. 29. zerocrates||context
    Not at least slapping a pixel font on there is an odd choice given the purposeful nostalgia goal.
  30. 30. rincebrain||context
    If you slapped a pixel font in, you'd really want to rework the whole UI to not look jarring with the aliased font you'd most likely use to evoke the nostalgia, and that's a substantial rabbit hole, but also not one you necessarily need to rework the underlying functionality to do, e.g. it's easy to do later if you build it right initially.
  31. 31. NuclearPM||context
    Nesticle is a nostalgia bomb for me.
  32. 32. xantronix||context
    I felt like the coolest fucking kid on the block for having that icon on my desktop.
  33. 33. rincebrain||context
    You may enjoy this[1] article about its history and where the dev wound up.

    [1] - https://web.archive.org/web/20180329033107/https://motherboa...

  34. 34. kayson||context
    Very cool, especially the accuracy improvements. But is GPU really necessary? SNES is so old I wonder why you couldn't get away with CPU-only. Even if GPU is more efficient, is it worth the headache of supporting way more hardware combinations?
  35. 35. aruametello||context
    > is it worth the headache of supporting way more hardware combinations?

    no.

    Probably is one of those of "because its fun" type of projects.

  36. 36. ndiddy||context
    The visual enhancements the emulator is capable of doing (high-res Mode 7, texture replacements, shaders, that sort of thing) wouldn't run well with software rendering. The emulator uses Unity so they don't have to do all the low-level GPU support work themselves.
  37. 37. masklinn||context
    > SNES is so old I wonder why you couldn't get away with CPU-only.

    Depends what level of accuracy you want. higan (bsnes) does cycle-accurate SNES emulation on the CPU (and has for more than a decade) so that's definitely feasible.

    If you want accuracy beyond that things get dicey. AFAIK when you get down to transistor level emulation, you can do pong but MetalNES runs nowhere near real time, so the limit for that is somewhere between those two systems.

  38. 38. firebot||context
    This was always my favorite emu. No problems on a Pentium 60 MHz.

    Plus you can make your own cheat codes!

  39. 39. zapzupnz||context
    Super ZSNES and the original ZSNES are not the same emulator. Same developers, different codebases entirely. The linked website is about the newer Super ZSNES.
  40. 40. yesman_x||context
    Very cool to see ZSNES back. The per-game enhancement approach sounds way more interesting than generic HD filters, especially with optional toggles.
  41. 41. ranger_danger||context
    Was not expecting it to be using Unity. Also looks to be closed source for now.
  42. 42. butz||context
    I see libsteam plugin in archive. Are they planning to release it on Steam?
  43. 43. Dwedit||context
    Unity = Decompilable (except for IL2CPP or obfuscated binaries)
  44. 44. miladyincontrol||context
    Thats the part I'm a bit apprehensive for, rather I'd be curious what led them down that decision for an emulator of all things. Or is it just a bit of portability and shader technical debt?
  45. 45. ndiddy||context
    In general the way people make money off emulation is by selling it to iOS/Android users. In this case, it's free on PC and the Android version is $3. The emulator needs to be closed source for this business model to be feasible.
  46. 46. bityard||context
    The "uncompressed audio replacements" will be pretty nice, it will be interesting to see what comes of those.

    There is a guy, Mathew Valente (a.k.a. TSSF), who put in a surprising amount of effort tracking down the original samples used by the composer of the SNES and PSX Final Fantasy games, Nobuo Uematsu. Nearly all of the samples came from various contemporary hardware and software synthesizers. Mathew found most of them (possibly with community collaboration, no small feat either way!) and took those original samples and remastered Nobuo's tracks. If you watch his videos, this was not a simple drag-and-drop operation, there is quite a lot of technical, musical, and subjective work and decisions to be made. The results are just beautiful.

    If you liked classic Final Fantasy music, you'll love his channel. Here's one of my favorites: https://www.youtube.com/watch?v=XQhxNkZH-DE

  47. 47. ranger_danger||context
    Jammin' Sam does the same thing with Donkey Kong games and some others: https://www.youtube.com/@JamminSamMiller/videos

    You can also find MSU-1 packs that include his tracks so you can play the games with the enhanced audio.

  48. 48. philistine||context
    I hope you guys are aware of the Church of Kondo?
  49. 49. bityard||context
    I am now!
  50. 50. ranger_danger||context
    I was not, thanks! Username does not check out.
  51. 51. christophilus||context
    Unfortunately not being updated anymore. :/
  52. 52. hung||context
    Super weird that they went to the trouble of finding all the samples and the output audio has noticeable lag in it. Compare to the original and you can hear it lagging in the 3rd measure. https://www.youtube.com/watch?v=JLrsUOA4Vb4
  53. 53. CTDOCodebases||context
    There is an example of that feature on the Modern Vintage Gamer youtube channel. See the timestamped link below. He has a whole video covering Super ZSNES.

    https://youtu.be/r5twUkvYFpA?t=617

  54. 54. rowanG077||context
    holy shit, I regularly listen to Final Fantasy music, including the SNES era and I did not know about this. Thanks for making my week!
  55. 55. MrBuddyCasino||context
    Checkout the SNES Waterworld soundtrack.
  56. 56. akarlsten||context
    I don't think this is necessarily good or even desirable, a lot of the SNES music was composed with the compression in mind and sounds off and weird when "remastered" like this.

    Like this Pitchfork writer expressed it here about a classic SNES track from Donkey Kong Country:

    Take one listen to “Stickerbush”’s fan-made “restored” version and you’ll understand why these compositional limitations are so integral. Here, the instruments appear uncompressed and reproduced through FL Studio. Wise’s wistful songwriting is retained, but completely missing is his intentionally impure palette. The instrumentation turns flat and unimaginative. Once-heavensent piano timbres are suddenly as ordinary as any run-of-the-mill ’90s new age track; the alto sax lead actually sounds like an alto sax, losing its unreal texture. Wise’s essential deployment of tension is absent without the compressed grain that elevates it. The idea of restoration is a “misnomer,” Wise said. He always meant for the song to be tethered to the restrictions of the SNES; he wanted to make limited sounds feel limitless. Like the comments section of the internet checkpoint, “Stickerbush” is a living time capsule.

    https://pitchfork.com/reviews/tracks/david-wise-stickerbush-...

  57. 57. BubTheBuilder||context
    For an example of a really horrible audio "upgrade", check out the Ninja Gaiden Trilogy (remake) on the SNES where they replaced the well-crafted NES instruments with SNES samples just triggered for the same notes and beats. Theoretically could have sounded amazing but is like nails on a chalkboard. Not apples to apples comparison with these SNES->SNES restorations of course.
  58. 58. b3ing||context
    They picked jazzy samples instead of actually thinking about how each track should sound. Many definitely deserve pipe organ, violins, harp, guitar or something better than horns. I don’t think the NES had real instruments it was mostly square/sine waves, but it was done in a way you could imagine the pipe organ, etc.
  59. 59. the-golden-one||context
    Is this a ParaLLEl-like implementation? I couldn’t work it out from the video.
  60. 60. jsd1982||context
    It should be possible to have the PPU emulation capture all of the final register state per pixel (or scanline if accuracy isn't paramount) and have the GPU render each pixel using only that state, doing the layer blending, color math, and mode 7 calculations as necessary. Based on MVG's video breaking down the draw commands performed it doesn't look like that's how Super ZSNES have implemented their PPU - it seems to render tile by tile for BGs (and OBJ?) and line by line for mode 7. That'll be a bit inaccurate but it's likely necessary to implement some of their visual enhancement tricks.
  61. 61. BearOso||context
    I came up with something similar to your idea, a GPU compute PPU for future Snes9x. What they're doing is using legacy fixed-function API to draw quads, then blend a bump map on with the final image. It's weird. We have the tools to do some really cool things with GPUs, but they chose this. I'm more impressed by all the post-processing shaders people have come up with for all the other emulators.
  62. 62. itintheory||context
    > Currently implemented with support for 7 popular games.

    The enhancement engine sounds great, but it'd be nice to know which games it's for...

  63. 63. bredren||context
    One of the features is “no vibe coding, classic development style.”

    I think that’s kind of interesting, especially when building a retro enablement.

    But I wonder does this mean no AI was used at all? Even for say, code review?

    No judgment either way just curious for clarification.

  64. 64. bowsamic||context
    > But I wonder does this mean no AI was used at all? Even for say, code review?

    Would that be surprising to you?

  65. 65. bredren||context
    Why do you ask?
  66. 66. bowsamic||context
    I’m just curious if you are so dependent on LLMs that the idea of not using them at all seems extreme to you
  67. 67. bredren||context
    I see, good to be curious.

    "No vibe coding" is an ambiguous claim. I was asking whether they meant no AI-generated implementation, no AI assistance whatsoever, or just "not primarily generated by prompts."

  68. 68. llmssuck||context
    "no vibe coding" is different from "no ai". I'm not sure where the authors are going with this. No autocomplete? What level of autocomplete? No "deep learning"?
  69. 69. xtracto||context
    Funny, we now enter the era of "Made with Handcrafted Code" or "Handmade" . Same way as furniture, carpets and any other "handcrafts" are made now... or Lamborghinis
  70. 70. zokier||context
    it's doubly funny because once the tools are released to public i bet majority of those high-res mods will be ai generated.
  71. 71. unleaded||context
    This is from the original authors of ZSNES. I think they know what they're doing.

    smartassery aside LLMs are pretty shit at esoteric stuff like this. Especially retro stuff in my experience they mainly tend to get super excited about how awesome and retro it is & reiterate misunderstood factoids about it that it knows that aren't that important/that you probably know already. Like showing it to a Reddit comment section.

  72. 72. BearOso||context
    > This is from the original authors of ZSNES. I think they know what they're doing.

    ZSNES is popular because of legacy and nostalgia. It was very fast and came at just the right time, but the developers aren't quite coding gods. Their expertise on the SNES is no match for late/later developers like Near and Sour.

    With Super ZSNES, being a Unity project, you can get a fairly clear decompile of the IR, and the code doesn't seem all that impressive. It's alpha-quality, but generally coded like the original ZSNES was. Optimization is completely missing and accuracy is still out of whack, but synchronization is improved and it's doing a little better job of counting cycles. "GPU-powered" is a big stretch. ~~They're only taking advantage of it for fixed-function perspective transform on mode 7~~ Scratch that. It borrows the line-based algorithm from bsnes-hd, including the trick to interpolate the transform variables between mins and maxes. So the only GPU feature it uses is blending for bump-mapping.

  73. 73. jamesu||context
    I find the specific singling out of vibe coding interesting for a different reason; thinking back to just last month, I recall one of the rationales behind the huge DLSS5 backlash was it ruined the artists original vision. And here we are a month later being amazed at an emulator that literally lets any casual player do just that through a funky point and click interface!

    I guess if they added in an MCP server there would probably be a riot.

  74. 74. prmoustache||context
    It only makes sense for hobby projects where the outcome is just an excuse for the journey. I mean if the point is to have fun coding, you want to do it yourself.
  75. 75. pelasaco||context
    there is no way to measure it. The source code isnt available. Better a "classic development style" closed source or a "vibe coded" but open source?
  76. 76. honkcity||context
    I remember my dad explaining that our computer was fast enough that we didnt even need to bother with the actual hardware SNES anymore because it could be run directly on the computer which I thought was pretty amazing. I think it must have been via ZSNES, so its exciting to see further development of it!
  77. 77. arkensaw||context
    > No Vibe Coding. Classic development style.

    This is fast becoming a feature people want.

  78. 78. elpocko||context
    It's quickly becoming the most important question: have they used any matrix multiplications in the development of this incredibly niche software? Or did they use any other algorithms that I do not approve of? It's burning questions like these that keep me awake at night when I think about vintage hardware emulators.
  79. 79. xantronix||context
    You know full well that LLMs don't simply spawn from nothingness. These things don't exist in a vacuum, technically nor politically.
  80. 80. llmssuck||context
    Why is this using Unity? That's insane? How do we know this is not malware?
  81. 81. pixelatedindex||context
    Can’t speak about the Unity part, but why would it be malware? If you’re a dev with street cred, I’d imagine you won’t hurt it by putting out malware.
  82. 82. arecsu||context
    About the uncompressed audio replacements, it makes me wonder how difficult would it be to train a model with a huge (but simple) library of sound effects and samples of high quality, and also feed them their equivalents"low quality" sound signature close or identical to what SNES have. The technical data about the SNES limitations should be there to know how to process these effects as precisely as possible, right? I'm not really a sound guy, so I might be wrong.

    Maybe this could result in a much more automated way to re-sample many more sound effects from the SNES massively! Just a thought

  83. 83. dueltmp_yufsy||context
    Ah man, these guys rocked early on when I was younger. Still recall first booting up ZSNES to play a fan-translated Japanese-only RPG. It opened up a whole new world. Thanks, guys.
  84. 84. anthk||context
    Old ZSNES was GPL. And it looks maintained and forked over. https://github.com/xyproto/zsnes/
  85. 85. LoulouMonkey||context
    The creator of ZSNES did a very interesting interview a couple of months with Zophar from Zophar's Domain:

    https://www.youtube.com/watch?v=iG-oqvj4Tqk

  86. 86. throwatdem12311||context
    Welp, guess I’m gonna do another speedrun of Super Metroid just like the good old days.
  87. 87. add2||context
    "Wide Screen (where available) - We enable widescreen whenever the game is internally coded to support partial or full widescreen."
  88. 88. alanwreath||context
    I wonder is there any way to use this or rather get games to play on the emulator legally????

    It really is the only thing that keeps me from them. I’d pay to play quality retro games. Heck it would almost be educational for my kids.

  89. 89. nout||context
    Search archive.org. All old games are archived. Since the games are no longer selling, imo this is fair.
  90. 90. opan||context
    The most legitimate method would be to buy a physical cartridge and dump it with a cartridge dumper. You'll probably need to clean the pins with isopropyl alcohol and sometimes also a fiberglass pen to get them to read reliably.

    I don't have a specific cart dumper to recommend from experience, I have dumped GB/GBC/GBA games but not SNES. A quick search found some options, though.

    https://github.com/X-death25/SNES_Dumper

    https://stoneagegamer.com/retrode-2.html

    Also found some discussion here recommending the Sanni Cart Reader, but it's a 5 year old thread so there are likely cheaper or better options.

    https://www.reddit.com/r/Roms/comments/obrxg3/best_nessnesn6...

    That being said, I do not think there is really an ethical problem with grabbing someone else's cart dumps, whether you have a cart of your own or not, and legally I would be very surprised if you had any issues in the US at least. The coolest part about cart dumpers to me is for carts with save files, you can "rescue" them from the hardware and preserve your progress. In some cases the save relies on a battery that could go dead at any time.

    If you do end up collecting physical cartridges, I would also encourage you to get the actual console, and explore mods for it, get the best video signal out of it you can (RGB or component rather than composite). Playing on real hardware is cool. I'd also recommend getting a flashcart even if you do collect original cartridges, so you can try out homebrew, romhacks, fan translations, and ports. There's a guy who has been porting NES games to SNES.

    https://archive.org/details/@infidelity

  91. 91. flohofwoe||context
    "Don't copy that floppy!"

    Nobody cares when you play abandondend games from the 1980s and 1990s downloaded from a shady ROM dump site. At the worst Nintendo will go after the emulator project itself.

  92. 92. pryncevv||context
    just get the roms online
  93. 93. CM30||context
    If you're really concerned about legality, then I guess homebrew games do exist for the console:

    https://itch.io/c/1537684/snes-homebrew

    https://www.reddit.com/r/snes/comments/j6gguc/what_are_some_...

    Most of those are distributed as .smc/sfc files that can be run in emulators like this.

    But in 2026, it's probably not worth getting too bothered by the idea of downloading ROMs for a 20+ year old console.

  94. 94. joemazerino||context
    I see ZNES and I upvote.
  95. 95. HerbManic||context
    One of those things where GPU powered seems odd at first but actually makes a lot of sense. Means you can work with more than just the final outputs but can link in a lot deeper on the overall pipeline. Very cool.

    Will probably be the first of many emulators to come.

    A bit odd they are using Unity but I guess that gets them multi platform easily. Would be nice if they went something a bit more open like Godot but sometime you have to be pragmatic not ideal.

  96. 96. jbethune||context
    Sick. Been meaning to replay Link to the Past.
  97. 97. ohkaiby||context
    sighs unzips ROM files...
  98. 98. pelasaco||context
    no source code available?
  99. 99. maxglute||context
    With how long SNES emulators been around, I sometimes wonder if more people played Nintendo games on emulators than actual Nintendo consoles.
  100. 100. pryncevv||context
    When I was 12 (like around 2015) & able to install emulators on my laptop I wanted to play chrono trigger on an emulator (after already beating several other emulated games; but all on my phone) .. I picked ZSNES because I fancied the name more than Snes9x.. I'll never forget the snowy menu of ZSNES, it was so beautiful for me