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.
Correção importante sobre a atualização #78: o estado do guest tinha `$v1=32` decimal em `0x0012D264`. No PS2SDK, o serviço decimal 32 (`0x20`) é `CreateThread`; `SleepThread` é decimal 50 (`0x32`). A instrução seguinte no fluxo chama `StartThread` (decimal 34 / `0x22`). A estrutura passada a CreateThread contém entry...
O replay nativo estático de MOVIE.ELF avançou até `PC=0x0012D264`, syscall EE 32 (`SleepThread`), após 10.983.821 instruções concluídas. O caller em `0x0011B030` invoca o stub guest que suspende a thread; não vou tratá-lo como retorno imediato sem identificar o wakeup e o escalonamento EE correspondentes. Ainda não hou...
O replay atravessou callbacks de MOVIE.ELF em 0x0012FBE4, 0x00130098, 0x0012FBF8 e 0x00130288 e chegou a PC=0x001316EC. Foram concluidas 10.983.789 instrucoes com guest_error=0; o runner parou na proxima fronteira de cobertura parcial.
Foram integradas as continuacoes 0x0011AD1C, 0x00131664 e 0x0011ADE8. O fluxo conti...
Implementei LDL, LDR e SDR no decoder R5900, na IR e no backend LLVM, completando o SDL que ja existia. A fusao das operacoes de 64 bits desalinhadas segue as mascaras e deslocamentos descritos pela referencia PCSX2: https://github.com/PCSX2/pcsx2/blob/master/pcsx2/R5900OpcodeImpl.cpp
A raiz 0x001043A4 foi recompilada...
O replay integrado avancou pelas continuacoes de MOVIE.ELF e parou em PC=0x001164D8 na palavra guest 0x68C20007, classificada como KNOWN_UNSUPPORTED. O opcode 0x1A corresponde a LDL; a referencia PCSX2 descreve a leitura alinhada e a combinacao de bytes com o valor antigo do registrador: https://github.com/PCSX2/pcsx2/...
O perfil nativo opt-in reconhece as escritas observadas de GS_CSR.VSINT (0x8) e GS_CSR.FINISH (0x2), conserva o valor gravado em GS_SYNCV e produz um evento sintetico de uma leitura para liberar cada poll observado. Isso e uma aproximacao controlada para o guest seguir; nao implementa temporizacao ou renderizacao do GS...
As continuacoes 0x00109428 (64 blocos, 731 instrucoes) e 0x00104350 (256 blocos, 1.494 instrucoes) foram compiladas e integradas. O replay percorreu 0x00104344 -> 0x00109428 -> 0x00104350 e chegou a PC=0x00108CC8, com 10.970.482 instrucoes concluidas e guest_error=0. O fluxo continua em MOVIE.ELF; nao houve ACTION.ELF,...
O replay integrou 0x00107268, 0x00104330 e 0x00104344 e percorreu 0x0010EA48 -> 0x00107268 -> 0x00104330 -> 0x00109718 -> 0x0010976C -> 0x00104344, chegando a PC=0x00109428 com 10.970.048 instrucoes concluidas e guest_error=0. O alvo permanece em MOVIE.ELF; nao houve ACTION.ELF, frame ou gameplay. META 019 continua ati...
Foram integradas as raizes 0x00109CE8 (44 blocos, 226 instrucoes) e 0x0010EA34 (256 blocos, 1.107 instrucoes). O replay passou por 0x0010EA24 -> 0x00109718 -> 0x00109CA4 -> 0x00109CE8 -> 0x0010EA34 e seguiu pelas rotinas de MOVIE.ELF ate PC=0x0010EA48, com 10.969.790 instrucoes concluidas e guest_error=0. Nao houve tra...
A raiz observada 0x0010E9EC foi integrada ao runner estatico. O replay passou por 0x0010E9D8 -> 0x00109718 -> 0x00109B68 -> 0x0010E9EC, retomou rotinas de MOVIE.ELF e chegou a PC=0x0010EA24, com 10.967.595 instrucoes concluidas e guest_error=0. Nao houve transicao para ACTION.ELF, frame apresentado ou gameplay. META 01...