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

20 registros
Bloqueios

Toy Story 3: DMA3 para antes da transferencia de setores

O guest prepara DMA3 (MADR 0x00140A34, BCR 0x00810004) e solicita CHCR 0x41000200. O perfil recusa o inicio porque ainda nao implementa a transferencia CDVD real a partir da ISO. Nenhum setor ou ELF do jogo foi lido.

Bloqueio
O provider dmacman_set_chcr retorna status 5: o perfil de memoria registra os registradores, mas recusa bits de start/force sem backend que copie seto...
Solução
Nenhuma correcao foi aplicada. O proximo passo e conectar a solicitacao observada a setores verificados da ISO e validar bytes copiados e conclusao/IR...
META 019 / CDVD DMA Abrir atualização
Bloqueios

CDVD: callback init do driver ainda não é executado no AddDrv

O boot nativo chega ao module_start do CDVDFSV, mas a primeira chamada ao CDVDMAN fica em sceCdSync consultando event flag 0. A tabela cdrom aponta para init em 0x001300B0.

Bloqueio
O HLE de AddDrv registra o dispositivo e retorna sem executar o callback init guest. O probe reportava fuel exhausted como import não suportado, embor...
Solução
A fonte do PS2SDK confirma que AddDrv executa o init do driver. Identificamos o ponteiro guest 0x001300B0 na tabela do cdrom do Toy Story 3. Próxima e...
boot-CDVD Abrir atualização
Bloqueios

Mais fuel confirma espera CDVD persistente

Ampliar o limite de execucao em cinco vezes nao libera o boot: o guest continua consultando o mesmo evento CDVD sem sinalizacao. Mantivemos o limite curto para diagnosticos rapidos.

Bloqueio
Com fuel 500.000, o replay registrou 2.368 polls de PollEventFlag(event=0, bits=1), todos retornando KE_EVF_COND, avancou 11,96 s virtuais e terminou...
Solução
Comparamos os limites 100.000 e 500.000, confirmamos que o ciclo persistente nao e apenas um teto curto do harness e restauramos 100.000. O proximo tr...
CDVD
Previsão · estimativaSem data confiavel; o boot ainda nao atravessou a inicializacao CDVD/IOP.
Abrir atualização
Bloqueios

Toy Story 3: localizado o poll CDVD sem sinal de conclusao

O runner ultrapassou SetAlarm/CancelAlarm e revelou o proximo bloqueio: CDVDMAN consulta repetidamente um evento que permanece sem o bit esperado. O replay termina por limite de instrucoes sem ler setores do jogo.

Bloqueio
O caminho guest faz PollEventFlag(event=0, bits=1, mode=0x10), recebe KE_EVF_COND em 448 chamadas e mantem o byte de estado 0x0015A62D em zero. O repl...
Solução
Implementamos o relogio virtual, SetAlarm, CancelAlarm e DelayThread no probe. Uma captura esparsa agora mostra o retorno real do guest e distingue ti...
CDVD
Previsão · estimativaSem data confiavel; ainda falta atravessar a inicializacao CDVD/IOP.
Abrir atualização
Bloqueios

Toy Story 3: identificado o timeout do CDVDMAN

O runner nativo inicializa CDVDMAN, SIFCMD e alcança o entry do CDVDFSV. O próximo bloqueio é o alarme de timeout que protege o comando CDVD.

Bloqueio
A execução guest parava no import thbase v1.2 ordinal 35 (SetAlarm), no stub 0x0013BA58, sem registrar argumentos nem o estado do relógio.
Solução
Instrumentamos o import e confirmamos relógio de 15 segundos (0x20F58000), callback guest 0x00133768 e argumento 0x0013D5C8. A fonte do PS2SDK identif...
META 019 Abrir atualização
Bloqueios

Build nativa da raiz 0x00719960 bloqueada por disco cheio

O código e o guard do replay já incluem a 343ª raiz observada, 0x00719960. A recompilação ainda não gerou um executável validado com essa raiz porque o disco C: está sem espaço.

Bloqueio
A compilação MSVC falhou ao gravar build/goal019/toy-story-3-entry-256/ee_hle.obj com C1085: No space left on device. O executável existente tem 21.70...
Solução
Foi confirmado que apps/cli/Ynix.Cli/Execution/PartialExecution.cs exige 343 raízes e que a entrada 342 do manifesto é 0x00719960. O processo PCSX2 es...
Toy Story 3 / recompilação nativa Abrir atualização
Bloqueios

Captura PCSX2 limitada e logs de controle desativados

O PCSX2 Devel antigo reconheceu a ISO Toy Story 3 e registrou o ELF principal. A captura foi encerrada para evitar crescimento excessivo do log; os logs de controller e leituras CDVD verbosas ficam desativados no próximo início.

Bloqueio
O modo de depuração produziu um emuLog de aproximadamente 5,27 GB e esgotou o espaço livre em C:, tornando a compilação nativa pendente. Logs de polli...
Solução
O processo PCSX2 foi encerrado. O perfil persistente do PCSX2 Devel v1.7.3563 foi ajustado para Controller Info=disabled e CdvdVerboseReads=disabled,...
Toy Story 3 / captura PCSX2 Abrir atualização
Bloqueios

META 019 bloqueada: disco cheio durante o link nativo

A compilação da raiz 0x00719960 não terminou: o disco C: ficou sem espaço durante a gravação de ee_hle.obj.

Bloqueio
O log de traces do PCSX2 chegou a 5,27 GB, deixando 0 bytes livres e impedindo o link do harness nativo.
Solução
O PCSX2 Devel foi encerrado para parar o crescimento do log. A captura foi preservada; a compilação de 343 raízes precisa ser repetida após liberar es...
META 019 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
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