1 points par GN⁺ 1 일 전 | 1 commentaires | Partager sur WhatsApp
  • Une réécriture complète de ZSNES, sous la forme d’un émulateur SNES basé sur le GPU, avec un cœur CPU et audio plus précis ainsi qu’un cœur PPU basé sur le GPU
  • Prend en charge le Mode 7 haute résolution et des améliorations spécifiques à certains jeux, avec une interface utilisateur haute résolution et une UX améliorée, ainsi que des fonctions pratiques comme l’avance rapide, le rembobinage, les save states et l’historique de sauvegarde automatique
  • Le Super Enhancement Engine prend actuellement en charge 7 jeux populaires et propose un renforcement manuel des détails en haute résolution, des texture/normal maps, l’overclock, le widescreen, le remplacement de l’audio non compressé et même des effets 3D basés sur le Mode 7
  • Toutes les améliorations peuvent être désactivées individuellement, et les données d’amélioration ne contiennent ni ROM ni données protégées par le droit d’auteur ; l’utilisateur doit donc fournir lui-même ses ROM
  • Téléchargeable sur Windows, Mac, Linux et Android ; le projet est encore au stade early build, avec des bugs d’émulation, des special chips non encore implémentés, ainsi que d’autres optimisations et fonctions prévues comme le Netplay

Téléchargement et plateformes prises en charge

État du développement et fonctions prévues

  • Le projet est actuellement au stade early build, donc des bugs d’émulation subsistent
  • Les special chips comme DSP1 et SuperFX ne sont pas encore implémentés
  • Beaucoup d’optimisations restent à faire, donc les performances peuvent être un peu lentes
  • Sont prévus à l’avenir : bug fixes, émulation des special chips, optimisations supplémentaires, davantage de fonctions d’amélioration et le Netplay

