Ace Combat 5 recebe recompilação nativa para Windows com suporte Vulkan e mods
Um novo projeto de preservação chega para os fãs de simuladores de combate aéreo dos anos 2000. O desenvolvedor identificado como sal063 publicou no GitHub a recompilação nativa de Ace Combat 5: The Unsung War, título clássico do PlayStation 2, sob o nome de ps2recomp: Ace Combat 5.
Diferente das abordagens tradicionais que utilizam emuladores como o PCSX2, o ps2recomp lê o executável original do jogo, converte cada função para código C e o compila com GCC, gerando um arquivo ac5.exe que roda diretamente em Windows 64‑bits, sem camada de emulação em tempo real.
A renderização gráfica é totalmente nativa, baseada em Vulkan. A Graphics Synthesizer (GS) original deixa de ser emulada para a maioria dos elementos: aviões, cockpit, terreno, objetos, céu e nuvens são desenhados com malhas de GPU reais, vertex shaders, texturas com mip‑map e filtragem anisotrópica. Isso garante HUDs, radar e legendas nítidas em qualquer resolução, algo que emuladores costumam ter dificuldade para reproduzir sem borrões. Menus, hangar e alguns efeitos ainda utilizam a GS emulada, permanecendo no mesmo frame final.
Para executar o jogo, o usuário deve possuir a cópia original da versão americana (NTSC‑U) com o serial SLUS‑20851; versões de outras regiões não são compatíveis, pois os endereços de configuração foram mapeados especificamente para o executável americano. O repositório não contém ROM nem arquivos do jogo, seguindo a prática padrão de projetos de recompilação.
Os pré‑requisitos incluem Windows 64‑bits com placa de vídeo compatível com Vulkan, MSYS2 (para acesso ao GCC e SDL3), GCC versão 15 ou superior – necessário por causa das “tail calls” garantidas ([[gnu::musttail]]) – e o Vulkan SDK para compilação dos shaders. Python 3 é requerido apenas para scripts auxiliares, sem necessidade de bibliotecas adicionais.
O processo de recompilação é rápido: a conversão do executável original para código C leva cerca de 15 segundos, gerando aproximadamente 10 742 funções distribuídas em 43 arquivos, totalizando cerca de 50 MB de código. A compilação com GCC consome de 3 a 5 minutos em uma CPU de 12 threads, devido ao tamanho das funções geradas.
Um dos diferenciais do projeto é o suporte nativo a mods. Cada mod é colocado em uma pasta dentro de “mods” e funciona em camadas sobre o disco original, permitindo substituir arquivos, alterar valores via “params.txt”, aplicar patches “.pnach” (mesmo formato usado no PCSX2, embora patches de código não funcionem), rodar scripts Lua que interceptam funções, modificar a memória, reagir a trocas de cena e até carregar código nativo via DLL quando autorizado pelo autor do mod.
O desenvolvimento contou com intenso trabalho de engenharia reversa. Sal063 utilizou o IDA Pro para mapear limites de funções e pontos de entrada do executável, e relata que o recompilador identifica automaticamente cerca de dois terços das funções encontradas.
Com o jogo já totalmente jogável, a comunidade ganha mais uma opção de preservar títulos antigos sem depender de emuladores, reforçando a tendência observada em outros projetos de recompilação que vêm surgindo recentemente.
Com informacoes de Arkade.

