Em janeiro de 2017, na Awesome Games Done Quick em Herndon, Virgínia, o TASBot — o robô de speedrun assistido por ferramentas — pareceu jogar Super Mario 64 e Portal, da Valve, em um Super NES de fábrica, e em seguida passou a uma chamada de Skype ao vivo retransmitida pelo console. Nada foi modificado dentro da máquina: tudo chegava pelas portas de controle como pressionamentos de botões, milhares por segundo, enquanto cerca de 200.000 pessoas assistiam na Twitch.

O método era o 'controle total': explorar glitches conhecidos em jogos como Super Mario Bros. 3 e Mega Man, usar estouros de buffer para entrar na memória e então inicializar um carregador que lê o fluxo de entrada do controle como opcodes de assembly brutos. Meses antes, o organizador da equipe Allan Cecil (dwangoAC) havia demonstrado transmissão de áudio de alta qualidade pelo chip de som do NES na conferência Geekpwn, na China; o dispositivo de entrada do NES Classic foi construído por Peter Greenwood (micro500).

A demonstração nunca alegou emulação real — 'a resposta continua sendo não' para jogar Portal de verdade em um SNES, escreveu a Ars Technica —, mas deixou o ponto de forma visceral: um console de 25 anos podia servir como dispositivo de saída para software moderno arbitrário, desde que houvesse pressionamentos de botões suficientes por segundo.

Tratar a porta de controle de um console como um barramento de dados: os pressionamentos de botões tornam-se opcodes brutos, e um estouro de buffer inicializa um carregador que executa o fluxo.

Glitches de estouro de buffer permitiram ao robô escrever código arbitrário na memória do console usando apenas entradas de controle.

A milhares de entradas por segundo, a porta de controle efetivamente se tornou um barramento de dados transportando opcodes, áudio e vídeo.

Realizar isso ao vivo na AGDQ transformou uma ferramenta de speedrun em uma demonstração pública de que um console pode ser reprogramado por meio de sua porta de jogo.

Qualquer canal de entrada é uma interface de programação se você conseguir atingi-lo rápido o suficiente — redefinir o que conta como entrada expande uma plataforma mais do que novo hardware faria.

A execução entrou para o folclore da AGDQ como a demonstração do 'Super N64'. O bloco de controle total do TASBot, presença constante na maratona por anos, já havia produzido feitos como 'zerar' Super Mario Bros. 3 em menos de um segundo.

CONFIRA AS EVIDÊNCIAS

As fontes

  1. How a robot got Super Mario 64 and Portal 'running' on an SNES Ars Technica · arstechnica.com ·