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
Marcos

Toy Story 3: execução nativa alcança syscall customizada 131

O Ynix registrou o handler SetSyscall observado no ELF do Toy Story 3 e avançou até o syscall 131. O novo bloqueio já está delimitado no handler COP0 do jogo.

Bloqueio
O runtime parava no serviço 116 SetSyscall e não tinha estado para o syscall customizado 131. A captura PCSX2 disponível só cobria o BIOS, sem Cause/E...
Solução
Implementado registro validado do handler SetSyscall por contexto guest, sem retorno de sucesso inventado. Build e replay chegaram a 161.720 instruçõe...
META 019 Abrir atualização
Avanços

IDs universais e arquitetura do produto

Identificadores e fontes de fixtures foram alinhados por comportamento, e a documentação agora explica a separação entre compilador/runtime, perfis de compatibilidade e a futura GUI.

Bloqueio
Nomes de metas, fases e jogos estavam vazando para IDs de fixtures, nomes de arquivos de teste, símbolos internos e parte da documentação. Isso dificu...
Solução
Os IDs gerais agora usam nomes como finite_loop, branch_taken e boot_trace; as funções SIF0 não carregam o nome de um jogo; arquivos de exemplos usam...
arquitetura Abrir atualização
Avanços

CLI organizada e painel de progresso preparado

A CLI foi reorganizada em serviços, modelos e interoperabilidade com o núcleo nativo; o artefato agora se chama Ynix.PS2.Recomp.dll. Um painel estático com gráfico, barra por marcos e atualizações automáticas foi preparado.

Bloqueio
A CLI concentrava responsabilidades e usava nomes de saída antigos, enquanto a página de progresso ainda não tinha uma visualização consolidada. O cód...
Solução
Separação inicial em Application, Commands, Build, Execution, Interop e Models, centralização dos identificadores de fixtures com nomes semânticos no...
Organização do projeto Abrir atualização
Avanços

Organização modular da CLI e do código-fonte

A CLI foi reorganizada em módulos por comando, execução e build. O manifesto e a política de fixtures ELF também foram isolados.

Bloqueio
Program.cs concentrava despacho, interop nativa, validação ELF, compilação e manifesto em um arquivo extenso; regras de fixture e metadados estavam mi...
Solução
Separados os comandos em arquivos próprios, extraída a política explícita de autorização das fixtures e movida a montagem da proveniência do manifesto...
Estrutura do projeto Abrir atualização
Avanços

Correção da medição de espaço liberado

A pasta build caiu de aproximadamente 12,57 GiB para 3,04 GiB após a limpeza, uma redução observada de cerca de 9,53 GiB. A nota anterior usou a soma lógica das saídas selecionadas e superestimou o espaço recuperado.

Bloqueio
A atualização #168 informou 9,66 GB com base na soma dos tamanhos dos artefatos selecionados antes da exclusão. Essa soma não correspondeu à variação...
Solução
A medição consolidada após remover as saídas antigas mostra 3.264.541.225 bytes (3,04 GiB) restantes em build/, contra aproximadamente 12,57 GiB antes...
Manutenção do repositório Abrir atualização
Avanços

Limpeza e organização estrutural do repositório

Removemos 9,66 GB de saídas antigas do alvo 007, mantivemos o toolchain e os artefatos ativos do Toy Story 3, e organizamos a documentação e os módulos CMake.

Bloqueio
Builds e replays históricos ocupavam mais de 12 GB em build/, com centenas de diretórios de artefatos temporários. A documentação tinha um diário ativ...
Solução
Criamos scripts/clean-generated.ps1 com modo de prévia e preservação explícita do LLVM instalado e do build parcial atual do Toy Story. Foram removido...
Manutenção do repositório Abrir atualização
Avanços

Toy Story 3: primeira execução nativa parcial

A compilação parcial do SLUS_219.31 passou pelo loop inicial e pelas criações de semáforo, chegando ao syscall SetSyscall do PS2.

Bloqueio
O loader rejeitava segmentos PT_LOAD vazios válidos. Após essa correção, o runtime parou em CreateSema e, depois de modelar o contrato observado, avan...
Solução
O compilador ignora apenas PT_LOAD com filesz e memsz iguais a zero. O perfil Toy Story 3 compila 256 blocos nativos e trata CreateSema somente no PC...
META 019 — Toy Story 3 Abrir atualização
Avanços

Trace avançado do PCSX2 e avanço no boot de 007

A nova captura do PCSX2 confirma a sequência do segundo reboot do IOP até o carregamento do front-end main_menu. O Ynix avançou a execução estática de MOVIE até a próxima fronteira observada, sem alcançar ainda o reset do IOP.

Bloqueio
O log avançado contém 2.134 leituras CDVD e os marcos de ACTION.ELF e main_menu, mas não registra eventos de EE Syscalls, SIF/RPC ou espera de threads...
Solução
Documentei os marcos PCSX2 com horários e acrescentei ao pipeline as continuações guest observadas 0x0010EE14, 0x0010EE70 e 0x0010EE90. O replay integ...
META 019 Abrir atualização
Avanços

Trace do PCSX2 mapeia a chegada ao menu principal do 007

O log do PCSX2 fornecido confirma a sequência do 007 até a carga de ACTION.ELF e do BSP main_menu. A execução isolada atual do entry ACTION no Ynix ainda para antes de apresentar um frame.

Bloqueio
Faltava um marco comportamental confirmado para a transição após MOVIE. O log PCSX2 não contém registros completos de syscalls, registradores ou threa...
Solução
Documentei a ordem observada: fim do filme, reboot IOP via IOPRP214.IMG, carga de módulos, entrada ACTION.ELF 0x00120008 e BSP main_menu. Correlacione...
META 019 Abrir atualização
Avanços

META 019: chamada RPC corrigida e CDVD inicializado

Corrigimos a preservacao do servidor RPC e implementamos ReferThreadStatus conforme o estado modelado do scheduler. O replay agora conclui sceCdInit, le MOVIE.ELF pela cadeia guest e avanca por continuacoes estaticas ate 0x00114E14.

Bloqueio
O fechamento de RPC_CALL sobrescrevia server/buf/cbuf do cliente com campos vazios da resposta, e o ordinal 22 de thbase (ReferThreadStatus) nao estav...
Solução
A conclusao de RPC_CALL preserva os dados de bind do cliente, e ReferThreadStatus agora fornece a estrutura documentada para threads conhecidas, resol...
META 019 Abrir atualização