YNIX / RECOMP
desenvolvimento aberto / PS2 ? PS4 ? Xbox 360 ? Xbox One

Ynix Recomp

Projetos de recompila??o nativa de consoles para Windows e Linux. Acompanhe separadamente infraestrutura, an?lise e execu??o observ?vel de cada jogo.

Build e testes sint?ticos n?o significam que um jogo foi carregado ou executado.
registro p?blico

Atualiza??es e changelog

Filtre por console, tipo ou palavra-chave.

231 registros
Avanços
PlayStation 2

MTAPMAN registra cinco serviços; PADMAN é a próxima dependência

O MTAPMAN guest da ISO iniciou e registrou cinco servidores RPC reais; o boot agora pede PADMAN pelo SID 0x80000100.

Bloqueio
O runner interrompia a verificação ao selecionar um worker CDVDFSV válido e compilava quatro handlers MTAPMAN em raízes de worker, não nos endereços d...
Solução
A validação de threads foi corrigida, handlers MTAPMAN foram recompilados nos endereços observados e o guest passou a responder aos cinco binds e a um...
META 019 — boot de jogo Abrir atualização
Avanços
PlayStation 2

ACTION.ELF esta no ISO, mas o boot termina em KExit de MOVIE

A ISO 007 contem ACTION.ELF e DRIVING.ELF, mas o replay observado abriu somente MOVIE.ELF e terminou em KExit(0). A cadeia estatica de saida de MOVIE foi identificada.

Bloqueio
A execucao recompilada nao demonstrou a transicao guest para ACTION.ELF. O RA final 0x00132BC8 nao e prova do chamador: o caminho termina por saltos s...
Solução
Inventariei SYSTEM.CNF e a arvore ISO9660: BOOT2 aponta para SLUS_202.65; ACTION.ELF esta no LBA 793160 e DRIVING.ELF no LBA 794696. No MOVIE, 0x0013E...
META 019 Abrir atualização
Avanços
PlayStation 2

SIF RPC assíncrono libera avanço em MOVIE.ELF

O replay deixou de parar na segunda chamada CDVDFSV: o runner identificou uma RPC não bloqueante com callback e avançou por duas novas continuações recompiladas de MOVIE.ELF, chegando a 0x0013282C.

Bloqueio
O harness classificava todo rmode=1 como chamada síncrona e recusava uma nova RPC enquanto havia uma chamada guest pendente. Isso encerrava o replay a...
Solução
O runner agora consulta sema_id e end_function do cliente SIF RPC. Para a chamada observada, sema_id=0xFFFFFFFF e callback=0x0013B488 indicam o caminh...
META 019 — boot do jogo 007 Abrir atualização
Avanços
PlayStation 2

META 019: retorno de IRQ tratado e nova RPC do CDVDFSV

O guest avancou ate 0x0013B9C4. O retorno de erro de IRQ agora volta em $v0; o proximo bloqueio e o handler CDVDFSV em 0x001246EC, status interno 99.

Bloqueio
O runner tratava uma IRQ ja registrada como falha fatal do executor. Depois dessa correcao, a proxima RPC do CDVDFSV termina com YNIX_IOP_EXEC_INTERNA...
Solução
Separei o resultado da API RegisterIntrHandler do status do executor: falhas de registro retornam valor nao zero em $v0 e mantem o fluxo guest. O cont...
META 019 Abrir atualização
Avanços
PlayStation 2

META 019: reset do IOP e retomada do RPCINIT

O runner detectou o RESET_CMD do jogo, validou IOPRP214.IMG na ISO, reiniciou o perfil IOP recompilado e entregou RPCINIT no loop esperado pelo EE. O replay avançou até PC 0x01F0DA0C.

Bloqueio
O runner anterior observava o RESET_CMD sem reiniciar o contexto IOP. No novo boot, o EE aguardava RPCINIT, mas o harness não reentregava os pacotes I...
Solução
Validei o caminho e o hash da imagem IOPRP, recriei o contexto com EESYNC/SIFCMD recompilados, reproduzi no harness os pacotes INIT_CMD opt=0/1 observ...
META 019 Abrir atualização
Avanços
PlayStation 2

CDVDFSV guest registra servidores e conclui o primeiro RPC

A entrada recompilada do CDVDFSV iniciou tres threads guest e registrou seis servidores RPC. O bind e a chamada ao servidor 0x80000592 completaram e a resposta chegou ao EE.

Bloqueio
A chamada seguinte ao servidor 0x80000596 bloqueia no handler guest 0x001246EC, que espera o evento CDVD 0x4. Sem essa resposta, o EE aguarda consulta...
Solução
O harness agora executa a entrada real do CDVDFSV, agenda RPC na thread proprietaria da fila e preserva handlers bloqueados sem sintetizar RPC_END. O...
META 019 Abrir atualização
Avanços
PlayStation 2

