YNIX / PS2 RECOMP
desenvolvimento aberto · meta 019

Um recompilador estático nativo para PS2.

Acompanhe cada avanço, as evidências reproduzíveis e os próximos obstáculos até iniciar um jogo. O Ynix recompila software de PS2 para execução nativa; não é um emulador.

Diário de desenvolvimento

progresso

MOVIE.ELF reaches the GIF DMA register boundary

The combined replay consumed the guest IOP reset request, loaded IOPRP214.IMG from the ISO and rebuilt a partial static IOP context. Statically recompiled MOVIE.ELF continuations advanced through the observed call targets. Added 128-bit POR (MMI3); replay passed guest PC 0x0013288C. The current stop is PC 0x00132A0C, a write to D2_QWC at 0x1000A020 in the GIF DMA channel. The runner seeds D2_CHCR=0 as an explicitly unverified quiescent-channel hypothesis. GIF transfers, GS output, a frame and gameplay are not implemented or observed. There is no reliable date forecast. Ynix remains a native static recompilation project, not an emulator.

META 019 - NOT_READY
progresso

Descoberto RESET_CMD guest para reiniciar o IOP

O segundo handshake deixou de ser um mistério de scheduler: o replay capturou o jogo enviando CID 0x80000003, SIF_CMD_RESET_CMD, com 104 bytes e o caminho cdrom0:\MODULES\IOPRP214.IMG;1. Esse comando pede reboot do IOP. Extraímos os oito módulos do IOPRP214.IMG da própria ISO. O runner ainda não executa essa reinicialização; o próximo passo é montar um contexto IOP novo usando esses módulos recompilados e os contratos que faltam. O worker antigo continua bloqueado em 0x001419A8; não será acordado artificialmente. O ELF jogável ainda não iniciou, não há frame e ainda não há previsão confiável de data. Ynix é recompilador estático nativo, não emulador.

META 019 · NOT_READY
progresso

Replay: worker LOADFILE sem thread pronta no segundo INIT_CMD

O diagnóstico do segundo INIT_CMD confirmou que o handler guest recompilado recebeu opt=1 e terminou, mas o scheduler não encontrou thread pronta. O worker LOADFILE permanece bloqueado em 0x001419A8 após 261 instruções concluídas; os SREGs IOP 0–2 seguem zerados. O EE esgotou 400.010.000 instruções no polling em 0x01F08794, sem guest_error. Estamos rastreando a transição de inicialização/reboot que deve preceder esse segundo ciclo. Não foi fabricado wakeup nem valor de registrador. Ainda não houve entrada do ELF principal jogável ou frame; o Ynix continua sendo recompilador estático nativo, não emulador.

META 019 · NOT_READY
bloqueio

Segundo handshake RPCINIT aguarda thread IOP

O runner corrigiu uma colisão no mapa de registradores: SIF_REG_SUBADDR (ID 2) e SIF_SYSREG_RPCINIT (0x80000002) agora ocupam espaços separados, conforme o header oficial do PS2SDK. O pacote RPC_BIND passou a chegar ao callback SIFCMD recompilado no IOP; dois RPC_END foram entregues e os semáforos clientes foram sinalizados. O boot então iniciou outro handshake INIT_CMD, mas o scheduler não encontrou thread IOP pronta para esse segundo ciclo. Sem inventar um wakeup, a execução nativa esgotou o fuel no polling RPCINIT em 0x01F08794 (400.010.000 instruções). O ELF principal jogável ainda não iniciou e nenhum frame foi observado. O Ynix continua sendo um recompilador estático nativo, não um emulador.

META 019 · NOT_READY