Super ZSNES - GPU-basierter SNES-Emulator
(zsnes.com)- Ein GPU-basierter SNES-Emulator, der das ursprüngliche ZSNES komplett neu geschrieben hat und einen präziseren CPU- und Audio-Core zusammen mit einem GPU-basierten PPU-Core bietet
- Unterstützt Hi-Res Mode 7 und spielspezifische Spezialverbesserungen und bringt zudem eine hochauflösende UI sowie eine verbesserte UX mit Komfortfunktionen wie Vorspulen, Zurückspulen, Save States und automatischem Speicherverlauf mit
- Die Super Enhancement Engine unterstützt derzeit 7 populäre Spiele und bietet hochauflösende manuelle Detailverbesserungen, Texture/Normal Maps, Overclock, Widescreen, unkomprimierten Audio-Ersatz und sogar 3D-Effekte auf Basis von Mode 7
- Alle Verbesserungen lassen sich einzeln deaktivieren, und die Verbesserungsdaten enthalten keine ROMs oder urheberrechtlich geschützten Daten, daher müssen Nutzer ihre ROMs selbst bereitstellen
- Verfügbar für Windows, Mac, Linux und Android; befindet sich jedoch noch in der Early-Build-Phase, sodass noch Emulationsfehler, nicht implementierte Special Chips sowie geplante Arbeiten wie zusätzliche Optimierungen und Netplay ausstehen
Download und unterstützte Plattformen
- Windows: Download
- Mac: Download
- Linux: Download
- Android: Google Play
- Für iOS scheint Coming Soon angezeigt zu werden
Entwicklungsstand und geplante Funktionen
- Befindet sich derzeit noch in der Early-Build-Phase, daher gibt es noch Emulationsfehler
- Special Chips wie DSP1, SuperFX usw. sind noch nicht implementiert
- Es stehen noch viele Optimierungsarbeiten aus, daher kann die Performance etwas langsam sein
- Künftig sollen bug fixes, special chip emulation, zusätzliche Optimierungen, mehr Verbesserungsfunktionen und Netplay hinzukommen
1 Kommentare
Hacker-News-Kommentare
Unkomprimierter Audio-Ersatz dürfte ziemlich cool sein, und ich bin gespannt, was dabei herauskommt
Mathew Valente, also TSSF, hat sich erstaunlich viel Mühe gegeben, die Original-Samples aufzuspüren, die Nobuo Uematsu in der SNES- und PSX-Ära für Final Fantasy verwendet hat
Fast alles stammte von den Hardware- und Software-Synthesizern der Zeit, und er hat diese aufgespürt und die Stücke mit den Original-Samples neu ausgearbeitet; das war kein simples Drag-and-Drop, sondern erforderte viele technische, musikalische und subjektive Entscheidungen
Das Ergebnis ist wirklich wunderschön, und wenn man klassische Final-Fantasy-Musik mochte, dürfte auch der Kanal sehr gefallen
Ein Video, das ich besonders mag, ist dieses hier: https://www.youtube.com/watch?v=XQhxNkZH-DE
Ich stimme dem zu, was Pitchfork über den klassischen Donkey-Kong-Country-Track Stickerbush gesagt hat
Wenn man die dekomprimierten Instrumente in FL Studio nachbildet, bleibt zwar die Komposition selbst erhalten, aber die absichtlich verunreinigte Klangpalette geht verloren
Gewöhnliche Klaviere und Leads, die wie echte Saxophone klingen, ersetzen die surreale Textur und Spannung, weshalb ich schon den Begriff „Wiederherstellung“ für falsch halte
Wise hatte das Stück ursprünglich mit den Grenzen des SNES im Kopf konzipiert und wollte, dass sich die begrenzten Sounds grenzenlos anfühlen
https://pitchfork.com/reviews/tracks/david-wise-stickerbush-symphony/
Im Vergleich zum Original hört man, dass es im dritten Takt hinterherhinkt: https://www.youtube.com/watch?v=JLrsUOA4Vb4
Siehe den Timestamp-Link unten; dort gibt es auch ein Video über Super ZSNES insgesamt
https://youtu.be/r5twUkvYFpA?t=617
Es gibt auch MSU-1-Packs mit seinen Tracks, sodass man die Spiele mit verbessertem Audio spielen kann
ZSNES war so etwas wie ein zentraler Teil meiner Kindheit
Als es Ende der 90er bis Anfang der 2000er gerade neu war, habe ich es heruntergeladen, um meine Lieblingsspiele zu emulieren, und auch Fan-Übersetzungsprojekte wie Star Ocean und Tales of Phantasia habe ich dort gespielt
Es gab Stellen, an denen transparente Objekte wie Wolken den ganzen Bildschirm verdeckten, sodass ich die obere Ebene manuell abschalten musste
Wenn meine Eltern nicht zu Hause waren, habe ich Save States auf eine Diskette gepackt und auf einen Pentium 166MHz übertragen, um heimlich mit aktiviertem Sound und Transparenzeffekten weiterzuspielen
Ich meine, ich habe so auch den Großteil von Super Mario World und einige Final-Fantasy-Spiele gespielt; das waren wirklich großartige Zeiten
Dass die Übersetzungs-Community japanische Spiele ohne Quellcode patchte und so Juwelen in unseren Markt brachte, die es hier nie gegeben hatte, war fast schon wahnsinnig hartnäckig
Die Übersetzung war stellenweise recht frei adaptiert, aber allein eine bestimmte Schiffsszene war es schon wert
Und dass dank ZSNES jederzeit Geschwindigkeitsanpassung sowie schnelles Speichern/Laden möglich waren, war wirklich das Beste
In dem Jahr, als an unserer Schule Laptops testweise als Unterrichtswerkzeug eingeführt wurden, saß ich in einer Mathematikvorlesung, in der wir eigentlich die Vorlesungsunterlagen offen haben sollten
Aber ein Schüler hatte ZSNES auf seinem Laptop installiert und spielte während der Vorlesung Killer Instinct
Die Website untertreibt massiv, wie cool dieses Projekt ist
MVG hat ein sehr gutes Überblicksvideo dazu gemacht: https://www.youtube.com/watch?v=r5twUkvYFpA
Bei Genauigkeit haben sich bei SNES-Emulatoren higan/bsnes den Markt bereits gesichert, also geht man lieber einen eigenen Weg, statt den bekannten Pfad noch einmal abzulaufen
Sorgen macht mir allerdings der Hardwarebedarf
Der ursprüngliche Ruf von ZSNES beruhte schließlich darauf, dass es dank allerlei cleverer Hacks auch auf begrenzter Hardware gut lief
Nostalgie ist wirklich mächtig
https://imgur.com/a/R63BKTe
Es könnte auch möglich sein, die PPU-Emulation so zu gestalten, dass für jedes Pixel der finale Registerzustand komplett erfasst wird und die GPU anhand dieses Zustands jedes Pixel rendert, inklusive Layer-Blending, Color Math und Mode-7-Berechnungen
Wenn Genauigkeit nicht extrem wichtig ist, ginge es auch scanlineweise
Wenn man sich in dem MVG-Video die Analyse der Draw Commands ansieht, scheint die PPU-Implementierung von Super ZSNES aber nicht so zu funktionieren
BG wird offenbar kachelweise gerendert, OBJ vermutlich auch, und Mode 7 sieht nach zeilenweisem Rendering aus
Das ist vielleicht etwas weniger genau, aber vermutlich nötig, um die visuellen Enhancement-Tricks umzusetzen, die sie eingebaut haben
Der aktuelle Ansatz wirkt ziemlich seltsam: Quads mit einer alten Fixed-Function-API zeichnen und anschließend eine Bump Map in das finale Bild mischen
Es gibt längst viele Werkzeuge, mit denen man auf der GPU wirklich coole Dinge machen kann, und trotzdem wurde dieser Weg gewählt; ich finde die Post-Processing-Shader, die Leute in anderen Emulatoren gebaut haben, deutlich beeindruckender
SNES-Emulatoren gibt es schon so lange, dass ich mich manchmal frage, ob es nicht inzwischen mehr Menschen gibt, die Nintendo-Spiele im Emulator gespielt haben, als auf echter Nintendo-Hardware
Sehr cool, und besonders die Verbesserung der Genauigkeit gefällt mir
Ich frage mich nur, ob die GPU wirklich nötig ist
Das SNES ist schließlich ein sehr altes System, also sollte doch eine CPU allein ausreichen, und selbst wenn eine GPU effizienter wäre, weiß ich nicht, ob es den Aufwand wert ist, deutlich mehr Hardwarekombinationen unterstützen zu müssen
Außerdem muss man durch Unity die Low-Level-GPU-Unterstützung nicht komplett selbst handhaben
higan (bsnes) macht bereits seit über zehn Jahren zyklusgenaue SNES-Emulation allein auf der CPU, also ist das definitiv möglich
Darüber hinaus, etwa bis auf Transistorebene, wird es komplizierter
AFAIK schafft man auf diesem Niveau vielleicht Pong, aber MetalNES ist weit von Echtzeit entfernt; die Grenze liegt also irgendwo dazwischen
Wahrscheinlich ist das eher ein Projekt der Sorte „weil es Spaß macht“
Interessant ist, dass in der Funktionsliste No vibe coding und classic development style stehen
Gerade im Kontext eines Projekts, das gewissermaßen eine Retro-Wiederbelebung ist, fällt das besonders auf
Ich frage mich allerdings, ob das wirklich bedeutet, dass überhaupt keine AI verwendet wurde
Zum Beispiel auch nicht für Code Reviews; ich würde das nur gern klar wissen, ganz ohne Wertung in die eine oder andere Richtung
Scherz beiseite: LLMs sind in solchen seltsamen und schwer zugänglichen Spezialgebieten ziemlich schlecht
Gerade bei Retro-Themen produzieren sie oft begeistert nur Gerede über Großartigkeit und Nostalgie und wiederholen dabei missverstandene, unwichtige oder längst bekannte Einzelheiten
Es fühlt sich ein bisschen an, als würde man ein Reddit-Kommentarfeld lesen
So wie bei Möbeln, Teppichen, anderen Handwerksprodukten oder sogar Lamborghinis
Noch letzten Monat war einer der großen Kritikpunkte an DLSS5, dass es die ursprüngliche Vision der Künstler beschädige, und einen Monat später staunen Casual-Spieler über Emulatoren, mit denen man die Spielgrafik per Point-and-Click-Oberfläche beliebig verändern kann
Hätte man dazu noch einen MCP-Server eingebaut, wäre das Chaos komplett gewesen
Wenn der Spaß das Ziel ist, macht man es besser selbst
No Vibe Coding. Classic development style
Das scheint langsam tatsächlich zu einer Funktion zu werden, die Leute wirklich wollen
Oder vielleicht irgendeinen anderen Algorithmus, den ich nicht gutheiße
Wenn ich an Emulatoren für Vintage-Hardware denke, ist das natürlich die brennende Frage, die mich nachts wach hält
Der ZSNES-Entwickler hatte vor ein paar Monaten ein ziemlich interessantes Interview mit Zophar von Zophar's Domain
https://www.youtube.com/watch?v=iG-oqvj4Tqk
Als ich jung war, waren diese Leute in der Anfangszeit wirklich unglaublich
Ich erinnere mich immer noch an den Moment, als ich zum ersten Mal ZSNES startete und ein fanübersetztes, nur in Japan veröffentlichtes RPG spielte
Das war, als würde sich eine völlig neue Welt öffnen, und dafür bin ich ihnen wirklich dankbar