META 019: handler de IRQ CDVD ligado ao estado guest

O replay recompilado confirmou o registro guest do CDVDMAN em IRQ 2 e alcancou uma consulta de estado do disco pelo servidor 0x80000596. O runner agora compila e conecta o handler guest observado em 0x00131134.

Bloqueio
A consulta chama sceCdSC(0xFFFFFFF5) e bloqueia em WaitEventFlag(event=0, bits=0x4). A tentativa diagnostica de sinalizar I_STAT bit 1 ainda nao compr...
Solução
Adicionei leitura/ack de CDVD I_STAT, leitura sem erro em 0xBF402006 para o perfil da ISO pronta e o vinculo entre IRQ 2 e o handler recompilado regis...
META 019 Abrir atualização
Avanços
PlayStation 2

META 019: EE alcanca RPC_BIND do CDVD

A EE saiu do polling de RPC apos a tabela guest RPCINIT receber o valor confirmado pelo pacote SIFCMD; em seguida emitiu RPC_BIND para o servidor CDVD Init.

Bloqueio
O ELF consultava diretamente o slot guest 0x01F14740, mas o runner atualizava apenas o estado HLE RPCINIT. Por isso a EE permanecia no polling.
Solução
O runner agora aplica o SET_SREG guest recompilado tambem ao slot de memoria que o ELF consulta. A execucao avanca ate o RPC_BIND de 64 bytes para SID...
META 019 Abrir atualização
Avanços
PlayStation 2

SIFCMD guest publica RPCINIT, mas o ELF segue em outro polling

O objeto recompilado de sceSifInitRpc recebeu os eventos guest e enviou SIF_CMD_SET_SREG (index 0, value 1) via DMA IOP→EE. A recepção registrada atualizou RPCINIT=1, confirmado no readback.

Bloqueio
O ELF continuava no polling em 0x01F09034, e o runner anterior não executava sceSifInitRpc nem observava o pacote SET_SREG produzido pelo IOP.
Solução
Liguei o objeto recompilado de sceSifInitRpc e seus providers IOP; a ponte entregou o DMA observado. Apliquei a etapa EE documentada pelo PS2SDK que,...
META 019 — handshake SIF/RPC Abrir atualização
Avanços
PlayStation 2

SIFCMD recompilado processa INIT_CMD observado na EE

O handler IOP SIFCMD recompilado recebeu os dois payloads INIT_CMD formados pelo ELF EE. opt=0 executou 24 instruções e sinalizou evento 0x100; opt=1 executou 18 e sinalizou 0x800.

Bloqueio
O runner registrava os descritores SIF enviados pela EE, mas não executava o handler guest no IOP, deixando sem observação o efeito de cada pacote.
Solução
Liguei o objeto estático do handler SIFCMD ao runner e passei os bytes guest observados para o RAM IOP. Com o harg publicado pelo próprio entry recomp...
META 019 — handshake SIF Abrir atualização
Avanços
PlayStation 2

SUBADDR do SIFCMD guest confirmado no replay da EE

Com SIFINIT do perfil diagnóstico, o entry recompilado de SIFCMD executou sceSifSetSubAddr e publicou 0x00101A90. O ELF da EE leu esse endereço e montou dois pacotes INIT_CMD para ele.

Bloqueio
A tentativa anterior forçava SUBADDR=0 como hipótese, ocultando o endereço que o entry IOP recompilado realmente publica e fazendo os descritores apon...
Solução
Removi a hipótese de SUBADDR zero, acrescentei uma leitura explícita do estado SIF do IOP e espelhei para a EE apenas o valor escrito pelo guest. O lo...
META 019 — handshake SIF Abrir atualização
Avanços
PlayStation 2

Entry EE recompilado chega ao polling SIF, sem SIFINIT

O entry recompilado do ELF do jogo executou 20 milhões de instruções com SIFCMD recompilado em paralelo. A EE leu SMFLAG=0 e chegou a um polling guest; a execução parou no limite de fuel, sem iniciar o jogo.

Bloqueio
O runner anterior não inicializava SIFCMD antes da entrada EE, então sceSifGetReg(4) não encontrava um valor SIF compartilhado. Mesmo com o estado ini...
Solução
Adicionei runner reduzido com entry real SLUS_202.65 e entry recompilado de SIFCMD no mesmo contexto. O SIFCMD bloqueia em 0x00101958 com MSFLAG=0; a...
META 019 Abrir atualização