YYNIX / PS2 RECOMP diário de desenvolvimento
progresso aberto · meta 019

Construindo um recompilador estático de PS2.

Acompanhe o que já foi implementado, o próximo bloqueio técnico e quando houver uma previsão sustentada pelos resultados.

Atualizações do projeto

progresso

SIO2MAN conclui primeiro handshake guest

A chamada SIO2MAN do ordinal 48 agora retorna após o worker guest limpar o evento 0x10 e sinalizar 0x20. O ordinal 51 inicia a próxima fase e aguarda 0x800; o worker então para em acesso de memória não mapeada no PC 0x00160060, sem DMA/IRQ SIO2 concluído. Ainda não houve abertura do ELF principal, frame ou gameplay. META 019 segue NOT_READY e sem previsão confiável.

META 019
progresso

PADMAN e MTAPMAN avançam até espera real do SIO2MAN

O PADMAN registrou dois callbacks guest de VBlank, que agora ficam armazenados no contexto IOP sem execução artificial. A chamada guest do PAD entrou no servidor MTAPMAN recompilado e alcançou o SIO2MAN da ISO. Após SetEventFlag do PS2SDK, a rotina do SIO2MAN bloqueou em WaitEventFlag aguardando o bit 0x10. O próximo passo é conectar o wakeup ao scheduler e aos eventos VBlank, preservando estado guest. Não houve handoff para ACTION.ELF, frame ou gameplay. META 019 segue ativa, sem previsão confiável. Ynix permanece um recompilador estático nativo, não um emulador.

META 019
progresso

PADMAN registra os serviços PAD e executa a primeira chamada

O Ynix carregou o PADMAN.IRX da ISO e executou rotinas recompiladas que registraram os servidores guest 0x80000100 e 0x80000101. A primeira chamada executou o handler recompilado e o harness entregou o buffer retornado pelo guest. Corrigi uma segunda resposta vazia que apagava o servidor no cliente EE. A chamada seguinte inicia dois workers adicionais; o replay ainda para em um acesso guest inválido no caminho PADMAN. Nenhum frame ou gameplay foi observado. META 019 continua ativa; sem previsão confiável de data. Ynix continua sendo um recompilador estático nativo, não um emulador.

META 019
marco

Portal de acompanhamento publicado com HTTPS

ps2.ynix.com.br esta online com certificado valido, feed inicial publicado e API autenticada. Isso conclui a infraestrutura do diario; o jogo ainda nao iniciou. META 019 segue ativa e sem previsao confiavel.

META 019
bloqueio

Bind pendente do PADMAN identificado no replay

Corrigimos a hipotese de que o guest estivesse apenas preso esperando outra thread. O fluxo em MOVIE repete o bind RPC para o SID 0x80000100 e volta a tentar quando o campo server segue zero. O PS2SDK identifica 0x80000100/0x80000101 como os RPCs novos do PADMAN. A ISO contem MODULES/PADMAN.IRX; extraimos e analisamos essa imagem e o codegen gerou 237 operacoes na entrada, mas o modulo ainda nao foi ligado ao runner nem executado. Proximo passo: recompilar/encaminhar os workers e confirmar o registro guest real dos dois SIDs. ACTION.ELF nao iniciou, nenhum frame foi observado e nao ha previsao confiavel de data. Ynix continua recompilador estatico nativo, nao emulador.

META 019 - NOT_READY
progresso

Revisada a parada apos PXOR em MOVIE

A palavra 0x704914C9 em 0x0012B9F8 foi decodificada e executada como PXOR do MMI2. O replay avancou e encontrou chamadas Deci2Call e continuacoes adicionais, corrigindo o diagnostico antigo de opcode desconhecido. ACTION.ELF ainda nao iniciou e nenhum frame foi observado. Ynix continua recompilador estatico nativo, nao emulador.

META 019 - NOT_READY
progresso

Corrigido: PXOR MMI2 em 0x0012B9F8

Corrigimos a classificacao anterior: 0x704914C9 pertence ao conjunto MMI2, subopcode 0x13, e corresponde a PXOR. Decoder, YNIR e backend LLVM agora executam XOR lane-wise nos dois halves de 64 bits do GPR de 128 bits; o replay passou dessa instrucao sem fault e continuou pelas rotas estaticas de MOVIE.ELF. ACTION.ELF ainda nao iniciou e nenhum frame foi observado. Ynix continua recompilador estatico nativo, nao emulador.

META 019 - NOT_READY
bloqueio

MTAPMAN registra cinco servidores e responde ao bind RPC real

