Ace Combat 5 de PlayStation 2 é mais um clássico que vai dispensar emulador para rodar nativamente no Windows
Ace Combat 5: The Unsung War ganhou uma recompilação nativa para Windows, com suporte a Vulkan, mods e necessidade da cópia original do PS2.
Chegou mais um projeto pra quem é fã de simulador de combate aéreo dos anos 2000: um desenvolvedor chamado de sal063 publicou no GitHub uma recompilação de Ace Combat 5: The Unsung War, o clássico de PlayStation 2, transformando o jogo original em um executável .exe que roda nativamente no Windows, sem depender de emulação tradicional.
O projeto se chama ps2recomp: Ace Combat 5 e representa uma técnica bem diferente da que a maioria dos jogadores está acostumada a ver em projetos de preservação de games antigos. Em vez de emular o PS2 em tempo real (como fazem o PCSX2 e outros emuladores), a ferramenta faz algo que já se tornou bem comum com o trabalho da comunidade: ela lê o executável original do jogo e traduz cada função do código para C, de forma antecipada, antes mesmo de você abrir o jogo. Depois, o compilador GCC junta tudo isso com um runtime que substitui o hardware do console — desde a GS (a unidade gráfica, aqui redesenhada para rodar em Vulkan), passando pelas unidades vetoriais VU, o áudio SPU2, o IPU responsável pelos vídeos, até os módulos do IOP, cartões de memória e controles. O resultado final é um arquivo ac5.exe, que qualquer PC com Windows 64 bits consegue rodar.
O que chama mais atenção aqui é a renderização gráfica, que segundo a descrição do repositório é totalmente nativa, e não emulada. Os aviões, o cockpit, o terreno, os objetos do cenário, o céu e as nuvens não passam mais pela Graphics Synthesizer original emulada. Os programas vetoriais que a VU1 do PS2 usava para transformar e iluminar os modelos 3D foram reescritos como código nativo, e a geometria agora é desenhada como malhas de GPU de verdade, com vertex shaders, texturas com mipmap e filtragem anisotrópica. Isso significa HUD de voo, radar e legendas de rádio nítidos em qualquer resolução de tela, coisa que emuladores tradicionais historicamente têm dificuldade de entregar sem borrar a interface. Menus, hangar e alguns efeitos que a renderização nativa ainda não cobre continuam passando pela GS emulada, dividindo o mesmo frame final.
Segundo a documentação do projeto, o jogo já está totalmente jogável.
O que você precisa para rodar
Não tem ROM nem arquivo do jogo dentro do repositório e isso é regra em qualquer projeto sério de recompilação. O usuário precisa ter a própria cópia de Ace Combat 5, especificamente a versão americana (NTSC-U), com o serial SLUS-20851. Outras regiões simplesmente não funcionam, porque os arquivos de configuração do projeto foram todos mapeados em cima de endereços específicos do executável americano.
Fora o jogo em si, a lista de pré-requisitos inclui:
- Windows 64 bits com placa de vídeo compatível com Vulkan
- MSYS2, para ter acesso ao GCC e ao SDL3 — e aqui vale um detalhe técnico interessante: é preciso GCC 15 ou mais recente, porque o código gerado depende de um recurso chamado tail calls garantidas ([[gnu::musttail]]). Com uma versão mais antiga do compilador, o jogo compila, mas pode estourar a pilha de memória durante a execução
- CMake 3.20+ e Ninja
- O Vulkan SDK, usado para compilar os shaders
- Python 3, só com biblioteca padrão, sem necessidade de instalar nada extra
O processo de recompilação em si é rápido: segundo o autor, a etapa que converte o executável original em código C leva cerca de 15 segundos e gera aproximadamente 10.742 funções distribuídas em 43 arquivos, totalizando uns 50 MB de código gerado. Já a etapa de compilação com o GCC é mais pesada: o próprio criador relata de 3 a 5 minutos em uma CPU de 12 threads, já que cada arquivo gerado é basicamente uma função gigantesca.
Suporte a mods já incluído
Um dos detalhes mais interessantes do projeto é que ele já nasce com suporte nativo a mods, sem precisar recompilar nada do jogo. Cada mod fica em uma pasta própria dentro de uma pasta mods, e o sistema de arquivos do jogo funciona em camadas — um mod é literalmente uma camada extra por cima do disco original, seja ele um ISO ou os arquivos extraídos.
Com esse sistema, é possível:
- substituir arquivos do jogo, inclusive os que estão dentro do pacote DATA.PAC
- alterar valores de ajuste fino do jogo por um arquivo params.txt
- aplicar patches .pnach, os mesmos usados no PCSX2 (embora patches de código não funcionem em código recompilado)
- rodar scripts em Lua que interceptam funções do jogo, leem e escrevem na memória, reagem a trocas de cena e reescrevem a entrada dos controles
- carregar código nativo via DLL, quando o mod autoriza isso explicitamente
Uma questão de tempo (e de trabalho de engenharia reversa)
Vale destacar que nada disso saiu do nada. Por trás do projeto existe um trabalho pesado de engenharia reversa: o autor usou o IDA Pro para mapear os limites de funções e pontos de entrada do executável original, e relata que o próprio recompilador consegue identificar sozinho cerca de dois terços das funções do código: número que sobe para 97% quando alimentado com os dados exportados do IDA.
Para conferir o projeto, é só acessar a página oficial dele no GitHub.
Aproveite que está aqui e siga o Arkade no
Garanta já a sua cópia de Marvel’s Wolverine, e receba o disco em casa com o frete Prime da Amazon.
Ganhamos uma pequena comissão nos links compartilhados em nossos posts. Você não gastará nada mais com isso e ainda apoiará o jornalismo independente de games e cultura.
- Plataformas
- PlayStation, Xbox, PC




