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

Correção META 019: origem da IRQ SIO2 e novo RPC sem servidor

A IRQ 17 do avanço #162 foi disparada pelo perfil SIO2 limitado após o probe guest de porta desconectada. O handler SIO2MAN recompilado executou e permitiu a conclusão do RPC MTAPMAN; o próximo pedido SIF ainda chega com server=0.

Bloqueio
O resumo #162 não deixava explícito que o estado de porta desconectada e a IRQ 17 vieram do perfil limitado do runtime. Sem essa distinção, o avanço p...
Solução
Corrigi o registro técnico: o perfil respondeu ao probe observado com RECV1=0x1D100 e seis bytes 0xFF, deixou IRQ 17 pendente e executou o handler gue...
META 019 Abrir atualização
Avanços

META 019: IRQ SIO2 guest libera RPC MTAPMAN

A IRQ 17 do SIO2MAN agora executa o handler guest recompilado, sinaliza o evento 0x2000 e permite que o RPC MTAPMAN conclua com RPC_END. A EE ultrapassa WaitSema(38) e chega a outro pedido SIF RPC ainda sem servidor associado.

Bloqueio
A espera guest por evento 6 não cedia o scheduler cooperativo, e embora o SIO2MAN registrasse/habilitasse IRQ 17, o runtime não tinha o endereço do ha...
Solução
O harness agora cede o scheduler para a espera observada de evento 6/bit 0x2000 e vincula o handler recompilado 0x00160550 depois que o SIO2MAN guest...
META 019 Abrir atualização
Avanços

META 019: SIO2MAN guest ultrapassa a escrita de controle

Corrigi a reinicialização acidental do estado SIO2 quando PADMAN habilitava novamente o perfil. O replay agora aceita o fluxo de controle guest e avança para os registradores de transferência; o novo bloqueio é a espera pelo evento SIO2 0x2000.

Bloqueio
O harness chamava a habilitação do perfil SIO2 ao carregar MTAPMAN e novamente ao carregar PADMAN. A segunda chamada zerava o registrador de controle...
Solução
A habilitação agora é idempotente e preserva o estado existente. O replay passou da escrita em PC 0x00160020, observou configuração dos registradores...
META 019 Abrir atualização
Avanços

Correção do RPC pendente: handler é do MTAPMAN

Corrigida a atribuição do RPC que antecede WaitSema(38): o handler 0x00151094 pertence ao MTAPMAN, e o server 0x00151E78 registra o SID 0x80000901.

Bloqueio
Uma etiqueta genérica do trace identificava o handler guest 0x00151094 como CDVDFSV, levando a uma atribuição incorreta do bloqueio observado depois d...
Solução
O trace agora usa o rótulo neutro IOP_guest_rpc_call. O registry guest confirma MTAPMAN; sua rotina sinaliza evento 6 com bits 0x10 e aguarda bits 0x2...
META 019
Previsão · estimativaSem previsão confiável; ainda não há abertura de ACTION.ELF nem primeiro frame.
Abrir atualização
Bloqueios

Boot MOVIE bloqueia em WaitSema sem thread EE pronta

O guest chegou a WaitSema na rotina MOVIE. O semáforo 38 existe com contagem zero, mas só há uma thread EE registrada e nenhuma thread pronta para receber a troca; o jogo ainda não foi aberto.

Bloqueio
A chamada em 0x0012D4A4 tenta esperar no semáforo 38 depois de 0x0012F780 retornar diferente de zero. O scheduler não encontra thread EE pronta e o ru...
Solução
Instrumentei os caminhos de WaitSema e reproduzi o bloqueio: thread atual EE 1 em execução, semáforo 38 zerado e nenhuma thread pronta. Vou rastrear o...
META 019 Abrir atualização
Avanços

PADMAN responde e o boot avanca ate um novo ciclo de espera

O guest PADMAN registrou o servico de controle e respondeu sua primeira RPC. A EE recompilada avancou por novas continuacoes de MOVIE, incluindo 0x001062B4; o replay agora se repete em rotinas de espera e ainda nao abriu ACTION.ELF.

Bloqueio
A continuacao 0x001062B4 ja era recompilada, mas nao estava ligada ao dispatcher do harness. Depois da ligacao, a nova fronteira observada alterna ent...
Solução
Conectei 0x001062B4 ao dispatcher estatico e registrei seus intervalos de codigo guest. O replay confirmou a RPC PADMAN funcao 18, o retorno RPC_END e...
META 019 Abrir atualização
Avanços

PADMAN guest registrado e primeira RPC executada

PADMAN foi extraído da ISO, recompilado e iniciado como código guest. Seus workers registraram o SID 0x80000100 e a primeira chamada RPC guest terminou com RPC_END; a EE prosseguiu até uma continuação MOVIE ainda sem dispatcher.

Bloqueio
O jogo repetia binds porque PADMAN não estava no IOPRP selecionado, embora MODULES/PADMAN.IRX exista na ISO. O primeiro handler RPC também parava em u...
Solução
Compilei a entrada PADMAN, dois workers, providers SIO2MAN necessários e o dispatcher com o alvo guest 0x00187478 observado. O registry guest apresent...
META 019 Abrir atualização
Avanços

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

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
Bloqueios

MOVIE termina em KExit(0); retomada rejeitada

O replay percorre as continuacoes estaticas de MOVIE e termina em KExit(0), sem fault. Isso identifica o termino guest, mas nao comprova que o jogo abriu.

Bloqueio
O diagnostico final mostrava status 0 sem o registrador v1, ocultando o numero do syscall. Tentar retomar em 0x0012D084 repete KExit e entra em ciclo,...
Solução
O runner agora imprime v1. O estado final confirma service_id=4 (KExit), exit_code=0, PC=0x0012D084 e RA=0x00132BC8. Mantive KExit como termino e remo...
META 019 Abrir atualização