1 commentaires

 
GN⁺ 1 일 전
Réactions sur Hacker News
  • Le remplacement de l’audio non compressé pourrait être vraiment sympa, et je suis curieux de voir ce que ça peut donner
    Mathew Valente, alias TSSF, a déployé un effort étonnant pour retrouver les échantillons originaux que Nobuo Uematsu a utilisés pour Final Fantasy à l’époque SNES et PSX
    Presque tout venait d’échantillons issus de synthétiseurs matériels et logiciels de l’époque, et il a retravaillé les morceaux avec les échantillons d’origine ; ce n’était pas un simple glisser-déposer, mais un processus demandant beaucoup de jugements techniques, musicaux et subjectifs
    Le résultat est vraiment magnifique, et si vous aimez la musique des Final Fantasy classiques, la chaîne devrait beaucoup vous plaire
    Une vidéo que j’aime particulièrement est celle-ci : https://www.youtube.com/watch?v=XQhxNkZH-DE

    • Je ne pense pas forcément que ce soit une bonne chose, ni même souhaitable. Beaucoup de musiques SNES ont été composées en tenant compte des caractéristiques de la compression, et les « remasteriser » ainsi peut les rendre maladroites et étranges
      Je partage l’avis de Pitchfork à propos du morceau classique Stickerbush de Donkey Kong Country
      Si on recrée les instruments décompressés dans FL Studio, la composition reste, mais on perd la palette de timbres volontairement impure
      On se retrouve avec un piano banal, des leads qui sonnent comme de vrais saxophones, et toute la texture surréaliste ainsi que la tension disparaissent ; c’est pour ça que je trouve déjà le terme « restauration » trompeur
      Wise avait pensé ce morceau dès le départ dans les contraintes de la SNES, et voulait donner une impression d’infini à partir de sons limités
      https://pitchfork.com/reviews/tracks/david-wise-stickerbush-symphony/
    • C’est assez étrange d’avoir une latence perceptible sur l’audio de sortie alors qu’ils ont poussé le travail jusqu’à retrouver tous les échantillons
      En comparant avec l’original, on entend qu’il arrive en retard à la 3e mesure : https://www.youtube.com/watch?v=JLrsUOA4Vb4
    • On peut aussi voir un exemple de cette fonctionnalité sur la chaîne Modern Vintage Gamer
      Il suffit de suivre le lien horodaté ci-dessous, et il y a aussi une vidéo consacrée à Super ZSNES dans son ensemble
      https://youtu.be/r5twUkvYFpA?t=617
    • Jammin' Sam fait lui aussi un travail similaire sur la série Donkey Kong et quelques autres jeux : https://www.youtube.com/@JamminSamMiller/videos
      Il existe aussi des packs MSU-1 intégrant ses pistes, ce qui permet de jouer avec un audio amélioré
  • ZSNES, c’était une part essentielle de mon enfance
    Je l’ai téléchargé quand il venait de sortir, à la fin des années 1990 et au début des années 2000, pour émuler les jeux que j’adorais, et c’est aussi là que j’ai profité de projets de fan-traduction comme Star Ocean et Tales of Phantasia

    • J’ai terminé Chrono Trigger sur un 486 en désactivant le son et les effets de transparence
      Il y avait même des passages où des objets transparents comme des nuages recouvraient tout l’écran, et il fallait désactiver manuellement la couche du dessus
      Quand mes parents n’étaient pas à la maison, je mettais mes save states sur une disquette pour les transférer sur un Pentium 166MHz, et je jouais en cachette avec le son et la transparence activés
      Il me semble que j’ai fait pareil avec la majeure partie de Super Mario World et quelques Final Fantasy, et c’était vraiment une super époque
    • C’est aussi grâce à ZSNES que j’ai découvert à quel point Tales of Phantasia était incroyable
      La ténacité presque folle de la communauté de traduction, capable de patcher des jeux japonais sans code source pour nous apporter des pépites jamais sorties sur notre marché, était impressionnante
      La traduction prenait parfois quelques libertés, mais rien que la scène du bateau en valait largement la peine
      Et grâce à ZSNES, pouvoir ajuster la vitesse et faire des sauvegardes/chargements rapides à tout moment, c’était absolument génial
    • Je repense à l’un des grands moments liés à ZSNES
      L’année où mon école testait l’introduction des ordinateurs portables comme outil pédagogique, j’assistais à un cours de maths où on était censés afficher les supports du cours
      Sauf qu’un élève avait installé ZSNES sur son portable et jouait à Killer Instinct en plein cours
  • Le site sous-estime énormément à quel point ce projet est impressionnant
    MVG a fait une très bonne vidéo d’ensemble : https://www.youtube.com/watch?v=r5twUkvYFpA

    • Je comprends qu’ils soient partis dans cette direction
      Côté émulateurs SNES, la précision est déjà un terrain dominé par higan/bsnes, donc plutôt que de refaire le même chemin, ils suivent leur propre voie
      Ce qui m’inquiète davantage, ce sont les exigences matérielles
      La réputation du ZSNES d’origine venait justement du fait qu’il tournait très bien sur du matériel limité grâce à toutes sortes d’astuces ingénieuses
    • C’est impressionnant, mais le passage de l’interface originale de ZSNES à celle de Super ZSNES m’a quand même fait un choc, moi qui l’ai connue enfant
      La nostalgie est vraiment puissante
      https://imgur.com/a/R63BKTe
    • Je suis surpris de voir à quel point le mode widescreen fonctionne bien
  • Il semble qu’on pourrait aussi émuler le PPU en capturant intégralement l’état final des registres pour chaque pixel, puis laisser le GPU rendre chaque pixel à partir de cet état, en gérant le layer blending, le color math et les calculs du mode 7
    Si la précision absolue n’est pas critique, on pourrait aussi le faire ligne par ligne
    D’après l’analyse des draw commands dans la vidéo de MVG, il ne semble pas que l’implémentation du PPU de Super ZSNES fonctionne ainsi
    Les BG semblent être rendus par tuiles, les OBJ probablement aussi, et le mode 7 a l’air d’être rendu ligne par ligne
    La précision en pâtit un peu, mais cela semble probablement nécessaire pour mettre en œuvre les astuces d’amélioration visuelle qu’ils ont ajoutées

    • J’ai eu une idée assez proche moi aussi, et j’ai déjà réfléchi à un PPU GPU compute pour un futur Snes9x
      La méthode actuelle, qui consiste à dessiner des quads avec une API fixed-function ancienne puis à mélanger une bump map dans l’image finale, est assez étrange
      Il existe déjà beaucoup d’outils capables de faire des choses vraiment superbes avec le GPU, et pourtant ils ont choisi cette voie ; personnellement, je trouve les shaders de post-traitement créés pour d’autres émulateurs plus impressionnants
  • Les émulateurs SNES existent depuis si longtemps que je me demande parfois si le nombre de personnes ayant joué à des jeux Nintendo sur émulateur n’a pas fini par dépasser celui des joueurs sur de vraies consoles Nintendo

  • C’est très cool, et j’apprécie surtout les améliorations de précision
    En revanche, je me demande si le GPU est vraiment nécessaire
    La SNES est un système tellement ancien qu’un CPU ne suffirait pas largement, et même si le GPU est plus efficace, je ne sais pas si cela vaut le coût de supporter une bien plus grande variété de configurations matérielles

    • Les améliorations visuelles comme le mode 7 haute résolution, le remplacement de textures ou les shaders que prend en charge l’émulateur tourneraient probablement mal en rendu logiciel
      Et comme ils utilisent Unity, ils n’ont pas non plus à gérer eux-mêmes tout le support GPU de bas niveau
    • Tout dépend du niveau de précision recherché
      higan (bsnes) fait déjà de l’émulation SNES cycle-accurate sur CPU depuis plus de dix ans, donc à ce niveau-là, c’est clairement possible
      Au-delà, par exemple si on descend au niveau transistor, les choses se compliquent
      AFAIK, à ce niveau on arrive à faire tourner pong, mais MetalNES est encore très loin du temps réel ; la limite se situe donc quelque part entre les deux
    • Pour moi, non
      C’est probablement le genre de projet qu’on fait surtout « parce que c’est amusant »
  • J’ai trouvé assez intéressant que la liste des fonctionnalités mentionne No vibe coding et classic development style
    Ça l’est d’autant plus dans le contexte d’un projet au parfum rétro
    En revanche, je me demande ce que cela signifie exactement : aucune utilisation de l’IA, vraiment ?
    Par exemple, pas même pour une revue de code ? Je veux juste comprendre clairement, sans juger dans un sens ou dans l’autre

    • Ce sont les créateurs originaux de ZSNES qui sont derrière ça, donc j’imagine qu’ils savent ce qu’ils font
      Blague à part, les LLM sont assez mauvais dans ce genre de domaine atypique et obscur
      Surtout dans le rétro, ils ont tendance à aligner avec enthousiasme des banalités sur le côté formidable ou nostalgique, tout en répétant des détails anecdotiques peu importants — ou déjà connus — qu’ils comprennent de travers
      Ça ressemble un peu à afficher une section de commentaires Reddit
    • C’est drôle qu’on entre dans une époque où Handcrafted Code ou Handmade deviennent des arguments de vente
      Un peu comme pour les meubles, les tapis, d’autres objets artisanaux, ou même Lamborghini
    • Ce qui m’intéresse, c’est plutôt l’autre aspect
      Il y a à peine un mois, l’une des grosses critiques contre DLSS5 était qu’il trahissait la vision originale des artistes ; et un mois plus tard, les joueurs occasionnels s’extasient devant un émulateur qui leur permet de transformer librement les visuels d’un jeu via une interface point-and-click
      S’ils y avaient ajouté un serveur MCP, ça aurait encore plus fait exploser les réactions
    • Je ne suis pas sûr que ce soit si surprenant que ça
    • Si le résultat compte moins que le voyage, et qu’il s’agit d’un projet hobby fait avant tout pour le plaisir de coder, alors c’est exactement le bon état d’esprit
      Si le but est de s’amuser, il vaut mieux le faire soi-même
  • No Vibe Coding. Classic development style
    J’ai l’impression que cela devient peu à peu une fonctionnalité que les gens veulent réellement

    • Maintenant, la grande question semble être de savoir si on a utilisé de la multiplication de matrices pour créer un logiciel aussi extrêmement niché
      Ou peut-être un autre algorithme que je n’approuve pas
      Une question brûlante qui me tient éveillé la nuit quand je pense à un émulateur de matériel vintage
  • Une interview des créateurs de ZSNES avec Zophar de Zophar's Domain, publiée il y a quelques mois, était assez intéressante
    https://www.youtube.com/watch?v=iG-oqvj4Tqk

  • Quand j’étais enfant, ces types étaient vraiment incroyables à l’époque des débuts
    Je me souviens encore du moment où j’ai lancé ZSNES pour la première fois et joué à des RPG japonais sortis uniquement au Japon, traduits par des fans
    C’était comme l’ouverture d’un monde entièrement nouveau, et rien que pour ça, je leur suis vraiment reconnaissant