Resumo
Corrigi a reinicialização acidental do estado SIO2 quando PADMAN habilitava novamente o perfil. O replay agora aceita o fluxo de controle guest e avança para os registradores de transferência; o novo bloqueio é a espera pelo evento SIO2 0x2000.
Defeito
O harness chamava a habilitação do perfil SIO2 ao carregar MTAPMAN e novamente ao carregar PADMAN. A segunda chamada zerava o registrador de controle já configurado pelo SIO2MAN guest, causando a recusa da escrita seguinte.
Solução aplicada
A habilitação agora é idempotente e preserva o estado existente. O replay passou da escrita em PC 0x00160020, observou configuração dos registradores SIO2 e chegou à espera do evento IOP 6, bits 0x2000. A sequência get_ctrl | 0xC também corresponde ao SIO2MAN do PS2SDK.
Detalhes e evidências
Evidência: replay de Agent Under Fire com 15 milhões de fuel, dependências de EE/IOP recompiladas e execução dos workers guest. Limite atual: o RPC MTAPMAN continua pendente e a EE termina em WaitSema(38), PC 0x0012D4A4. Nenhuma abertura de ACTION.ELF/DRIVING.ELF, tela, frame ou gameplay foi observada. Próximo passo: seguir o contrato do evento/IRQ SIO2 antes de responder ou simular qualquer dispositivo. META 019 segue NOT_READY, sem previsão confiável. Ynix é um recompilador estático nativo, não um emulador.
META 019