No momento, você está visualizando Chrono Trigger no SNES: projeto reconstrói código principal
Chrono Trigger em imagem publicada pelo Kotaku. Contexto do jogo, sem representar um teste de ChronoRET.

Chrono Trigger no SNES: projeto reconstrói código principal

  • Autor do post:
  • Última modificação do post:
  • Categoria do post:Notícias / Ports
  • Tempo de leitura:5 minutos de leitura

A reconstrução do código de Chrono Trigger no SNES alcançou um marco no projeto ChronoRET. Segundo o mantenedor ThisIsAkill, o levantamento revisto em 14 de outubro identifica 249.251 bytes de código 65816 alcançável e classifica esse conjunto como reconstruído com correspondência byte a byte.

Porém, os “100%” valem para esse escopo definido pelo levantamento, e não para todas as partes do cartucho ou para uma versão nova de PC pronta para jogar. Além disso, o autor mantém a revisão das rotinas em andamento e descreve o trabalho como um projeto pessoal de estudo e preservação.

Batalha de Chrono Trigger em imagem contextual da edição para computadores
Chrono Trigger em captura publicada pelo Gamers Decide, com interface da edição para computadores. Contexto do jogo, sem representar o resultado de ChronoRET ou a reconstrução do SNES.

O que foi reconstruído em Chrono Trigger no SNES

O objetivo é produzir assembly 65816 legível, com nomes e comentários, que remonte o código original da edição americana de 1995. Dessa forma, o projeto busca explicar o funcionamento do jogo e reproduzir seus bytes, preservando os comportamentos do programa de origem.

Segundo o README atual, a ferramenta acompanha saídas e destinos das rotinas para verificar quais trechos de código são alcançáveis. Depois que o levantamento passou a encontrar somente destinos já reconstruídos, a relação entre código correspondido e código alcançável chegou a 100%.

Entretanto, o próprio autor explica que o método passa a devolver esse total por construção. Por isso, apresenta verificações adicionais de saltos, ponteiros e blocos isolados para sustentar a classificação. O Allves Games conferiu a documentação, mas não refez a auditoria do assembly nem executou a reconstrução.

Por que o número não cobre todo o cartucho

A contagem principal deixa o driver de som SPC700, com 7.153 bytes, e o módulo compactado C3, com 26.393 bytes, em métricas separadas. Isso não significa que essas áreas estejam necessariamente intocadas: o STATUS também descreve trabalho próprio no módulo descompactado e em sua recompressão.

Além disso, gráficos, músicas, textos e outros dados seguem uma camada diferente. O repositório guarda ferramentas e mapas de organização, enquanto o processo de build extrai os dados da ROM fornecida pelo usuário. Portanto, o percentual de código 65816 não mede a documentação completa de cada recurso do jogo.

Personagens atravessam uma ponte entre cachoeiras em Chrono Trigger
Chrono Trigger original de SNES, em captura publicada na análise do The Pixel Empire. Imagem histórica de contexto, sem demonstrar execução de uma ROM reconstruída pelo projeto.

O arquivo STATUS preserva decisões e medições anteriores, inclusive 71,27% em uma etapa de 14 de outubro. Já a seção posterior de revisão do levantamento registra os 249.251 bytes atuais. Assim, os valores precisam ser lidos com sua cronologia e seu critério de contagem, em vez de tratados como números simultâneos.

Como conferir a reconstrução de Chrono Trigger no SNES

O guia abaixo cobre o material público do repositório para reconstrução e conferência. O download entrega código-fonte e ferramentas para estudo. Além disso, o processo exige uma ROM própria da edição americana 1.0, sem cabeçalho, com 4 MiB.

  • Ferramentas: asar 1.91, Python 3.10 ou posterior e make.
  • Verificação adicional no Linux: strace é recomendado pelo autor para conferir os arquivos abertos pelo assembler.
  • Análise de execução: a documentação cita um emulador de SNES com depurador, como bsnes-hd ou Mesen-S.
  1. Obtenha o código do repositório e prepare as ferramentas listadas no README.
  1. Coloque sua ROM compatível em roms/chrono_trigger.sfc. Em seguida, confira seu hash com o arquivo rom.sha256 fornecido pelo projeto.
  2. Use make build e make diff, conforme o guia. O primeiro monta a imagem com os dados próprios; depois, o segundo compara o resultado com a ROM de referência.

O processo também verifica a montagem sobre imagens inicialmente preenchidas com valores diferentes. Assim, tenta demonstrar que a saída vem do assembly e dos dados previstos. Ainda assim, gerar os mesmos bytes e revisar a interpretação de cada função são tarefas distintas.

O que ainda precisa de revisão

O STATUS atual aponta a revisão independente das rotinas como alvo de trabalho. Também há nomes e interpretações marcados como hipóteses, além de questões abertas sobre o fluxo do programa. Por isso, “código correspondido” não deve ser confundido com documentação final de todo o funcionamento.

Personagens de Chrono Trigger no castelo, na galeria oficial da edição Steam
Edição comercial de Chrono Trigger para PC, em captura oficial da Square Enix/Steam. Essa versão já existe desde 2018 e é um produto separado de ChronoRET.

Chrono Trigger já possui uma edição comercial para computadores na Steam, lançada em 2018. Já ChronoRET trabalha na reconstrução da versão de SNES: ele não anuncia um remake, uma tradução ou um substituto desse lançamento. Também não há confirmação de prazo para um eventual port derivado.

Para acompanhar outros trabalhos com clássicos, veja a versão para PC de Dragon Ball Z: Super Saiya Densetsu e a editoria de ports do Allves Games. Cada projeto tem seu próprio estágio e requisitos.

Fontes: README e código de ChronoRET; STATUS e decisões do levantamento; página de releases; edição comercial de Chrono Trigger na Steam.