Brian Lovin
/
Hacker News
Daily Digest email

Get the top HN stories in your inbox every day.

bityard

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

xnx

Thanks for sharing. So cool to hear a high-fidelity version of "The Oracle" https://www.youtube.com/watch?v=vbn2GQdSznU

akarlsten

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

BubTheBuilder

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.

b3ing

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.

bityard

I suspect that for every game whose soundtrack was lovingly hand-crafted to take advantage of the SNES's unique abilities, you'll find 10 more that someone composed separately on a hardware DAW of the era and then someone else came along and tried to fit it into as a few bytes of ROM as possible.

Besides, there is no reason a remaster can't also add compression and other SNES effects in order to stay truer to the spirit of the original.

Cpoll

I suspect that the noteworthy composers wrote for the medium, and those "10 more" aren't the games we mention when we talk about SNES OSTs.

hung

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

CTDOCodebases

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

ranger_danger

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.

philistine

I hope you guys are aware of the Church of Kondo?

christophilus

Unfortunately not being updated anymore. :/

bityard

I am now!

ranger_danger

I was not, thanks! Username does not check out.

rowanG077

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!

MrBuddyCasino

Checkout the SNES Waterworld soundtrack.

carrja99

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

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!

isk517

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.

_jackdk_

My first playthrough of Chrono Trigger was stopped cold because my PC couldn't send enough simultaneous keypresses to unlock a door.

pdntspa

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!

zerocrates

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.

nextaccountic

> 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

shifto

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.

butz

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 :)

aidenn0

Similar, but IIRC I used esnes, not zsnes.

cholantesh

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

LarsDu88

Emulating the SNES on contemporary PC hardware. For shame!

pdntspa

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.

BiteCode_dev

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.

bitwize

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

carrja99

haha, I was playing Final Fantasy V during computer class in HS.

jmarcher

Their home page is underselling how cool this is:

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

AdmiralAsshat

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.

PokemonNoGo

I remember reading, back then, about the author byuu/Near going into future updates such as HD Mode7 and widescreen. Found it re-hosted on an odd site here: [1]

It does seem like Super ZSNES in ways picked up these ideas (and torch) and went with them! Rather neat actually! RIP Near.

[1] https://bsnes.org/articles/state-of-emulation-5

snvzz

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/

rincebrain

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.

pezezin

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.

micheljansen

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

poolnoodle

The original is timeless and way more beautiful in my opinion.

zerocrates

Not at least slapping a pixel font on there is an odd choice given the purposeful nostalgia goal.

rincebrain

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.

NuclearPM

Nesticle is a nostalgia bomb for me.

rincebrain

You may enjoy this[1] article about its history and where the dev wound up.

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

xantronix

I felt like the coolest fucking kid on the block for having that icon on my desktop.

adzm

The widescreen mode is surprisingly functional, wow

jsd1982

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.

BearOso

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.

kayson

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

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

> 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

> is it worth the headache of supporting way more hardware combinations?

no.

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

bredren

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.

ragnese

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.

unleaded

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.

Shocka1

It's no Super SNES emulator, but Claude has had a bit of trouble porting an old VB Net application I had from 15 years ago to a newer web framework.

BearOso

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

ranger_danger

Full disclosure since it wasn't mentioned: BearOso is a developer for a competing emulator project, Snes9x.

xtracto

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

zokier

it's doubly funny because once the tools are released to public i bet majority of those high-res mods will be ai generated.

jamesu

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.

bowsamic

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

Would that be surprising to you?

bredren

Why do you ask?

bowsamic

I’m just curious if you are so dependent on LLMs that the idea of not using them at all seems extreme to you

prmoustache

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.

pelasaco

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?

llmssuck

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

maxglute

With how long SNES emulators been around, I sometimes wonder if more people played Nintendo games on emulators than actual Nintendo consoles.

PokemonNoGo

Probably and especially if you include Nintendos own emulators.

LoulouMonkey

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

dueltmp_yufsy

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.

honkcity

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!

d1g174l

Congrats @zsknight_dev on this amazing relaunch of my favorite emu!

One feature request worth your consideration: MSU-1 support.

The case for it: Super ZSNES already does sample-level audio replacement for the seven curated titles in the Super Enhancement Engine, which addresses instrument fidelity. MSU-1 is the natural complement — it addresses track fidelity, by letting ROM hacks stream full CD-quality compositions in place of the original SPC700 sequences. There are over 200 published MSU-1 ROM hacks already in the wild (Zeldix maintains the index), with an active community producing audio packs for them.

Implementation is small relative to the DSP1 & SuperFX support already on your roadmap. MSU-1 is a memory-mapped register interface plus PCM streaming — no real silicon to emulate. Reference implementations exist in bsnes (open source), Snes9x, higan/ares, and the SD2SNES flash cart. With accurate CPU and audio cores already in place, the addition is largely a matter of wiring up the register interface and the streaming engine.

The combination of Super ZSNES's sample replacement and MSU-1 track replacement would, as far as I'm aware, be unique among emulators. No other emulator does both.

llmssuck

Why is this using Unity? That's insane? How do we know this is not malware?

pixelatedindex

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.

ouraf

download it and test on virustotal

Daily Digest email

Get the top HN stories in your inbox every day.