TempGBA-PS2 ganhou uma nova implementação que permite executar jogos de Game Boy Advance diretamente em um PlayStation 2 modificado. O fork, mantido por andymcca, recebeu uma sequência de melhorias em setembro de 2026 para áudio, carregamento, armazenamento e compatibilidade. Além disso, entre 25 e 27 de setembro, o projeto adicionou suporte a MMCE e MX4SIO e uma solução de paginação para ROMs de até 32 MiB.
O projeto deriva do TempGBA, emulador baseado no gpSP. Entretanto, esta versão concentra o desenvolvimento especificamente no hardware do PlayStation 2. O resultado chamou atenção fora do repositório em 28 de setembro, quando o Retro Dodo publicou uma demonstração de Pokémon Unbound executando no console.
Pokémon Unbound executando em um PlayStation 2 com o TempGBA-PS2. Imagem: Retro Dodo.
TempGBA-PS2 amplia emulação de GBA no PlayStation 2
O TempGBA já possui uma história antiga no ecossistema homebrew do PS2. Contudo, o novo fork retoma esse trabalho e modifica diferentes partes do código para aproveitar melhor o console da Sony.
Entre as mudanças recentes, o desenvolvedor trabalhou no ritmo de reprodução do áudio. Em 22 de setembro, por exemplo, um commit passou a usar o retorno da rotina de áudio para controlar os próximos envios. Quando o buffer do IOP fica cheio, o programa evita novos envios por alguns ciclos em vez de continuar acumulando dados.
O projeto também corrigiu o carregamento a partir do HDD. Antes disso, um reset do IOP podia invalidar caminhos PFS fornecidos pelo LaunchELF. A implementação atual procura novamente as partições e restaura o diretório necessário, evitando o erro de caminho nesse cenário.
Além disso, o código reduziu operações de leitura muito pequenas. Arquivos de configuração, cheats e outras informações agora usam buffers maiores, diminuindo a quantidade de chamadas RPC entre os processadores do PS2.
TempGBA-PS2 agora suporta MMCE e MX4SIO
Em 25 de setembro, o projeto adicionou MMCE e MX4SIO ao navegador de ROMs. Dessa forma, o usuário ganhou mais opções para armazenar seus próprios dumps de jogos além de USB e HDD.
O MMCE permite acessar armazenamento em dispositivos compatíveis instalados no slot de memory card, como soluções baseadas no protocolo utilizado por SD2PSX e MemCard PRO2. Já o MX4SIO usa outro método para acessar cartões SD através da interface do memory card.
O TempGBA-PS2 carrega os drivers desses dispositivos somente quando o usuário abre o respectivo diretório. Assim, a inicialização continua utilizando o caminho USB já funcional até que outro armazenamento se torne necessário.
Um commit posterior também atualizou o módulo SIO2MAN para a versão 2.7 do PS2SDK. A mudança resolveu uma situação em que uma leitura de diretório MMCE podia impedir que o controle voltasse a responder normalmente.
ROMs de 32 MiB ganharam sistema de paginação
Outra mudança relevante chegou em 26 de setembro. O PlayStation 2 possui limitações de memória que tornam mais complicado manter integralmente algumas das maiores ROMs de GBA disponíveis.
Para contornar essa limitação, o TempGBA-PS2 agora mantém na memória a maior parte possível da ROM e busca o restante conforme necessário. O sistema trabalha com páginas de 32 KiB e mantém os primeiros 2 MiB fixos na memória.
Ao mesmo tempo, o desenvolvedor removeu um buffer de rewind que não estava em uso. Isso libera memória suficiente para manter imagens de 16 MiB residentes. Já cartuchos de 32 MiB utilizam o novo mecanismo de paginação para acessar as partes que não cabem simultaneamente no heap disponível.
Portanto, a mudança não aumenta fisicamente a memória do console. Em vez disso, o emulador administra os dados de maneira diferente para tornar ROMs maiores viáveis dentro das restrições do PS2.
PCSX2 também ganhou um caminho específico
O desenvolvimento recente separou parte da inicialização dos módulos do IOP para atender tanto ao hardware original quanto ao PCSX2. Segundo o commit de 25 de setembro, a nova ordem permite que o emulador de PS2 inicialize o programa enquanto o console real continua reconhecendo o dispositivo mc0:.
Essa compatibilidade facilita testes durante o desenvolvimento. Entretanto, o objetivo principal do TempGBA-PS2 continua sendo executar software de Game Boy Advance no próprio PlayStation 2.
Outro ajuste mantém uma largura de vídeo de 704 pixels no hardware real, enquanto o caminho utilizado no PCSX2 continua com 640. O desenvolvedor registrou que usar 704 no PCSX2 cortava parte da imagem.
Projeto continua recebendo mudanças
O desenvolvimento permaneceu ativo até pelo menos 27 de setembro. O commit mais recente dessa sequência limpou avisos do compilador e passou a chamar diretamente uma implementação MIPS utilizada no caminho antigo de alpha blending.
Isso significa que o TempGBA-PS2 ainda representa um projeto em evolução. Portanto, compatibilidade e desempenho podem variar de acordo com o jogo, o dispositivo de armazenamento e a build utilizada.
O próprio relato publicado pelo Retro Dodo recomenda o HDD instalado no PS2 para arquivos maiores, já que esse caminho pode oferecer carregamento mais adequado que USB. A publicação mostrou Pokémon Unbound funcionando no console, mas esse exemplo isolado não representa uma garantia de compatibilidade para toda a biblioteca do Game Boy Advance.
Também vale distinguir o projeto de soluções que simplesmente executam um emulador de PS2 no computador. Neste caso, o TempGBA-PS2 é um emulador de Game Boy Advance compilado para o PlayStation 2. Assim, o próprio console da Sony funciona como máquina hospedeira para o software de GBA.
Fontes: repositório oficial TempGBA-PS2 no GitHub; commit de suporte a MMCE/MX4SIO; commit da paginação de ROMs grandes; Retro Dodo.