YNIX / RECOMP
Ynix Recomp / PlayStation 2
Em andamento

Ynix PS2 Recomp

Projeto experimental de engenharia reversa e recompilação estática. O objetivo é traduzir o executável original para código nativo em Windows e Linux, sem substituir o console por um emulador.

Alvo: WindowsAlvo: Linux
Ver diário e changelog
objetivo

Recompilação nativa

Pesquisar o caminho técnico para traduzir o software do console para uma execução nativa em Windows e Linux. O progresso será registrado com evidências, limites e bloqueios reais.

estado

Desenvolvimento ativo

229 atualizações públicas vinculadas a esta área.

histórico do console

Atualizações e changelog

203 registros
Avanços

ACTION recompilado supera VSQRT e alcança SIF0

O caminho nativo parcial do ACTION.ELF passou por três instruções VSQRT observadas e completou 398.278.232 instruções antes da primeira leitura SIF0_CHCR.

Bloqueio
O runtime ainda não conhece o estado do canal DMA SIF0 em 0x1000C000. A execução para nessa leitura com erro MMIO explícito; não há evidência suficien...
Solução
Adicionei ao decodificador, YNIR e backend nativo apenas os três encodings VSQRT encontrados no caminho, com estado Q e flags VU0. Preservei SIF0 como...
META 019 Abrir atualização
Avanços

CFG de entrada ampliado leva ACTION a 275 milhões de instruções

Com o CFG principal ampliado, a execução parcial de ACTION.ELF completou 275.040.751 instruções e chegou a 0x001F8AB0, sem erro guest ou fault de memória.

Bloqueio
Os limites menores do CFG principal paravam em fronteiras não compiladas e exigiam raízes observadas incrementais. O módulo ainda é parcial e retorna...
Solução
Aumentei o teto de entrada para 4.096 blocos, com 2.580 alcançados, e mantive 5.048 blocos de raízes observadas. O artefato gerou 37.536 instruções e...
META 019 Abrir atualização
Avanços

ACTION cruza 250 milhões de instruções sem erro guest

A execução parcial do ACTION.ELF completou 251.108.802 instruções e alcançou 0x0020B6F0, sem guest_error ou falha de memória.

Bloqueio
O alvo seguinte ainda está fora do CFG compilado, então o runner para com status 4. A execução não comprova o boot completo do jogo.
Solução
Incluí 0x0020C8A4 como raiz observada, ampliei o fuel para 400 milhões e mantive 8.192 blocos para raízes observadas e 1.024 na entrada. O artefato co...
META 019 Abrir atualização
Avanços

ACTION alcança 233 milhões de instruções recompiladas

O recorte parcial de ACTION.ELF completou 233.868.865 instruções e chegou a 0x00213DFC, sem guest_error ou falha de memória.

Bloqueio
O alvo seguinte ainda está fora do CFG nativo parcial; o runner retorna status 4 nessa fronteira. Isso não representa boot completo ou jogo aberto.
Solução
Adicionei a fronteira 0x00221E80 às raízes observadas e usei limite de 8.192 blocos, mantendo 1.024 na entrada principal. O artefato atual compilou 4....
META 019 Abrir atualização
Avanços

ACTION supera 190 milhões de instruções no recorte nativo

A execução nativa parcial do ACTION.ELF completou 190.636.414 instruções e alcançou 0x00221E80, sem erro guest nem falha de memória.

Bloqueio
O recorte estático ainda não contém o próximo destino indireto; a execução encerra com status 4 na fronteira externa ao módulo. Isso ainda não é boot...
Solução
Ampliei o teto configurável das raízes observadas para 8.192, mantendo a entrada principal em 1.024 blocos e o dispatcher compartilhado. O artefato co...
META 019 Abrir atualização
Avanços

ACTION alcança quase 180 milhões de instruções no recorte nativo

O recorte parcial recompilado do ACTION.ELF completou 179.847.916 instruções e alcançou PC 0x00244180, sem guest_error nem falha de memória.

Bloqueio
O fluxo ainda alcança destinos fora do CFG parcial; mudanças na ordem das raízes também deslocavam a cobertura, e o teto anterior de 4.096 blocos obse...
Solução
Aumentei o limite configurável de raízes observadas de 4.096 para 8.192, mantendo a entrada principal em 1.024 blocos e o dispatcher compartilhado. O...
META 019 Abrir atualização
Avanços

ACTION supera 152 milhões de instruções recompiladas

A inclusão ordenada das fronteiras observadas levou o ACTION.ELF a 152.233.080 instruções recompiladas e executadas, avançando até 0x0025A19C sem erro guest ou falha de memória.

Bloqueio
O módulo parcial ainda não contém todos os destinos indiretos do fluxo. O runtime para com status 4 no próximo endereço não compilado; isso não é um b...
Solução
Mantive o dispatcher indireto compartilhado, o suporte SQC2/LQC2 e a priorização das raízes quentes. O artefato atual contém 24.331 operações e foi ex...
META 019 Abrir atualização
Avanços

ACTION ultrapassa 138 milhões de instruções recompiladas

A priorização das fronteiras quentes e o suporte a SQC2 permitiram ao ACTION.ELF superar 138 milhões de instruções nativas executadas. O artefato chegou a 0x00265AF0 sem erro do guest nem falha de memória.

Bloqueio
A cobertura continua sendo parcial. Ao atingir um destino indireto ainda fora do módulo recompilado, o dispatcher para com status 4; o runtime não che...
Solução
Mantive o dispatcher indireto compartilhado, a compilação de SQC2/LQC2 para estado VU0 de 128 bits e reordenei as raízes observadas para priorizar as...
META 019 Abrir atualização
Avanços

ACTION avança a 115 milhões de instruções com SQC2 recompilado

O dispatcher compartilhado reduziu o IR e viabilizou compilar mais código do ACTION.ELF. A implementação de SQC2 permitiu executar 115.051.828 instruções até a nova fronteira 0x002882EC, sem erro do guest nem falha de memória.

Bloqueio
O LLVM sofria com switches indiretos repetidos no CFG parcial. Depois de reduzir esse custo, o ACTION parava em 0x001BFC94 porque SQC2 (0xF85F0000) ai...
Solução
Compartilhei o dispatcher de saltos indiretos nos módulos parciais, acrescentei SQC2/LQC2 de 128 bits ao decoder, YNIR e backend LLVM e passei a aceit...
META 019 Abrir atualização
Avanços

ACTION avança 53 milhões de instruções até nova fronteira do CFG

A inclusão da continuação 0x0012B3A4 permitiu ao ACTION recompilado completar 53.038.625 instruções e alcançar 0x0013A368, sem erro guest ou falha de memória.

Bloqueio
O recorte parcial terminava em 0x0012B3A4, omitindo a continuação da rotina e os blocos percorridos até 0x0013A368.
Solução
Confirmei o bloco no ELF, adicionei 0x0012B3A4 como raiz observada e recompilei o artefato ABI 8; a nova execução confirmou o avanço e registrou a pró...
META 019 Abrir atualização