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 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 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...
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 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...
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,...
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...
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...
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...