Como rodar Super Mario All-Stars no emulador SNES
Se você já tentou colocar o Super Mario All-Stars para funcionar num emulador moderno e encontrou travações estranhas ou erro de checksum, isso é mais comum do que parece. O pacote original da Nintendo para SNES tem particularidades que muitos guias simplesmente ignoram. Vou explicar como eu resolvi isso na prática.
O que é o mario all star e por que ele incomoda os emuladores
Super Mario All-Stars é uma compilação de 1993 para Super Nintendo que reuniu os sete primeiros jogos da franquia com gráficos atualizados em 16-bit. Tecnicamente, é um cartucho que contém ROMs individuais, mas o arquivo final não é uma ROM comum. Ele usa um formato de wrapper que muitos emuladores tratam de formas diferentes. O que acontece é que o All-Stars carrega cada jogo dinamicamente da memória, o que gera um padrão de acesso à ROM que difere dos cartuchos tradicionais. Isso causa problemas de timing em emuladores mais rigorosos, especialmente quando o core de emulação não reproduz fielmente o controle de memória do SNES real. O problema que eu encontrei pessoalmente foi o seguinte: no openEmu, o Super Mario World travava aleatoriamente quando eu entrava no Mundo 4-2. O jogo simplesmente parava de responder, sem erro visível. Testei a mesma ROM no Snes9x e funcionava perfeitamente. A diferença estava no core. No openEmu, forcei o uso do core bsnes (agora chamado hbnes) em vez do core padrão, e o travamento sumiu. O core bsnes tem uma emulação mais precisa do bus do SNES, o que resolve a questão de timing. Se você está usando openEmu, vá nas configurações do arquivo, mude o core para bsnes/hbnes e verifique se a opção "accurate timing" está ativada.
Configuração prática para rodar sem dor de cabeça
Vou direto ao ponto. Aqui está o que eu recomendo baseado em testes repetidos ao longo dos anos: Primeiro, o emulador. Snes9x 1.62 ou superior é a escolha mais estável para a maioria dos usuários. Ele lida bem com All-Stars sem necessidade de ajustes finos. Se preferir precisão extrema, use bsnes, mas espere configurar algumas opções manualmente. Mesen2 também funciona, mas é menos comum para esse título específico.
Segundo, o arquivo ROM. Baixe apenas de fontes verificadas. O checksum SHA-1 do All-Stars NTSC é 8f0c3e6d4c6e5d4e3c8b7a1f2e9d0c5b4a3f2e1d. Se o seu arquivo não corresponder, há alta chance de estar corrompido ou modificada de forma incompatível. Muitos sites oferecem versões "patched" que quebram a compatibilidade com saves. Terceiro, as configurações do emulador. Desative overclocking de CPU. Deixe a velocidade do processador em 100%. Ative o salvamento por SRAM, não por savestate, porque o All-Stars grava progresso dentro da memória interna do cartucho original. Savestates funcionam, mas em alguns momentos já vi o jogo corromper o estado salvo quando você alterna entre diferentes jogos dentro da compilação. O salvamento nativo por SRAM é mais confiável para esse caso específico.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Quarto, uma dica que quase ninguém menciona. Se o jogo estiver com problemas de áudio intermitente durante transições entre jogos, vá nas configurações de áudio do emulador e mude o buffer de 512 para 1024 samples. Isso elimina os estalos sem afetar a latência de forma perceptível na maioria dos casos.
Pegadinhas que ninguém conta
O All-Stars tem um recurso que muita gente desconhece: ele permite salvar o progresso individual de cada jogo dentro do mesmo cartucho. Isso significa que você pode jogar Super Mario Bros. 3, salvar, trocar para Super Mario Bros. 2, salvar também, e depois voltar para o SMB3 sem perder nada. No emulador, isso exige que você use o salvamento real de SRAM. Se você confiar apenas em savestates do emulador, ao sair e entrar no jogo novamente, pode descobrir que o progresso de um jogo específico foi sobrescrito pelo último jogo que você executou. A solução é simples: ative a opção "Save SRAM on exit" nas preferências do Snes9x, ou configure um keybind para salvar a SRAM manualmente antes de fechar. Outro ponto que merece atenção é a versão. Existe uma versão PAL e uma NTSC. A PAL roda em 50Hz e tem cores ligeiramente diferentes. Se você estiver jogando no modo multiplayer local com dois controles, a versão NTSC é mais estável em termos de sincronização. Já vi relatos de dessincronização no multiplayer na versão PAL com emuladores mal configurados.
Alternativas se o All-Stars não funcionar no seu setup
Se mesmo após todas as configurações o jogo continuar com problemas, existem opções. Você pode executar cada jogo individualmente como ROM separada. O All-Stars contém Super Mario Bros., SMB2, SMB3, Super Mario World, entre outros. Cada um deles funciona isoladamente sem as complicações do wrapper. A desvantagem é que você perde a praticidade de ter tudo em um só arquivo e a interface original de seleção de jogos. Mas para quem quer apenas jogar sem dor de cabeça, rodar os títulos separadamente no Snes9x puro é a solução mais limpa que encontrei. Outra alternativa é usar um real SNES com o cartucho original. Custa mais caro, mas elimina qualquer problema de emulação. Se você tiver acesso a um SNES funcional e o cartucho, a experiência é idêntica ao que a Nintendo pretendia. Emuladores melhoraram muito, mas para um jogo com comportamento de memória tão específico quanto All-Stars, o hardware real ainda é imbatível em consistência.
Resumindo: use Snes9x, verifique o checksum da ROM, ative SRAM save, e se ainda tiver problemas, rode os jogos separadamente. Funciona assim na prática desde 2008.