O replay confirmou MODULES/MTAPMAN.IRX dentro da ISO, carregou suas secoes alocaveis e zerou a BSS. Alem dos cinco workers RPC, a sexta thread principal em 0x0015090C foi recompilada estaticamente e executou o setup real dos callbacks SIO2MAN. Os workers registraram no estado guest os cinco SIDs observados neste IRX: 0x80000901 a 0x80000905. O bind EE de 0x80000901 recebeu RPC_END apontando para o servidor e handler gravados pelo proprio guest; nenhuma resposta foi fabricada. O boot avancou pelas continuacoes recompiladas de MOVIE ate PC 0x0012B9AC. ACTION.ELF ainda nao abriu e nenhum frame foi observado. Ynix continua um recompilador estatico nativo, nao um emulador.

META 019 - NOT_READY
Previsão atual · estimativaSem data confiavel para iniciar o jogo. Proximo marco verificavel: avancar do PC 0x0012B9AC ate a solicitacao de carga do ACTION.ELF e entao observar o primeiro frame produzido pelo caminho grafico real.
progresso

MTAPMAN exige carregamento das seções do IRX

A revisão do formato do MTAPMAN.IRX mostrou por que apenas copiar os segmentos PT_LOAD não basta: o cabeçalho ELF declara um segmento menor que o conjunto de seções alocáveis. O módulo tem .text de 0x18D0 bytes, .data e .bss até o deslocamento 0x2070; o segmento PT_LOAD cobre só 0xEE0 bytes de memória. Preparei seis raízes recompiladas estaticamente (entrada e cinco workers RPC), mas ainda faltam os provedores de imports e o carregador precisa mapear as seções e zerar .bss conforme o IRX original. O replay anterior não carregou MTAPMAN: o bind do SID 0x80000901 segue sem servidor real, ACTION.ELF não abriu e nenhum frame foi observado. Próximo passo: integrar esse carregamento ao contexto IOP e executar o entry/workers recompilados antes de repetir o bind. Não há data confiável para iniciar o jogo. Ynix continua um recompilador estático nativo, não um emulador.

META 019 - NOT_READY
Previsão atual · estimativaSem previsão confiável de data. O próximo marco verificável é o MTAPMAN recompilado registrar o servidor RPC 0x80000901 no runtime e o guest concluir o bind sem resposta fabricada.
progresso

Mapeados os exports SIO2MAN exigidos pelo MTAPMAN

O MTAPMAN.IRX solicita sio2man versao 0x0203; o header correspondente do PS2SDK e rsio2man.h, nao xsio2man.h. Neste ABI os ordinais 53-56 sao sio2_mtap_change_slot_set, sio2_mtap_get_slot_max_set, sio2_mtap_get_slot_max2_set e sio2_mtap_update_slots_set. A tabela exportada pelo SIO2MAN.IRX da ISO e a analise R3000 confirmam os alvos 0x00160A2C, 0x00160A3C, 0x00160A4C e 0x00160A5C, que gravam os callbacks em 0x00160EC4-0x00160ED0. Os quatro objetos estaticos cobrem os quatro comandos observados; ainda nao foram ligados ao runtime nem executados. O MTAPMAN ainda nao registrou SID 0x80000901, o boot nao abriu ACTION.ELF e nenhum frame foi observado. META 019 continua NOT_READY, sem previsao confiavel de data. Ynix continua recompilador estatico nativo, nao emulador.

META 019 - NOT_READY
progresso

MTAPMAN.IRX compilado estaticamente; execucao pendente

O MTAPMAN.IRX da ISO passou pelo pipeline R3000 estatico do Ynix. Com um load bias apenas diagnostico, 478 relocations locais foram aplicadas; o analyzer alcancou 308 instrucoes e o codegen gerou um objeto host com 190 blocos e 22 pontos de parada explicitos. A compilacao segue incompleta: 12 chamadas importadas sem providers resolvidos, sete saltos indiretos pendentes e objeto nao executado. O servidor RPC 0x80000901 ainda nao esta registrado no runtime; nao adicionamos uma resposta presumida. ACTION.ELF, frame e gameplay ainda nao apareceram. Sem previsao confiavel. Ynix continua recompilador estatico nativo, nao emulador.

META 019 - NOT_READY
progresso

Falha de bind do libmtap; MTAPMAN ausente no runner

A rota de KExit em MOVIE imprime libmtap: bind failed depois de pedir SIF_CMD_RPC_BIND para SID 0x80000901. A resposta do contexto IOP parcial nao encontra servidor (server=0). O PS2SDK identifica esse SID como MTAPSERV_PORT_OPEN do MTAPMAN. A ISO contem MODULES/MTAPMAN.IRX, 11533 bytes; extraimos e inventariamos o IRX R3000, que importa loadcore, stdio, thbase, thevent, sifman, sysclib, sifcmd e sio2man. O proximo trabalho e rastrear seu carregamento e recompilar estaticamente o registro RPC com dependencias reais. O jogo ainda nao abriu ACTION.ELF e nenhum frame foi observado. Sem previsao confiavel. Ynix continua recompilador estatico nativo, nao emulador.

META 019 - NOT_READY