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.

261 registros
Marcos
PlayStation 2

Primeiras transferências GIF do MOVIE.ELF

O replay alcançou a inicialização gráfica de MOVIE.ELF: o guest iniciou DMA D2 para o GIF e o runtime processou tags com registros GS. A próxima fronteira estática é 0x0012E868.

Bloqueio
O runner não tinha cobertura estática para a nova cadeia de MOVIE e o despacho recursivo das continuações causava stack overflow. A primeira escrita C...
Solução
O harness agora executa continuidades por um loop externo, sem recursão entre módulos. Com o perfil DMAC/GIF opt-in e explicitamente diagnóstico, proc...
META 019 — boot do jogo 007 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
Bloqueios
PlayStation 2

CDVD: origem da espera que bloqueia o boot

Identificamos que a RPC 0x80000596 aguarda o evento CDVD Power Off Ready (bit 0x4). O replay atual nao gera essa causa antes da espera.

Bloqueio
O handler recompilado limpa o bit 0x4 do event flag 2 e fica bloqueado. A chamada sceCdSC(0xFFFFFFF5) apenas devolve o ID do event flag; ela nao enfil...
Solução
Conferimos a semantica na fonte publica do PS2SDK e cruzamos com PS2Tek. O handler CDVD sinaliza esse bit quando recebe o motivo CDVD 0x04, identifica...
META 019 Abrir atualização
Bloqueios
PlayStation 2

META 019: causa do bloqueio na RPC CDVDFSV identificada

O status 99 nao e uma falha dentro de 0x001246EC: o scheduler recusou outra RPC porque a chamada guest anterior ao mesmo thread segue bloqueada.

Bloqueio
A primeira chamada ao handler CDVDFSV em 0x001246EC ficou bloqueada (dispatch=6); uma requisicao posterior ao mesmo thread foi rejeitada por haver cha...
Solução
Refinei a leitura do trace e corrigi a documentacao: a proxima investigacao deve identificar o evento que conclui ou libera a chamada RPC pendente ant...
META 019 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
Marcos
PlayStation 2

META 019: primeiro dispatch estatico de MOVIE.ELF

A leitura do MOVIE.ELF agora chega ao objeto recompilado e executa varias continuacoes nativas; o limite atual e 0x00104CD4.

Bloqueio
O runner compacto completava a leitura do arquivo, mas parava em 0x00104008 porque nao despachava a entrada do modulo MOVIE para codigo host recompila...
Solução
Conectei o objeto estatico parcial de MOVIE.ELF ao runner e passei a compilar e despachar apenas os pontos de continuacao observados, mantendo o estad...
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
Marcos
PlayStation 2

EE passa do BOOTEND pelo callback recompilado do EESYNC

Recompilei e executei a entrada e o callback BIOS do EESYNC. O callback guest escreveu SMFLAG=0x40000, e a EE saiu do polling BOOTEND para iniciar o proximo ciclo de RPC.

Bloqueio
O runner nao percorria o callback postboot de LOADCORE/EESYNC e tratava o RPC assíncrono como se fosse o bloqueio da EE. Depois de BOOTEND, o jogo sol...
Solução
Adicionei o modulo EESYNC recompilado, capturei o registro guest em AddRebootNotifyHandler e executei o callback recompilado pelo runtime IOP. O readb...
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
Marcos
PlayStation 2

CDVDMAN conclui inicialização guest e responde ao primeiro RPC

A inicialização guest do CDVDMAN concluiu e o RPC 0x80000592 respondeu após a execução de _start e o suporte ao S-command 03:00.

Bloqueio
O runner carregava o CDVDMAN sem executar seu entry _start. Depois, sceCdInit ainda falhava ao enviar o S-command 03:00, pois o perfil de CDVD não ofe...
Solução
Recompilei e executei o _start do CDVDMAN, que cria o semáforo e os event flags do módulo. O perfil CDVD agora retorna 03 06 02 00 para o S-command 03...
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