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.
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.
Bloqueio
Não há backend que copie setores da ISO ou complete DMA/IRQ. O teste amplo guest_memory_tests também falha antes desta cobertura numa asserção existen...
Solução
Adicionado alvo unitário isolado no CMake e fixture do perfil IOP. Nenhum código runtime mudou; não há leitura de setor, boot, ELF ou frame demonstrad...
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...
O callback recompilado do driver CDVD concluiu sua inicialização e chegou à configuração de uma transferência de 2.064 bytes no canal DMA3. Ainda não houve leitura confirmada da ISO nem boot do ELF.
Bloqueio
O probe ainda não transfere dados do CDVD para a RAM guest: o canal DMA3 para quando o CHCR inicia, pois não existe uma operação de setor conectada ao...
Solução
A execução guest avançou por AddDrv e pelo callback init real do CDVDMAN; respostas RTC, versão MECHACON e cancelamento de power-off foram modeladas c...
Boot nativo do jogo
Previsão · estimativaSem data responsável; baixa confiança até concluir uma leitura real de setor.
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...
Corrigimos o probe que chamava uma rotina de limpeza em vez da entrada original do CDVDMAN. O runner agora executa o IRX, registra o driver cdrom e alcança o poll de evento em sceCdSync.
Bloqueio
O probe anterior usava 0x00130084, rotina de remoção/limpeza, e os imports DMACMAN estavam mapeados para ordinais incorretos. O boot ainda para porque...
Solução
Passei a executar a entrada original em 0x00130000, implementei DelDrv/AddDrv com validação do iop_device_t e alinhei os acessos DMACMAN aos contratos...
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.
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.
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...
O fluxo de preparação agora reutiliza os IRX extraídos da ISO após limpeza dos artefatos e recompila as entradas guest de CDVDMAN necessárias para responder ao devctl 0x4391.
Bloqueio
A pasta de extração antiga do IOPRP não existe mais, e a lib nativa usada pelo helper não continha a API de scheduler atual. O probe ainda parava em i...
Solução
Os scripts agora usam toy-story-source/iop-modules como fallback, geram o inventário SIFCMD quando ausente, e a preparação recompila CDVDMAN module st...
O replay recompilado inicializa as duas filas RPC reais do FILEIO e identifica a primeira chamada CDVD de devctl.
Bloqueio
O scheduler aceitava apenas uma thread fixa, bloqueando a segunda fila. Depois disso, a thread seguinte parava em IOMAN devctl para cdrom0: comando 0x...
Solução
O provider SetRpcQueue valida a thread guest corrente e encadeia filas na estrutura SIFCMD guest em 0x00103800. O probe confirmou os servidores SID 0x...