Super ZSNES - Emulador de SNES baseado em GPU
(zsnes.com)- Um emulador de SNES baseado em GPU que reescreve o ZSNES original do zero, com núcleos de CPU e áudio mais precisos e um núcleo de PPU baseado em GPU
- Suporta Mode 7 em alta resolução e recursos especiais de aprimoramento por jogo, além de incluir interface em alta resolução e UX melhorada com funções práticas como avanço rápido, retrocesso, save states e histórico de salvamento automático
- O Super Enhancement Engine atualmente oferece suporte a 7 jogos populares e traz reforço manual de detalhes em alta resolução, texture/normal map, overclock, widescreen, substituição de áudio não compactado e até efeitos 3D baseados em Mode 7
- Todos os recursos de aprimoramento podem ser desativados individualmente, e os dados de aprimoramento não incluem ROMs nem dados protegidos por direitos autorais, então o usuário precisa providenciar sua própria ROM
- Pode ser baixado para Windows, Mac, Linux e Android, e ainda está em fase de early build, então ainda há bugs de emulação, special chips não implementados e trabalhos pendentes como otimizações adicionais e Netplay
Download e plataformas compatíveis
- Windows: Download
- Mac: Download
- Linux: Download
- Android: Google Play
- O iOS parece estar marcado como Coming Soon
Estado de desenvolvimento e recursos planejados
- No momento, ainda está em fase de early build, então permanecem bugs de emulação
- special chips como DSP1 e SuperFX ainda não foram implementados
- Ainda há muito trabalho de otimização pela frente, então o desempenho pode ser um pouco lento
- No futuro, devem ser adicionados bug fixes, emulação de special chips, otimizações adicionais, mais recursos de aprimoramento e Netplay
1 comentários
Comentários do Hacker News
A substituição por áudio sem compressão parece bem legal, e fico curioso para ver que tipo de resultado pode sair disso
Mathew Valente, ou melhor, TSSF, dedicou um esforço impressionante para rastrear as amostras originais que Nobuo Uematsu usou em Final Fantasy na era SNES e PSX
Quase tudo eram samples vindos dos sintetizadores de hardware e software da época, e ele pegou esses samples, refinou as músicas com os sons originais, e isso exigiu muito julgamento técnico, musical e subjetivo — não foi simplesmente arrastar e soltar
O resultado é realmente lindo, e se você gostava da música clássica de Final Fantasy, o canal provavelmente vai agradar muito também
Um vídeo que eu gosto especialmente é este: https://www.youtube.com/watch?v=XQhxNkZH-DE
Concordo com o que a Pitchfork disse sobre a faixa clássica Stickerbush de Donkey Kong Country
Se você recria instrumentos descomprimidos no FL Studio, a composição em si continua ali, mas a paleta tímbrica intencionalmente impura desaparece
Ela vira um piano comum, leads que soam como um saxofone real, e assim se perde a textura surreal e a tensão; por isso, acho até incorreto chamar isso de “restauração”
Wise originalmente concebeu essa faixa presa às limitações do SNES, e queria fazer sons limitados parecerem infinitos
https://pitchfork.com/reviews/tracks/david-wise-stickerbush-symphony/
Comparando com a faixa original, dá para ouvir que ela entra atrasada no terceiro compasso: https://www.youtube.com/watch?v=JLrsUOA4Vb4
Basta abrir o link com timestamp abaixo, e também há um vídeo cobrindo o Super ZSNES como um todo
https://youtu.be/r5twUkvYFpA?t=617
Também existem packs MSU-1 com as faixas dele, então dá para jogar com áudio aprimorado
O ZSNES foi praticamente o centro da minha infância
Eu baixei quando ele estava começando, no fim dos anos 90 e início dos 2000, emulei vários jogos de que gostava e também aproveitei por lá projetos de tradução de fãs como Star Ocean e Tales of Phantasia
Em algumas partes, objetos transparentes como nuvens cobriam a tela inteira, então eu tinha que desligar manualmente a camada superior
Quando meus pais saíam de casa, eu colocava o save state em um disquete e levava para um Pentium 166MHz para jogar escondido com som e transparência ativados
Acho que fiz isso com a maior parte de Super Mario World e também com alguns Final Fantasy; foram tempos realmente divertidos
O fato de a comunidade de tradução ter conseguido fazer patch em jogos japoneses sem nem ter o código-fonte, trazendo joias que não existiam no nosso mercado, era quase uma obsessão insana
A tradução tem algumas adaptações bem livres, mas só a cena do navio já vale tudo
E, além disso, poder usar controle de velocidade e save/load rápido a qualquer momento graças ao ZSNES era simplesmente maravilhoso
No ano em que a escola começou a testar laptops como ferramenta educacional, eu estava numa aula de matemática em que, em teoria, deveríamos estar com o material da aula aberto
Só que um aluno tinha instalado ZSNES no notebook e estava jogando Killer Instinct durante a aula
A homepage está subestimando demais o quanto esse projeto é legal
O MVG fez um ótimo vídeo de visão geral: https://www.youtube.com/watch?v=r5twUkvYFpA
Em emuladores de SNES, a precisão já foi dominada por higan/bsnes, então em vez de repetir um caminho conhecido, eles estão indo numa direção própria
O que me preocupa, porém, são os requisitos de hardware
Afinal, a reputação original do ZSNES era justamente rodar muito bem em hardware limitado por meio de todo tipo de hack engenhoso
O poder da nostalgia é muito forte
https://imgur.com/a/R63BKTe
Também parece que seria possível fazer a emulação da PPU capturando todo o estado final dos registradores por pixel, e então deixar a GPU renderizar cada pixel a partir disso, cuidando de layer blending, color math e dos cálculos de mode 7
Se a precisão absoluta não for tão importante, daria até para fazer por scanline
Pelo que o MVG analisou dos draw commands no vídeo, a implementação da PPU no Super ZSNES aparentemente não funciona assim
Os BGs parecem ser renderizados por tile, os OBJs provavelmente também, e o mode 7 parece ser desenhado por linha
A precisão deve cair um pouco, mas talvez isso fosse necessário para implementar os truques de aprimoramento visual que eles adicionaram
O método atual, de desenhar quads com uma API fixed-function antiga e depois misturar bump map na imagem final, é bem estranho
Já existem muitas ferramentas para fazer coisas realmente incríveis com GPU, então foi uma escolha curiosa seguir por esse caminho; pessoalmente, acho mais impressionantes os shaders de pós-processamento que o pessoal fez em outros emuladores
Como os emuladores de SNES já existem há tanto tempo, às vezes dá a impressão de que talvez já tenha havido mais gente jogando jogos da Nintendo em emulador do que em consoles Nintendo de verdade
Muito legal, e especialmente boa a melhoria de precisão
Mas fico em dúvida se a GPU é realmente necessária
O SNES é um sistema muito antigo, então parece que só CPU já bastaria; mesmo que a GPU seja mais eficiente, não sei se vale a pena assumir a carga de dar suporte a um número muito maior de combinações de hardware
Além disso, como eles usam Unity, não precisam lidar manualmente com todo o suporte de GPU em baixo nível
O higan (bsnes) já faz emulação de SNES com precisão de ciclo usando só CPU há mais de 10 anos, então esse nível certamente é possível
Acima disso, por exemplo no nível de transistor, a conversa muda bastante
AFAIK, nesse nível já dá para fazer algo como pong, mas o MetalNES ainda está muito longe de tempo real, então o limite está em algum ponto entre essas duas coisas
Isso provavelmente é mais um projeto do tipo “fizeram porque é divertido”
Achei bem interessante colocarem No vibe coding e classic development style na lista de recursos
Isso fica ainda mais curioso no contexto de um projeto com esse caráter de reativação retrô
Mas confesso que fiquei pensando se isso significa mesmo zero uso de IA
Por exemplo, se nem em code review ela foi usada; é só curiosidade, não estou julgando de um jeito ou de outro
Brincadeiras à parte, LLMs são bem ruins nesse tipo de área estranha e específica
Especialmente no mundo retrô, elas tendem a se empolgar falando de grandeza, nostalgia e coisas do tipo, enquanto repetem fatos fragmentados que não importam, ou que já são conhecidos, muitas vezes entendidos de forma errada
É meio como abrir os comentários do Reddit
Como acontece com móveis, tapetes, outros itens artesanais e até Lamborghini
Ainda no mês passado, uma das grandes razões para a rejeição ao DLSS5 era a ideia de que ele estragava a visão original dos artistas; um mês depois, jogadores casuais estão admirando um emulador que deixa qualquer um alterar livremente os visuais do jogo por uma UI point-and-click
Se ainda tivessem colocado um servidor MCP nisso, ia ser uma loucura
Se o objetivo é se divertir, faz sentido construir você mesmo
No Vibe Coding. Classic development style
Parece que isso está se tornando cada vez mais um recurso que as pessoas realmente querem
Ou algum outro algoritmo que eu não aprove
Uma dúvida ardente o bastante para me tirar o sono quando penso em emuladores de hardware vintage
A entrevista que o criador do ZSNES fez com o Zophar do Zophar's Domain há alguns meses foi bem interessante
https://www.youtube.com/watch?v=iG-oqvj4Tqk
Quando eu era criança, esses caras eram realmente incríveis no começo
Ainda lembro da primeira vez que abri o ZSNES e joguei um RPG japonês exclusivo com tradução de fãs
Foi como a abertura de um mundo totalmente novo, e por isso sou realmente grato