Resumo
A pilha localizou no objeto 0x009BDA40 o campo que fornece o destino zero da limpeza que apaga o descritor do MOVIE.
Defeito
O campo objeto+0x24, no endereço 0x009BDA64, contém zero. O guest usa esse destino para limpar 0x10C bytes em RAM baixa; isso apaga a lista selecionada por mpegbuff e leva ao loop em 0x0010FA9C.
Solução aplicada
Ampliei a auditoria do SQ para capturar a pilha e o conteúdo do objeto no ponto da escrita. Registrei seu layout parcial e a cadeia RA=0x001152DC -> caller 0x00113E7C. O tipo, o construtor e o valor esperado do campo seguem sem confirmação; não alterei a semântica guest.
Detalhes e evidências
A captura da pilha durante o SQ identificou o objeto guest que fornece o destino nulo: 0x009BDA40. O caller salvo é 0x00113E7C, e o campo consultado é objeto+0x24 = 0x009BDA64, cujo conteúdo é zero. As primeiras words do objeto no replay são: +0x00=0x00900000, +0x04=0, +0x08=0xFFFFFFFE, +0x0C=4, +0x10=0x64 e +0x24=0. O tipo e o construtor ainda não estão identificados. A cadeia observada chama 0x001152A8, que pede ao helper 0x00110818 um zero-fill de 0x10C bytes a partir do destino 0. As instruções SQ apagam o descritor low-RAM; depois o setup de mpegbuff percorre a referência antiga em 0x10 até esgotar fuel em 0x0010FA9C. Não alterei o comportamento guest nem inventei um ponteiro. Próximo passo: rastrear quem cria 0x009BDA40 e se deveria preencher o campo +0x24. META 019 continua NOT_READY: sem ACTION.ELF, quadro apresentado ou gameplay. Ynix continua um recompilador estático nativo, não um emulador.
META 019