Introdução
Dungeons & Dragons: Shadow of Mistara (ddsom) é um jogo de beat-'em-up lançado pela Capcom em 1996 para a placa arcade CPS-2. Este artigo explora como o projeto ddsom-recomp, um port nativo para Windows e macOS/Linux, foi construído, destacando a recompilação estática e a organização dos arquivos.

Como o Port foi Construído
A Diferença entre Emulação e Recompilação
O projeto ddsom-recomp diferencia-se de um emulador (como o MAME) em como o código do arcade é traduzido para o hardware da máquina. Em emulação, o emulador lê instruções do arcade e as executa instrução por instrução. No caso de ddsom-recomp, a ferramenta analisa o código do arcade e gera funções C/C++ equivalentes que o processador da máquina executa diretamente. Isso elimina a sobrecarga de interpretação, resultando em baixa latência e alta resolução.
O Hardware CPS-2
O projeto ddsom-recomp recompila o código do arcade CPS-2 para C/C++ nativo, mantendo a lógica do jogo no Motorola 68000 e a música no Z80. O vídeo, som e proteção/descriptografia são reimplementados em C++ no port. Isso significa que o código do arcade é traduzido para o hardware da máquina, não emulado.
Recompilação estática
A recompilação estática é o processo de analisar o código do arcade e gerar funções C/C++ equivalentes. Isso resulta em código nativo que é executado diretamente pelo processador, sem a necessidade de interpretação. O resultado é um jogo que roda sem emulação, oferecendo melhor desempenho e interface mais acessível para leitores de tela.
Organização dos Arquivos
O projeto ddsom-recomp organiza os arquivos de código do arcade para facilitar a recompilação. Os arquivos de código do arcade são traduzidos para funções C/C++ equivalentes, e essas funções são compiladas ao lado do resto do programa. O código nativo é executado diretamente pelo processador, eliminando a necessidade de interpretação.
Conclusão
O projeto ddsom-recomp oferece um exemplo de como o código do arcade pode ser recompilado para um port nativo, oferecendo ganhos em desempenho e interface. Este método de portamento é uma alternativa à emulação, permitindo jogos de arcade para plataformas modernas sem a necessidade de emuladores.