42 comments

[ 2.9 ms ] story [ 56.0 ms ] thread
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.
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?
This was always my favorite emu. No problems on a Pentium 60 MHz.

Plus you can make your own cheat codes!

Very cool to see ZSNES back. The per-game enhancement approach sounds way more interesting than generic HD filters, especially with optional toggles.
Was not expecting it to be using Unity. Also looks to be closed source for now.
We are extremely well served in open source and free options for SNES emulation. The dev wants to make something new, is using Unity for multiplatform and gor partial shader code abstraction and he has proven he can deliver good stuff if properly funded.

Let the man cook, and if you have some technical question, i'm sure Lord would answer you.

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

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-...

Is this a ParaLLEl-like implementation? I couldn’t work it out from the video.
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.
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.
> 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...

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.

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.

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.
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?
Since it's obviously written in a casual, conversational, tone we should not expect the language to be perfectly precise. So, given that and the fact that the author felt the need to call out "vibe coding" or AI at all, and then double down by adding the almost-redundant "classic development style", I would be willing to bet they did not use any AI for anything at all related to this project.
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!
> No Vibe Coding. Classic development style.

This is fast becoming a feature people want.

Why is this using Unity? That's insane? How do we know this is not malware?
download it and test on virustotal
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

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.
Welp, guess I’m gonna do another speedrun of Super Metroid just like the good old days.
"Wide Screen (where available) - We enable widescreen whenever the game is internally coded to support partial or full widescreen."
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.

"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.

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.

Sick. Been meaning to replay Link to the Past.
sighs unzips ROM files...