YNIX / RECOMP
Ynix Recomp / PlayStation 2
Em desenvolvimento

Ynix PS2 Recomp

O Ynix PS2 Recomp recompila executaveis MIPS de PlayStation 2 para codigo nativo. O estado publico atual alcanca a preparacao da transferencia CDVD por DMA3 em Toy Story 3; ainda nao ha setor de ISO lido, ELF principal carregado, frame ou gameplay comprovados.

Alvo: WindowsAlvo: Linux
execu??o de jogoAinda n?o executa jogo

Este estado s? muda para ?Executando jogo? quando houver evid?ncia observ?vel de um t?tulo em execu??o.

Ver di?rio e changelog
estado verific?vel

Infraestrutura e execu??o

Compila??o, ferramentas e testes sint?ticos medem a infraestrutura; execu??o de jogo exige evid?ncia pr?pria.

infraestrutura

Em desenvolvimento

253 registros p?blicos vinculados a este console.

Arquitetura

Emotion Engine (R5900), IOP, DMA/CDVD e Graphics Synthesizer (GS).

Componentes implementados

  • Probe de inicializa??o do guest e investiga??o de syscalls.
  • Mem?ria EE, temporiza??o virtual e chamadas de espera observadas no probe.
  • Teste sint?tico isolado para limites do canal DMA3.
execu??o do jogo

Ainda n?o executa jogo

O avan?o em infraestrutura n?o ? contado como carregamento, frame ou jogabilidade.

Limita??es conhecidas

  • O probe ainda para antes da c?pia de setores CDVD e da conclus?o/IRQ do DMA3.
  • O conjunto amplo guest_memory_tests ainda falha em uma expectativa anterior de EE MMIO.
  • N?o h? SYSTEM.CNF carregado, ELF do jogo iniciado, primeiro frame ou jogabilidade demonstrados.
marcos observ?veis

Caminho at? a jogabilidade

Cada etapa avan?a somente com evid?ncia correspondente ao pr?prio est?gio.

  1. 1

    An?lise do execut?vel

    Probes e registros delimitam o caminho de inicializa??o do t?tulo.

    Em andamento
  2. 2

    Carregamento

    A transfer?ncia de setores e a conclus?o do DMA3 ainda precisam ser implementadas.

    Bloqueado
  3. 3

    Inicializa??o do sistema

    A inicializa??o completa de CDVD/IOP ainda n?o foi atravessada.

    Aguardando
  4. 4

    Primeiro frame

    Ainda sem evid?ncia de imagem renderizada pelo jogo.

    Aguardando
  5. 5

    Jogabilidade

    Ainda sem sess?o jog?vel demonstrada.

    Aguardando
pr?ximo objetivo verific?vel

Implementar a transfer?ncia real de setores CDVD, concluir DMA3 e validar a inicializa??o de IOP at? o carregamento do ELF.

?ltimo avan?o concreto

META 019: limite DMA3 protegido por teste isolado

19/10/2026 00:55 BRT: o novo alvo sintético goal019_dma3_boundary_tests compilou e passou 1/1; valida MADR/BCR, CHCR sem início, rejeição do CHCR de transferência e preservação do estado anterior.

Ler evid?ncia
hist?rico do console

Atualiza??es e changelog

221 registros
Avanços

Toy Story 3: chamada FILEIO chega ao DMA SIF

O replay nativo passou pelo INIT_CMD e pelo RPC_BIND FILEIO, alcançando a chamada seguinte com dois descritores DMA observados.

Bloqueio
O runner EE parcial ainda não registrava um submitter SIF-DMA, então a chamada parava com MMIO não suportado antes de entregar o pedido ao IOP.
Solução
A instrumentação agora imprime cada descritor rejeitado. Foram confirmados o envio dos 8 bytes de parâmetros ao buffer FILEIO e do pacote RPC de 64 by...
META 019 Abrir atualização
Avanços

SIFCMD: endereço correto de InitRpc e espera do INIT_CMD

A tabela de exports do IRX confirmou sceSifInitRpc no offset 0x820. O objeto guest recompilado executa 17 instruções e bloqueia em WaitEventFlag(event 0, bits 0x100), sem evento injetado. O próximo bloqueio é conectar a entrega real do comando SIF ao scheduler.

Bloqueio
Harnesses anteriores tratavam 0x001006C0 como sceSifInitRpc. No IRX extraído esse endereço é o export ordinal 26, sceSifSetSif1CB; portanto aquela exe...
Solução
Conferi o mapa de exports do IRX e a tabela PS2SDK, corrigi scripts/harnesses ativos para 0x00100820, regenerei a compilação com manifesto de imports...
META 019 / IOP / SIFCMD Abrir atualização
Avanços

FILEIO RPC 255 executado no runtime IOP nativo

Executamos sem fault o handler RPC 255 recompilado do FILEIO extraído do Toy Story 3, usando o pacote real observado no replay. O probe agora pode ser repetido localmente.

