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.
A análise estática encontrou código do MOVIE que registra um descritor na tabela de listas. O replay, porém, termina com a entrada selecionada e a RAM baixa ainda zeradas; falta provar que esse caminho inicializa o buffer mpegbuff.
Bloqueio
Na primeira chamada do setup de vídeo, o MOVIE seleciona a entrada 0 da tabela 0x001448F0, que aponta para 0x10. O descritor em 0x10..0x4C está zerado...
Solução
Localizei no ELF o caminho em 0x001101A4..0x001101C4 que calcula um slot da tabela e grava nele o endereço de um nó, além de montar campos com assinat...
A pilha guest confirmou que o loop ocorre na primeira chamada do setup de vídeo do MOVIE, ao registrar o buffer mpegbuff em 0x0017C300.
Bloqueio
A chamada da rotina em 0x0010F8D8 tenta percorrer a lista selecionada pela tabela do ELF em 0x001448F0. No estado observado, ela aponta para 0x10, o l...
Solução
Ampliei a captura diagnóstica da pilha guest e reproduzi o replay nativo. Os retornos salvos apontam para 0x00104888 e para o chamador 0x00104880, que...
A auditoria de escrita da EE não encontrou nenhuma gravação em 0x00–0x4F antes do loop de MOVIE, confirmando que o descritor começa e permanece zerado.
Bloqueio
O caminho seleciona a referência 0x10 e percorre campos do descritor que continuam zerados; sem inicialização, o loop repete a leitura nula até esgota...
Solução
Ativei auditoria opt-in das escritas guest nos primeiros 0x50 bytes e repeti o replay completo. O resultado elimina uma escrita anterior omitida como...
A parada por fuel agora tem causa imediata reproduzida: o MOVIE percorre uma lista cujo descritor está zerado.
Bloqueio
A tabela selecionava a referência guest 0x10, mas os campos do descritor lidos pelo loop estavam vazios. A rotina repetia a comparação e consumia o li...
Solução
Adicionei captura diagnóstica restrita no stop por fuel e correlacionei os registradores, a tabela do ELF e as palavras guest. O diagnóstico confirma...
A análise das instruções no PC final localizou o fuel stop dentro de um loop guest em 0x0010FA90–0x0010FA9C: o código percorre registros por ponteiros, compara um campo com t0 e repete via branch-likely. Os valores de t0/t1 e a estrutura guest no stop ainda não foram capturados, então a causa exata permanece em investi...
A continuação recompilada em 0x00104870 entrou em uma execução longa. O replay combinado consumiu o limite de 400.010.000 instruções guest e parou em PC=0x0010FA9C, com 400.009.999 concluídas e guest_error=0 (fuel esgotado). O trace registra atividade de DMA GIF e VSINT, mas ainda não demonstra um quadro apresentado, A...
O replay combinado recompilado executou as continuações MOVIE em 0x00104CFC e 0x00104D04 e avançou até PC=0x00104870, com 10.992.143 instruções concluídas e guest_error=0. O log também registra DMA GIF em 0x0010D318 (QWC=25), pacote GIF e escritas GIF_AD em registradores GS. Isso ainda não comprova apresentação de quad...
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...