Para celebrar os 35 anos do jogo Super Mario Bros. a Nintendo lançou uma edição especial do Game & Watch, sua primeira geração de consoles portáteis, com tela colorida e o game na memória.
Obviamente, o pequeno console chamou a atenção dos hackers, interessados em saber se é possível modificá-lo para rodar outros jogos. Um deles, que atende pelo apelido stacksmashing no Twitter, recebeu seu Game & Watch um dia antes do lançamento nesta sexta-feira (13) e não perdeu tempo em abrí-lo para explorar o hardware e software.
Quem esperava um sistema flexivel baseado em Linux, como no NES Classic e SNES Classic, vai se decepcionar. O hardware é muito modesto, e provavelmente incapaz de rodar um SO complexo.
O processador é um STM32H7B0VBT6 da STMicroelectronics, que contém um núcleo ARM Cortex-M7 rodando a 280 MHz, 128 KBytes de memória flash, e 1024 KBytes (sim, apenas 1 MB!) de RAM. Também há uma memória flash serial de 8 Mb (1 MB), que provavelmente contém todo o software. A bateria tem capacidade de 525 mAh.
Interesting, an STM32H7B0VBT6 is the main processor! Cortex-M7, 128 KBytes Flash, 1024 KBytes of RAM. Also some unpopulated headers close by that expose SWD (the Arm Cortex-M debug interface)! pic.twitter.com/f5cdSlmin6
— stacksmashing (@ghidraninja) November 12, 2020
Analisando o conteúdo da memória, stacksmashing descobriu uma ROM do jogo Super Mario Bros., o que indica que o sistema roda um emulador, provavelmente escrito diretamente para o hardware, sem necessidade de um sistema operacional por baixo. Também foi possível obter cópias da memória de vídeo (framebuffer), que mostram o jogo rodando.
Logo após, stacksmashing conseguiu o que queria: modificou o conteúdo da memória flash, trocando a ROM original do jogo por uma que mostrava na tela a palavra “Hacked”. 24 horas antes do lançamento, o Game & Watch de Super Mario Bros. foi “hackeado” para rodar código diferente do original de fábrica.
So, eventually managed to bypass the Game & Watch ROM encryption 1 day before the official release ðŸ˜Â Will try to release a video on it in the next few days with details on how that works!
— stacksmashing (@ghidraninja) November 12, 2020
Entretanto, isso não significa que será possível rodar outros jogos em breve. Além da óbvia limitação na quantidade de memória do portátil, há o fato de que o hardware do NES é bastante complexo, com os cartuchos usando uma grande variedade de chips para expansão de memória ou mesmo para adicionar novos recursos de áudio e vídeo ao console. Um emulador escrito para rodar apenas Super Mario Bros. pode não ter o necessário para rodar um jogo mais complexo, como Castlevania 3.
O hacker promete publicar, em breve, um vídeo mostrando um passo-a-passo da façanha.