Michael Pavone, autor do emulador BlastEm, relembra como a paixão por Sonic e pelo Mega Drive/Genesis acabou virando um projeto de longa duração voltado à precisão de hardware. Em uma entrevista, ele detalhou as escolhas técnicas do emulador, os testes feitos em hardware original e episódios como a compra de uma cópia rara de Outback Joey — o primeiro exemplar que adquiriu era falso e a tentativa de reproduzir o periférico de exercício o obrigou a reconstruir o comportamento do hardware a partir do código do jogo.

Da curiosidade aos testes em hardware

Pavone começou como usuário interessado em rodar jogos do Genesis no PC e acabou estudando a arquitetura da máquina. Seus primeiros experimentos com Sega CD resultaram em homebrew simples, como uma adaptação do “Graphics and Joystick Sampler” e ferramentas de carregamento que facilitaram testes em hardware real.

Michael Pavone, criador do BlastEm
Michael Pavone, criador do BlastEm. Foto do perfil dele no Bluesky, via Retro Replay

Para depurar diferenças entre BlastEm e consoles reais ele usa documentação quando existe, ROMs de teste e até um analisador lógico. Ferramentas internas do emulador (como uma visualização de composição de planos e um player de VGM para o áudio) ajudam a isolar se um problema vem do chip de som, de escritas erradas no registrador ou da lógica de renderização.

O que significa “precisão” no Genesis

Pavone evita o termo vago “cycle accurate” e explica que precisão envolve dois aspectos: o tempo correto das operações de cada componente e a granularidade com que esses componentes interagem. Em hardware, várias partes rodando em paralelo podem afetar o resultado de formas que emuladores mais antigos, que executam um componente por vez (geralmente por linha de vídeo), tendem a errar.

Ele cita o VDP do Genesis como projeto engenhoso: para manter taxa de transferência alta ao mesmo tempo em que dá acesso aleatório necessário ao sistema baseado em tiles, o VDP organiza leituras em blocos de 4 bytes, equilibrando portas seriais e paralelas da VRAM.

Demos e jogos que “pegam” emuladores

Demos como Overdrive e Overdrive 2 expõem atalhos e faltas de precisão: por exemplo, a cena “TITAN 512C FOREVER” explora limites de sprites e transferências de paleta durante o blanking, fazendo aparecerem sprites extras em emuladores que não reproduzem corretamente essa limitação. Overdrive 2 também usa modos de VRAM estendidos e registradores de depuração pouco documentados.

Cena Titancade da demo Overdrive 2 no Mega Drive
A cena Titancade da demo Overdrive 2, da Titan. Imagem: site oficial do BlastEm, via Retro Replay

Além disso, jogos comerciais às vezes dependem de comportamentos pouco óbvios — Pavone cita Outback Joey como um caso especialmente trabalhoso por envolver um periférico raro com sensor de cadência e monitor cardíaco.

Sega CD, 32X e a caixa-preta do CDD

Para Pavone o Sega CD é particularmente difícil de emular devido ao drive de CD-ROM e à interação complexa com o BIOS, além de temporizações dependentes de partes mecânicas. Um dos maiores pontos de incerteza é o microcontrolador CDD do Sega CD, que controla a unidade de disco e cuja ROM de varejo ainda não foi extraída publicamente; a decapagem do chip e a extração dessa ROM poderiam permitir emulação de baixo nível mais fiel.

O 32X adiciona CPUs e camadas de vídeo, mas, na visão dele, é conceitualmente menos tortuoso que o conjunto completo Genesis+Sega CD+32X — ainda que pesado para emular.

Precisão versus desempenho e o papel do código humano

BlastEm usa técnicas como recompilação dinâmica (dynarec) para tentar equilibrar rapidez e sincronização fina, mas Pavone reconhece que essas partes não trouxeram ganhos gigantes e complicaram depuração. Ele afirma que, apesar de ferramentas de IA estarem progredindo, prefere manter o código do BlastEm escrito por humanos — tanto por gosto pessoal quanto por preocupação com compreensão, revisão e manutenção a longo prazo.

Pavone também vê o trabalho de emuladores como uma forma de arqueologia do hardware: emular com precisão ajuda a documentar comportamentos observáveis e complementa documentação escrita, especialmente quando demos e homebrew empurram o hardware a limites não previstos por documentos oficiais.

Para quem busca o emulador, Pavone recomenda consultar o site oficial do BlastEm e o repositório do projeto, onde estão disponíveis releases e código-fonte.

Fonte: Retro Replay

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *