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.
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.
O replay recompilado avançou de 806.740 para 930.772 instruções concluídas e continua sem erro guest ou falha de memória.
Bloqueio
A execução parcial ainda não contém todos os blocos alcançados no caminho de inicialização; a parada atual é MissingCompiledBlock em 0x00717FB0.
Solução
Incluímos as raízes observadas 0x00716C78, 0x007172F0 e 0x00717950, recompilamos e validamos o harness nativo. O artefato tem 260 raízes, 44.944 opera...
A ampliação controlada das raízes observadas levou o replay recompilado de 580.868 para 806.740 instruções concluídas, sem erro guest ou falha de memória.
Bloqueio
O artefato parcial não continha blocos alcançados dinamicamente após 0x00714C08, causando parada MissingCompiledBlock; a cobertura ainda não inclui to...
Solução
Adicionamos as raízes observadas 0x00714C08, 0x007124CC, 0x007152C8, 0x00715970 e 0x00716000, recompilamos e validamos o harness nativo. O artefato te...
Comparamos registradores do EE em 0x005401F0 entre Toy Story 3 no PCSX2 Devel v1.7.3563 e o replay nativo do Ynix. O PCSX2 encontra a referência na RAM; o replay parcial não reproduz o mesmo contexto e continua por outra rota.
Bloqueio
O replay parcial começa a busca com $a0-$a2 iguais ao trace, mas diverge nos outros GPRs e em COP0. Sem o estado de boot/RAM observado, não encontra 0...
Solução
Adicionamos probes configuráveis por PC ao runtime nativo e comparamos as capturas. O primeiro percurso respeita o limite de 512 KiB; a correção agora...
Identificadores e fontes de fixtures foram alinhados por comportamento, e a documentação agora explica a separação entre compilador/runtime, perfis de compatibilidade e a futura GUI.
Bloqueio
Nomes de metas, fases e jogos estavam vazando para IDs de fixtures, nomes de arquivos de teste, símbolos internos e parte da documentação. Isso dificu...
Solução
Os IDs gerais agora usam nomes como finite_loop, branch_taken e boot_trace; as funções SIF0 não carregam o nome de um jogo; arquivos de exemplos usam...
A CLI foi reorganizada em serviços, modelos e interoperabilidade com o núcleo nativo; o artefato agora se chama Ynix.PS2.Recomp.dll. Um painel estático com gráfico, barra por marcos e atualizações automáticas foi preparado.
Bloqueio
A CLI concentrava responsabilidades e usava nomes de saída antigos, enquanto a página de progresso ainda não tinha uma visualização consolidada. O cód...
Solução
Separação inicial em Application, Commands, Build, Execution, Interop e Models, centralização dos identificadores de fixtures com nomes semânticos no...
A CLI foi reorganizada em módulos por comando, execução e build. O manifesto e a política de fixtures ELF também foram isolados.
Bloqueio
Program.cs concentrava despacho, interop nativa, validação ELF, compilação e manifesto em um arquivo extenso; regras de fixture e metadados estavam mi...
Solução
Separados os comandos em arquivos próprios, extraída a política explícita de autorização das fixtures e movida a montagem da proveniência do manifesto...
A pasta build caiu de aproximadamente 12,57 GiB para 3,04 GiB após a limpeza, uma redução observada de cerca de 9,53 GiB. A nota anterior usou a soma lógica das saídas selecionadas e superestimou o espaço recuperado.
Bloqueio
A atualização #168 informou 9,66 GB com base na soma dos tamanhos dos artefatos selecionados antes da exclusão. Essa soma não correspondeu à variação...
Solução
A medição consolidada após remover as saídas antigas mostra 3.264.541.225 bytes (3,04 GiB) restantes em build/, contra aproximadamente 12,57 GiB antes...
Removemos 9,66 GB de saídas antigas do alvo 007, mantivemos o toolchain e os artefatos ativos do Toy Story 3, e organizamos a documentação e os módulos CMake.
Bloqueio
Builds e replays históricos ocupavam mais de 12 GB em build/, com centenas de diretórios de artefatos temporários. A documentação tinha um diário ativ...
Solução
Criamos scripts/clean-generated.ps1 com modo de prévia e preservação explícita do LLVM instalado e do build parcial atual do Toy Story. Foram removido...
A compilação parcial do SLUS_219.31 passou pelo loop inicial e pelas criações de semáforo, chegando ao syscall SetSyscall do PS2.
Bloqueio
O loader rejeitava segmentos PT_LOAD vazios válidos. Após essa correção, o runtime parou em CreateSema e, depois de modelar o contrato observado, avan...
Solução
O compilador ignora apenas PT_LOAD com filesz e memsz iguais a zero. O perfil Toy Story 3 compila 256 blocos nativos e trata CreateSema somente no PC...
A nova captura do PCSX2 confirma a sequência do segundo reboot do IOP até o carregamento do front-end main_menu. O Ynix avançou a execução estática de MOVIE até a próxima fronteira observada, sem alcançar ainda o reset do IOP.
Bloqueio
O log avançado contém 2.134 leituras CDVD e os marcos de ACTION.ELF e main_menu, mas não registra eventos de EE Syscalls, SIF/RPC ou espera de threads...
Solução
Documentei os marcos PCSX2 com horários e acrescentei ao pipeline as continuações guest observadas 0x0010EE14, 0x0010EE70 e 0x0010EE90. O replay integ...