Bloqueio
O replay EE chegava ao primeiro RPC_CALL de FILEIO e parava antes de executar o servidor IOP; a rotina guest de inicialização específica deste FILEIO...
Solução
Carregamos a imagem FILEIO rebased em RAM guest, chamamos o handler recompilado em 0x00151AB8 com rpc=255, payload de 8 bytes e ponteiros nulos observ...
FILEIO e SIF Abrir atualização
Avanços

Toy Story 3: chamada RPC 255 do FILEIO identificada

O replay nativo passou pelo bind repetido e chegou à primeira RPC do FILEIO. A rotina correspondente foi localizada no IRX da própria imagem e recompilada estaticamente.

Bloqueio
A runtime respondeu ao RPC_BIND observado, mas ainda não entrega a chamada RPC 255 ao servidor IOP. O replay para em sceSifSetDma antes de uma leitura...
Solução
A análise do FILEIO.IRX localiza o handler em 0x00151AB8. Ele reconhece a função 255 e, com payload de 8 bytes, grava os dois ponteiros de entrada no...
FILEIO e SIF Abrir atualização
Avanços

Toy Story 3: inicialização dos argumentos corrigida

O replay nativo superou o loop de inicialização e avançou até um novo bloqueio de decodificação em 0x00437E90.

Bloqueio
SetupThread não preenchia a estrutura sargs do PS2SDK, fazendo o código guest procurar um caractere em uma string vazia. Após corrigir isso, a execuçã...
Solução
O HLE agora preenche argc/argv e o caminho cdrom0:\SLUS_219.31. A build parcial foi ampliada com a raiz observada 0x00551630 e recompilada. O replay c...
META 019 Abrir atualização
Avanços

Toy Story 3: captura nativa do novo bloqueio

Corrigimos a geração do JSON de memória e reproduzimos o bloqueio atual da execução parcial em 0x00438004 após 100 milhões de instruções, sem falha de memória.

Bloqueio
O snapshot emitido pelo harness tinha uma aspa ausente no campo bytes_hex, então o supervisor rejeitava o diagnóstico. Com a captura reparada, o guest...
Solução
Ajustamos o fechamento do JSON, recompilamos o harness autorizado da fixture Toy Story 3 (358 raízes observadas) e validamos os snapshots. O próximo p...
META 019 Abrir atualização
Avanços

Toy Story 3: replay nativo alcança a leitura de SMFLAG

O replay do ELF do Toy Story 3 agora conclui a leitura do registrador EE SIF_SUBADDR e retorna o valor inicial zero, avançando uma chamada além do bloqueio anterior.

Bloqueio
O runtime não diferenciava registradores de software SIF do EE dos registradores físicos do IOP; por isso parava em sceSifGetReg antes de qualquer ret...
Solução
Foi adicionado um perfil isolado que inicializa somente os três registradores SIF de software do EE em zero. O trace real PCSX2 Devel 1.7.3563 do Toy...
META 019 Abrir atualização
Avanços

Replay nativo do Toy Story 3 avancou para 672 mil instrucoes

A lista de codigo observada do ELF passou de 346 para 350 raizes; o replay nativo chegou a 0x00715910 sem erro guest ou falha de memoria.

Bloqueio
O artefato parcial encerrava em MissingCompiledBlock nos limites de inicializacao descobertos durante o replay.
Solução
As quatro raizes verificadas no ELF foram adicionadas a lista allowlisted, recompiladas e reproduzidas com o harness nativo. Build do CLI terminou sem...
META 019 - replay nativo Abrir atualização
Avanços

A fronteira 0x00719960 é uma rotina guest de inicialização

A decodificação do ELF local mostra que 0x00719960 executa stores em 0x006E3410+ e chamadas repetidas ao helper guest recompilado 0x004698A0 com ponteiros em 0x006FF8E0+. A faixa não mostra syscall ou acesso a hardware.

Bloqueio
O replay validado para em MissingCompiledBlock no início dessa rotina, com 1.144.900 instruções concluídas, sem erro guest ou falha de memória. O mani...
Solução
Confirmada no ELF extraído a sequência de instruções a ser alcançada ao compilar a raiz observada 0x00719960. A falha atual é cobertura compilada, não...
Toy Story 3 / análise da fronteira guest Abrir atualização
Avanços

Trace PCSX2 confirma ELF e sequência real de IOP/SIF

A captura registra SLUS_219.31, servidores RPC do CDVD/FILEIO, carga de módulos IOP e leituras de MUSIC/DIALOG.

Bloqueio
O replay nativo ainda para em 0x00719960, e a nova compilação está impedida por falta de espaço no disco.
Solução
A captura real foi filtrada: documenta o entry point 0x00200008, IDs RPC, módulos carregados e WaitSema(44) intercalado com SIF1 DMA, sem confundir is...
META 019 Abrir atualização