Phase Distorter 0.2.1, lançado em 4 de outubro de 2026, leva EarthBound e Mother 2 a um aplicativo desktop em C++20 para Windows e Linux. O projeto executa programas compilados e importa os dados a partir da ROM compatível do próprio usuário, sem distribuir o jogo, e acrescenta widescreen, controles modernos, saves persistentes e modos de apresentação de até 300 FPS.
Apesar do formato de port para PC, o projeto ainda não concluiu a migração para uma engine totalmente nativa. Atualmente, parte crescente da lógica já usa módulos e rotinas próprias em C++, enquanto uma camada de compatibilidade continua responsável por componentes de CPU, PPU, SPC e outros comportamentos do hardware original.
Phase Distorter 0.2.1 corrige widescreen e NPCs
A versão 0.2.1 resolve um problema em que NPCs, postes, presentes, contêineres e outros elementos podiam desaparecer ao entrar na área original de 4:3 a partir das margens ampliadas. Além disso, o projeto passou a preservar a varredura original antes da etapa usada para preencher a visão mais larga.
Phase Distorter amplia a visão de EarthBound para formatos como 21:9 sem esticar o pixel art. Imagem: TheRunaway5/Phase-Distorter.
As cutscenes de mapa também receberam mudanças. Agora, a câmera de cada cena comum pode seguir a política de bordas da própria área, sem o recorte automático para 256 pixels. Dessa forma, sequências como o retorno após Giygas e efeitos de oração podem aproveitar a área horizontal extra sem deslocar a câmera original.
Por outro lado, o projeto mantém limites quando o cenário é menor do que a janela selecionada. Nesses casos, ele usa bordas laterais em vez de inventar conteúdo fora da área disponível. Assim, o widescreen tenta preservar a composição e as regras do jogo, em vez de simplesmente ampliar a imagem.
Phase Distorter oferece 16:9, ultrawide e até 300 FPS de apresentação
O aplicativo permite escolher proporções como 16:9, 21:9 e 32:9, além de opções personalizadas. Também há filtro CRT opcional e suporte a tela cheia. Contudo, os modos de 90, 120, 144, 165, 240 e 300 FPS alteram a taxa de apresentação, não a velocidade da simulação de EarthBound ou Mother 2.
Uma das capturas oficiais mostra uma área de santuário em 32:9, com cenário adicional nas laterais. Imagem: TheRunaway5/Phase-Distorter.
Segundo a documentação, gameplay e áudio continuam na cadência nativa enquanto um relógio independente controla as apresentações extras. Além disso, o projeto oferece interpolação opcional para a imagem apresentada, com testes próprios de consistência entre diferentes limites de atualização.
Isso não significa que EarthBound rode sua lógica interna cinco vezes mais rápido a 300 FPS. Em vez disso, o Phase Distorter produz mais quadros de apresentação entre os ticks normais do jogo. Portanto, a novidade se aproxima de um recurso visual de alta taxa de atualização.
Correções de Giygas e filtro de fotossensibilidade
A atualização também corrige travamentos longos que podiam ocorrer depois dos textos de oração durante a batalha contra Giygas. Para isso, o jogo preserva o estado necessário do combate antes da cutscene e o restaura quando a luta retorna.
Além disso, snapshots feitos durante essa sequência agora guardam o contexto necessário para continuar corretamente. O formato de snapshot chegou à versão 7, enquanto versões anteriores de 1 a 6 continuam compatíveis quando o conteúdo do jogo corresponde.
O filtro opcional de fotossensibilidade também mudou. Em vez do detector temporário de escurecimento usado na versão 0.2, a nova implementação procura reproduzir o processamento de brilho e feedback temporal associado à versão de EarthBound do SNES Classic. Ainda assim, o próprio projeto ressalta que esses testes não provam equivalência completa com todo o comportamento do console.
Como o port funciona no PC
O Phase Distorter reconstrói as versões americana e japonesa em sites de instrução compilados para C++, sem recorrer a um decodificador de instruções em tempo de execução. Ao mesmo tempo, o usuário precisa fornecer uma ROM compatível de EarthBound ou Mother 2, e o aplicativo importa localmente os dados necessários.
Atualmente, a documentação registra 808 rotinas da versão americana e 783 da japonesa executadas por semânticas C++ nomeadas. No entanto, os autores deixam claro que elas ainda preservam estado de máquina e aposentadoria de instruções, portanto não equivalem a uma reescrita completa de toda a lógica em alto nível.
A migração para módulos mais independentes continua. Enquanto isso, componentes de sprites, NPCs, paletas, scripts de ação, mapas, colisão e animação já têm partes próprias. Esse caminho coloca o projeto ao lado de outros esforços recentes de ports e recompilações, como o RingOut de SoulCalibur II e a recompilação de Wind Waker HD para PC.
Windows e Linux ainda têm limites documentados
Há pacotes separados para Windows x86-64 e Linux x86-64. No Linux, a build distribuída exige glibc 2.43 ou mais recente e suporte a OpenGL. Já no Windows, o desenvolvedor testou o executável via Wine, mas a documentação ainda marca testes em hardware Windows nativo como pendentes.
Por isso, a versão 0.2.1 ainda é uma release de desenvolvimento. Os testes automatizados são extensos e incluem milhares de verificações e replays delimitados, porém não representam um playthrough completo de todo EarthBound ou Mother 2.
Fontes: repositório oficial do Phase Distorter, notas da versão 0.2.1 e status técnico do projeto.