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

229 registros
Avanços

Revisada a parada apos PXOR em MOVIE

A palavra 0x704914C9 em 0x0012B9F8 foi decodificada e executada como PXOR do MMI2. O replay avancou e encontrou chamadas Deci2Call e continuacoes adicionais, corrigindo o diagnostico antigo de opcode desconhecido. ACTION.ELF ainda nao iniciou e nenhum frame foi observado. Ynix continua recompilador estatico nativo, nao...

META 019 - NOT_READY Abrir atualização
Avanços

Corrigido: PXOR MMI2 em 0x0012B9F8

Corrigimos a classificacao anterior: 0x704914C9 pertence ao conjunto MMI2, subopcode 0x13, e corresponde a PXOR. Decoder, YNIR e backend LLVM agora executam XOR lane-wise nos dois halves de 64 bits do GPR de 128 bits; o replay passou dessa instrucao sem fault e continuou pelas rotas estaticas de MOVIE.ELF. ACTION.ELF a...

META 019 - NOT_READY Abrir atualização
Bloqueios

MTAPMAN registra cinco servidores e responde ao bind RPC real

O replay confirmou MODULES/MTAPMAN.IRX dentro da ISO, carregou suas secoes alocaveis e zerou a BSS. Alem dos cinco workers RPC, a sexta thread principal em 0x0015090C foi recompilada estaticamente e executou o setup real dos callbacks SIO2MAN. Os workers registraram no estado guest os cinco SIDs observados neste IRX: 0...

META 019 - NOT_READY
Previsão · estimativaSem data confiavel para iniciar o jogo. Proximo marco verificavel: avancar do PC 0x0012B9AC ate a solicitacao de carga do ACTION.ELF e entao observar o primeiro frame produzido pelo caminho grafico real.
Abrir atualização
Avanços

MTAPMAN exige carregamento das seções do IRX

A revisão do formato do MTAPMAN.IRX mostrou por que apenas copiar os segmentos PT_LOAD não basta: o cabeçalho ELF declara um segmento menor que o conjunto de seções alocáveis. O módulo tem .text de 0x18D0 bytes, .data e .bss até o deslocamento 0x2070; o segmento PT_LOAD cobre só 0xEE0 bytes de memória. Preparei seis ra...

META 019 - NOT_READY
Previsão · estimativaSem previsão confiável de data. O próximo marco verificável é o MTAPMAN recompilado registrar o servidor RPC 0x80000901 no runtime e o guest concluir o bind sem resposta fabricada.
Abrir atualização
Avanços

Mapeados os exports SIO2MAN exigidos pelo MTAPMAN

O MTAPMAN.IRX solicita sio2man versao 0x0203; o header correspondente do PS2SDK e rsio2man.h, nao xsio2man.h. Neste ABI os ordinais 53-56 sao sio2_mtap_change_slot_set, sio2_mtap_get_slot_max_set, sio2_mtap_get_slot_max2_set e sio2_mtap_update_slots_set. A tabela exportada pelo SIO2MAN.IRX da ISO e a analise R3000 conf...

META 019 - NOT_READY Abrir atualização
Avanços

MTAPMAN.IRX compilado estaticamente; execucao pendente

O MTAPMAN.IRX da ISO passou pelo pipeline R3000 estatico do Ynix. Com um load bias apenas diagnostico, 478 relocations locais foram aplicadas; o analyzer alcancou 308 instrucoes e o codegen gerou um objeto host com 190 blocos e 22 pontos de parada explicitos. A compilacao segue incompleta: 12 chamadas importadas sem pr...

META 019 - NOT_READY Abrir atualização
Avanços

Falha de bind do libmtap; MTAPMAN ausente no runner

A rota de KExit em MOVIE imprime libmtap: bind failed depois de pedir SIF_CMD_RPC_BIND para SID 0x80000901. A resposta do contexto IOP parcial nao encontra servidor (server=0). O PS2SDK identifica esse SID como MTAPSERV_PORT_OPEN do MTAPMAN. A ISO contem MODULES/MTAPMAN.IRX, 11533 bytes; extraimos e inventariamos o IRX...

META 019 - NOT_READY Abrir atualização
Avanços

KExit em MOVIE: origem ainda em analise

A analise estatica ligou o stub KExit em 0x0012D080 ao caminho 0x0013EBD8 para 0x001040A8. A rotina e chamada de 0x00132BC0 com argumento -1 e termina em KExit(0). O PS2SDK define KExit como nao retornavel e usa esse syscall para encerrar o programa; o runner para corretamente nesse ponto. Ainda falta descobrir qual ra...

META 019 - NOT_READY Abrir atualização
Avanços

MOVIE.ELF conclui; boot ainda nao inicia o jogo

O replay combinado agora atravessa o boot de MOVIE.ELF com 23.613.090 instrucoes guest concluidas e termina em KExit(0), em PC 0x0012D084. Corrigimos BGEZAL em 0x01F088C4 e mantivemos compatibilidade entre o prefixo ABI 4 e o ABI 5 que acrescenta estado COP1. Isso confirma execucao recompilada do modulo MOVIE, mas nao...

META 019 · NOT_READY Abrir atualização
Avanços

COP2 identificado: ACTION para em VMSUB do VU0

A palavra 0x4BE007EC em PC 0x00138074 não é um opcode reservado: as tabelas do PS2Tek e do PCSX2 a identificam como VMSUB do VU0, com FD=vf15, FS=vf0, FT=vf0 e máscara XYZW. A operação grava em VF o ACC menos o produto dos campos correspondentes de FS e FT. Para continuar com fidelidade, o recompilador precisa represen...

META 019 · NOT_READY Abrir atualização