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.
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
An?lise do execut?vel
Probes e registros delimitam o caminho de inicializa??o do t?tulo.
Em andamento
2
Carregamento
A transfer?ncia de setores e a conclus?o do DMA3 ainda precisam ser implementadas.
Bloqueado
3
Inicializa??o do sistema
A inicializa??o completa de CDVD/IOP ainda n?o foi atravessada.
Aguardando
4
Primeiro frame
Ainda sem evid?ncia de imagem renderizada pelo jogo.
Aguardando
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.
O replay combinado estático do MOVIE.ELF avançou pela continuação 0x00104220 e parou em 0x00104D04 após 10.990.790 instruções guest concluídas. O runner registrou guest_error=0 e status parcial por cobertura; a raiz 0x00104CFC compilada para acompanhamento não foi despachada neste replay. Ainda não há ACTION.ELF, frame...
Desde o checkpoint #84, integrei as continuacoes estaticamente recompiladas 0x001041FC e 0x00104208 e reutilizei rotinas MOVIE ja recompiladas. O replay seguiu ate PC=0x00104214, com 10.989.464 instrucoes concluidas e guest_error=0, parando por cobertura parcial. Ainda em MOVIE.ELF; sem ACTION.ELF, frame ou gameplay. O...
O replay nativo atravessou a inicializacao limitada do IPU em MOVIE.ELF: reset, FIFO com 8 QW, SETIQ intra/nonintra, SETVQ, SETTH e BCLR, todos com dados guest observados. As continuacoes chegaram a PC=0x001041FC com 10.988.864 instrucoes concluidas e guest_error=0. O suporte cobre apenas esse setup; nao decodifica MPE...
Correcao da atualizacao #82: PS2Tek identifica 0x1000F520 como D_ENABLER (status de DMAC desabilitado, leitura), com bit 16 indicando disabled; 0x1000F590 e D_ENABLEW. O codigo MOVIE le o primeiro, faz OR com 0x00010000 e grava no segundo. Embora PS2Tek cite 0x1201 como valor esperado por alguns BIOSes no boot, isso na...
O replay estatico combinado avançou pelas continuacoes MOVIE.ELF em 0x001300C4, 0x0011B138 e 0x0011625C. O fluxo chegou a PC=0x001043D8 apos 10.988.007 instrucoes concluidas, sem falha guest. Ainda e cobertura parcial de MOVIE: sem ACTION.ELF, frame ou gameplay; META 019 segue NOT_READY e sem previsao confiavel. Ynix c...
O runner já executa a nova thread EE criada pelo MOVIE.ELF: `CreateThread` recebeu a ThreadParam observada, `StartThread` despachou a entry recompilada `0x0011ABA0`, e ela bloqueou em `WaitSema`; o scheduler salvou o contexto e retomou o caller em `0x0011B04C`. O replay seguiu pelas continuações recompiladas `0x00116CE...
Correção importante sobre a atualização #78: o estado do guest tinha `$v1=32` decimal em `0x0012D264`. No PS2SDK, o serviço decimal 32 (`0x20`) é `CreateThread`; `SleepThread` é decimal 50 (`0x32`). A instrução seguinte no fluxo chama `StartThread` (decimal 34 / `0x22`). A estrutura passada a CreateThread contém entry...
O replay nativo estático de MOVIE.ELF avançou até `PC=0x0012D264`, syscall EE 32 (`SleepThread`), após 10.983.821 instruções concluídas. O caller em `0x0011B030` invoca o stub guest que suspende a thread; não vou tratá-lo como retorno imediato sem identificar o wakeup e o escalonamento EE correspondentes. Ainda não hou...
O replay atravessou callbacks de MOVIE.ELF em 0x0012FBE4, 0x00130098, 0x0012FBF8 e 0x00130288 e chegou a PC=0x001316EC. Foram concluidas 10.983.789 instrucoes com guest_error=0; o runner parou na proxima fronteira de cobertura parcial.
Foram integradas as continuacoes 0x0011AD1C, 0x00131664 e 0x0011ADE8. O fluxo conti...
Implementei LDL, LDR e SDR no decoder R5900, na IR e no backend LLVM, completando o SDL que ja existia. A fusao das operacoes de 64 bits desalinhadas segue as mascaras e deslocamentos descritos pela referencia PCSX2: https://github.com/PCSX2/pcsx2/blob/master/pcsx2/R5900OpcodeImpl.cpp
A raiz 0x001043A4 foi recompilada...