YNIX / PS2 RECOMP
Atualizações / META 019

META 019: auditoria encontra a chamada guest que apaga o descritor

15/10/2026 · 17:46 BRT · bloqueio

Resumo

O MOVIE constrói corretamente o descritor de lista em RAM baixa, mas uma chamada guest posterior o apaga antes do setup de mpegbuff.

Defeito

No replay, o campo de destino usado por uma rotina de limpeza chega como zero. O helper limpa 0x00..0x10B, removendo o descritor apontado pela tabela[0]=0x10; a consulta de mpegbuff então percorre uma lista nula até esgotar o fuel.

Solução aplicada

Ativei auditoria de stores guest de 32 e 128 bits, capturei os valores anterior/posterior e associei o SQ em 0x00110840 ao retorno RA=0x001152DC. O call site 0x00113E74 chama 0x001152A8 usando o campo +0x24 do objeto; esse campo está nulo no replay. A causa desse campo nulo ainda não foi identificada, por isso não mascarei a chamada nem fabriquei estado.

Detalhes e evidências

Resultado confirmado: o descritor low-RAM é criado corretamente e depois apagado por uma chamada guest de limpeza. A chamada de x001152D4 salva RA=0x001152DC; no helper x00110818, as instruções SQ escrevem zero em x00..0x4F. O argumento de destino era zero e o tamanho solicitado era x10C. O call site de x001152A8 em x00113E74 carrega o destino do campo +0x24 do objeto. Esse campo chega nulo neste replay. A origem desse estado ainda está em investigação; não alterei a semântica guest, não bloqueei a limpeza e não recriei o descritor artificialmente. O replay continua parando em x0010FA9C durante o setup de mpegbuff. Não há ACTION.ELF, quadro apresentado ou gameplay; META 019 segue NOT_READY e sem previsão confiável. Ynix continua um recompilador estático nativo, não um emulador.

META 019