Parece aquelas ideias que nascem como piada em fórum e acabam virando vídeo de prova. O engenheiro e modder Carl Llewellyn conseguiu colocar um Nintendo 64 e um PlayStation 2 para jogarem Super Mario 64 em coop, ao mesmo tempo, pela internet. Cada console controla o seu próprio Mario e os dois avançam pelas fases em tempo real, com direito a bugs engraçados e aquele caos delicioso de co op improvisado. O projeto foi mostrado em vídeo e o código está disponível no GitHub.
A graça aqui é que nenhuma dessas plataformas nasceu pensando em jogo online. O N64 depende de cartucho, um formato chato de adaptar para comunicação moderna. O PS2 até teve opções de rede na vida real, mas o Super Mario 64 obviamente nunca foi um jogo do console. Mesmo assim, Carl fez os dois “conversarem” com uma pilha de gambiarras elegantes e um bom tanto de engenharia.
O truque do N64: um cartucho modificado com Raspberry Pi Pico
Para o Nintendo 64 funcionar nessa história, Carl criou adaptadores personalizados usando Raspberry Pi Pico, aquelas plaquinhas RP2040 baratas e pequenas. No caso do N64, o Pico entra direto em um slot de cartucho customizado e vira uma espécie de cartucho inteligente. Ele roda uma versão reprogramada do Super Mario 64 com suporte a dois jogadores e também serve como ponte de comunicação para mandar e receber dados de rede. O repositório do projeto mostra essa base no GitHub, incluindo o firmware do Pico e a parte do jogo adaptada.
O PS2 roda o jogo graças ao código decompilado de Super Mario 64
Do lado do PlayStation 2, a história fica ainda mais curiosa. Nos últimos anos, a comunidade de engenharia reversa conseguiu decompilar o Super Mario 64, o que permite recompilar o jogo para outras plataformas. Carl pegou esse código, recompilou em C, gerou uma versão para rodar no PS2 e carregou o executável usando métodos caseiros de boot, como o FreeDVDBoot. É o tipo de solução que exige tentativa e erro, mas quando funciona parece magia.
Para transformar a comunicação do PS2 em tráfego de rede, ele ainda usou outro Pico fazendo a conversão entre serial e internet.

Um servidor em Rust e “tradutores” em Go para unir dois mundos diferentes
Como os consoles falam linguagens e formatos bem diferentes, o projeto usa um servidor central. Carl montou esse servidor em Rust e adicionou aplicações em Go para atuar como tradutores entre os pacotes de dados que cada lado gera. O N64 manda dados para um Raspberry Pi, que repassa para a internet. No PS2, a coisa é facilitada por um detalhe curioso do console: o PS2 carrega um processador do PS1 internamente, e ele pode ser usado para lidar com certos pacotes sem prejudicar o desempenho do jogo, segundo a descrição do projeto.
Como o co op funciona dentro do jogo
O co op aqui não é um modo completo com tudo sincronizado. É uma solução prática para colocar dois Marios no mesmo “estado geral” da fase. Cada console envia apenas o básico: movimentos do analógico, orientação, câmera, fase atual e alguns marcadores essenciais. Para manter ambos em sincronia, o sistema “encaixa” posições a cada poucos frames, corrigindo drift causado por taxas de quadros diferentes e variações na conexão.
No desenvolvimento, surgiram problemas bem típicos de co op. Em certos momentos, os Marios andavam ao contrário quando as câmeras estavam apontando em direções opostas. Isso foi resolvido ao combinar dados de câmera com os inputs para cada console entender o que é “pra frente”. Também rolou um bug em que o Mario do PS2 caía em death zones quando os níveis não batiam. A solução foi incluir informação de fase em todo pacote, forçando ambos a estarem sempre na mesma etapa.

Ainda tem bugs e é isso que deixa tudo mais divertido
Mesmo com a parte principal funcionando, alguns elementos do cenário e inimigos ainda não se comportam de forma totalmente consistente entre os dois lados. Plataformas, objetos e adversários podem causar teletransporte estranho, atravessar chão ou empurrar o personagem para lugares errados. Carl trata isso como etapa de polimento, porque o objetivo maior já foi alcançado: provar que o N64 e o PS2 conseguem jogar juntos online, no hardware real, com dois jogadores independentes.
Onde ver e onde achar o código
O projeto foi demonstrado em vídeo no YouTube, com o título “PS2 + N64 Online Super Mario 64 Co op (Real Hardware)”. E para quem gosta de mexer com retro hardware, os repositórios do Carl no GitHub reúnem o essencial, incluindo PicoCart64_usb e sm64_n64x_usb, além do servidor e das partes de integração.
No fim, é o tipo de mod que não serve só para impressionar. Ele vira uma aula prática sobre redes, sincronização, engenharia reversa e limites reais de hardware antigo. E, de quebra, entrega um Super Mario 64 co op que ninguém pediu oficialmente, mas todo mundo quer ver funcionando.
Veja mais sobre games.




