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

253 registros
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
Avanços

ACTION.ELF executa após suporte COP1; próxima barreira é COP2

Compilamos e executamos nativamente um recorte parcial do entry 0x00120008 de ACTION.ELF. O suporte inicial a LWC1/SWC1 e o estado FPR separado permitiram avançar além do primeiro bloqueio COP1. Com destinos indiretos observados incluídos e 512 blocos compilados, a execução chegou a PC 0x00138074, palavra COP2 0x4BE007...

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

MOVIE registra Timer 1 e termina em KExit

O replay recompilado atravessou PEXTLW e o desvio BEQL observado. O HLE registrou AddIntcHandler para a causa 10 (Timer 1) e EnableIntc no ponto exato visto em MOVIE.ELF; isso não gera ticks, interrupções nem executa callbacks. Novas continuações estáticas levaram a PC 0x0012D084, syscall 4 KExit com código 0. O PS2SDK...

META 019 · EM ANDAMENTO Abrir atualização
Avanços

EndOfHeap limitado libera mais inicialização do MOVIE.ELF

Capturamos o heap-base usado por MOVIE.ELF: SetupHeap (syscall 61) recebe 0x00179B30 em 0x0010407C, e EndOfHeap (syscall 62) retorna essa base apenas no ponto observado 0x0012D444. O PS2Tek descreve EndOfHeap como retorno da base do heap da thread atual; a implementação do Ynix é limitada a esse perfil de inicialização...

META 019 · EM ANDAMENTO Abrir atualização
Avanços

DSLLV desbloqueia o replay; EndOfHeap é a nova barreira

A investigação do stack overflow mostrou que o $sp guest permanecia estável em 0x01FEFEF0; quem crescia era a pilha nativa, por chamadas recursivas do dispatcher entre PCs 0x0013282C e 0x00104178. O dispatcher agora processa essas transferências de forma iterativa. DSLLV foi adicionado ao decoder, YNIR e backend LLVM e...

META 019 · EM ANDAMENTO Abrir atualização
Avanços

Primeiros DMAs GIF; vídeo avança até limite de stack

O replay agora consome um GIFtag PACKED, quatro writes A+D para configurar uma transferência 8×8 e um GIFtag IMAGE com 16 QW. Também passou pelo estado idle de VIF1, pela leitura CFC2 de VPU_STAT e por GIF_STAT. A leitura IMAGE observada veio de 0x00142D48; tanto esse endereço como o QW alinhado 0x00142D40 estavam zera...

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

MOVIE.ELF reaches the GIF DMA register boundary

The combined replay consumed the guest IOP reset request, loaded IOPRP214.IMG from the ISO and rebuilt a partial static IOP context. Statically recompiled MOVIE.ELF continuations advanced through the observed call targets. Added 128-bit POR (MMI3); replay passed guest PC 0x0013288C. The current stop is PC 0x00132A0C, a...

META 019 - NOT_READY Abrir atualização