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.
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
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.
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.
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
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.
> 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
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.
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 :)
>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.
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.
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...
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
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.
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:
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.
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.
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.
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
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.
"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"?
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?
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.
> 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.
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.
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.
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.
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!
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
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?
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.
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.
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.
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.
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.
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
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
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
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.
I hope you guys are aware of the Church of Kondo?
3 replies →
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!
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.
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!
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.
4 replies →
> 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
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.
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 :)
Similar, but IIRC I used esnes, not zsnes.
>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.
Emulating the SNES on contemporary PC hardware. For shame!
3 replies →
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.
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...
haha, I was playing Final Fantasy V during computer class in HS.
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
With how long SNES emulators been around, I sometimes wonder if more people played Nintendo games on emulators than actual Nintendo consoles.
Their home page is underselling how cool this is:
MVG did a great overview of it: https://www.youtube.com/watch?v=r5twUkvYFpA
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.
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/
1 reply →
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
The original is timeless and way more beautiful in my opinion.
Not at least slapping a pixel font on there is an odd choice given the purposeful nostalgia goal.
Nesticle is a nostalgia bomb for me.
1 reply →
The widescreen mode is surprisingly functional, wow
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.
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.
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.
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.
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
it's doubly funny because once the tools are released to public i bet majority of those high-res mods will be ai generated.
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.
> But I wonder does this mean no AI was used at all? Even for say, code review?
Would that be surprising to you?
Why do you ask?
1 reply →
"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"?
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?
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.
> 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.
> is it worth the headache of supporting way more hardware combinations?
no.
Probably is one of those of "because its fun" type of projects.
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
> No Vibe Coding. Classic development style.
This is fast becoming a feature people want.
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.
You know full well that LLMs don't simply spawn from nothingness. These things don't exist in a vacuum, technically nor politically.
1 reply →
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.
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.
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!
Why is this using Unity? That's insane? How do we know this is not malware?
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.
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
sighs unzips ROM files...
Was not expecting it to be using Unity. Also looks to be closed source for now.
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?
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.
Unity = Decompilable (except for IL2CPP or obfuscated binaries)
I see libsteam plugin in archive. Are they planning to release it on Steam?
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.
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
Search archive.org. All old games are archived. Since the games are no longer selling, imo this is fair.
"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.
Very cool to see ZSNES back. The per-game enhancement approach sounds way more interesting than generic HD filters, especially with optional toggles.
> 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...
Sick. Been meaning to replay Link to the Past.
Is this a ParaLLEl-like implementation? I couldn’t work it out from the video.
no source code available?
Old ZSNES was GPL. And it looks maintained and forked over. https://github.com/xyproto/zsnes/
Welp, guess I’m gonna do another speedrun of Super Metroid just like the good old days.
I see ZNES and I upvote.
"Wide Screen (where available) - We enable widescreen whenever the game is internally coded to support partial or full widescreen."
This was always my favorite emu. No problems on a Pentium 60 MHz.
Plus you can make your own cheat codes!
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.