Super ZSNES – GPU Powered SNES Emulator

(zsnes.com)

166 points | by haunter 3 hours ago

15 comments

  • arecsu 1 minute ago
    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

  • bityard 2 hours ago
    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

  • carrja99 3 hours ago
    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.
    • pdntspa 2 hours ago
      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!

      • zerocrates 42 minutes ago
        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.
      • butz 1 hour ago
        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 :)
    • bitwize 2 hours ago
      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...
    • BiteCode_dev 2 hours ago
      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.

  • jsd1982 2 hours ago
    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.
  • jmarcher 3 hours ago
    Their home page is underselling how cool this is:

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

    • AdmiralAsshat 2 hours ago
      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.

    • micheljansen 1 hour ago
      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

      • zerocrates 11 minutes ago
        Not at least slapping a pixel font on there is an odd choice given the purposeful nostalgia goal.
      • poolnoodle 1 hour ago
        The original is timeless and way more beautiful in my opinion.
    • adzm 2 hours ago
      The widescreen mode is surprisingly functional, wow
  • bredren 1 hour ago
    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.

    • llmssuck 15 minutes ago
      "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"?
    • bowsamic 1 hour ago
      > But I wonder does this mean no AI was used at all? Even for say, code review?

      Would that be surprising to you?

  • honkcity 1 hour ago
    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!
  • kayson 3 hours ago
    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?
    • ndiddy 2 hours ago
      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.
    • masklinn 1 hour ago
      > 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.

    • aruametello 2 hours ago
      > is it worth the headache of supporting way more hardware combinations?

      no.

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

  • llmssuck 14 minutes ago
    Why is this using Unity? That's insane? How do we know this is not malware?
  • yesman_x 2 hours ago
    Very cool to see ZSNES back. The per-game enhancement approach sounds way more interesting than generic HD filters, especially with optional toggles.
  • itintheory 2 hours ago
    > 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...

  • ranger_danger 2 hours ago
    Was not expecting it to be using Unity. Also looks to be closed source for now.
    • miladyincontrol 17 minutes ago
      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?
    • Dwedit 55 minutes ago
      Unity = Decompilable (except for IL2CPP or obfuscated binaries)
    • butz 1 hour ago
      I see libsteam plugin in archive. Are they planning to release it on Steam?
  • arkensaw 52 minutes ago
    > No Vibe Coding. Classic development style.

    This is fast becoming a feature people want.

  • the-golden-one 2 hours ago
    Is this a ParaLLEl-like implementation? I couldn’t work it out from the video.
  • firebot 2 hours ago
    This was always my favorite emu. No problems on a Pentium 60 MHz.

    Plus you can make your own cheat codes!