Game & Watch é um nome lendário entre os fãs da Nintendo. As primeiras unidades dessa série remontam a abril de 1980, e quem possuir uma em boas condições tem uma fortuna virtual nas mãos. Recentemente, a Nintendo apresentou uma versão atualizada do Game & Watch, que foi hackeada um dia antes do lançamento, e como era de se esperar, a web só pediu uma coisa: ver o Doom funcionando. O youtuber «stacksmashing» decidiu tentar, e embora sua versão final tenha recebido vários ajustes, acho que podemos falar de missão cumprida…

Doom rodando em um Game & Watch
Doom

Ontem foi uma simples demonstração de curiosidade. Hoje, é o «Hello World» definitivo. Claro, me refiro a instalar e executar Doom em qualquer coisa que seja capaz de recebê-lo... e outras que precisam de um pouco de ajuda. Temos de tudo na lista: termostatos, caixas eletrônicos, impressoras, calculadoras, osciloscópios e até testes de gravidez. Cada vez que pensamos em algum limite, os entusiastas surgem com algo diferente, e desta vez aproveitaram uma nova «consola clássica» da Nintendo.

Refiro-me ao Game & Watch «edição 2020» com tela colorida, Super Mario Bros. e Super Mario Bros. 2 (leia-se «Lost Levels») pré-instalados. Logicamente, o dispositivo busca seduzir colecionadores e fãs hardcore por igual, mas se no nível de software e hardware ele se comporta como um retroconsole emulando jogos de NES, então só resta uma coisa a fazer: substituir o firmware original e colocar uma cópia de Doom em seu interior.

Doom no novo Game & Watch

Foi exatamente isso que fez o youtuber e hacker «stacksmashing», que recebeu um dos novos Game & Watch e conseguiu hackeá-lo um dia antes do lançamento oficial. Por sorte, a Nintendo não cobriu toda a PCB com epoxy, e não houve problemas maiores em identificar o controlador STM32H7B0 (ARM Cortex-M7, 128 kilobytes de Flash). No entanto, a Nintendo ativou o modo de segurança no chip, então stacksmashing teve que quebrar a criptografia primeiro. A boa notícia é que Doom parece funcionar sem problemas. A má é que se trata de uma versão reduzida.

Por quê? Porque o Game & Watch não tem recursos suficientes. No total, combina 128 KB de Flash e 1,3 MB de RAM no controlador, e apenas 1,1 MB de Flash externa. A solução foi extrair texturas e outros elementos secundários no jogo (cortesia do projeto MiniWAD), mas a essência do Doom está lá, e funciona bem. O que vem a seguir? Provavelmente, um método para carregar outras ROMs no Game & Watch e completar sua transformação em retroconsole portátil. Questão de tempo.

https://old.neoteo.com/speedrun-de-doom/