Speedrunner Reprograms a Super Mario Game to Beat Itself

Speedrunners have long been exploiting 8-bit games by “reprogramming” them. Pixel-perfect inputs can be used to trigger memory events, usually for the purpose of beating games in fractions of the time it would ordinarily take. A similar exploit exists in the classic Mario Game Boy game 6 Golden Coins, but it exists in a physical, semi-playable form. Welcome to glitch hell.

Advertisement

By falling through the map in a particular stage, speedrunner Chris Grant is able to interact with the game’s memory and make it think it’s been beaten the next time he enters a new level. Apparently, 6 Golden Coins stored all the data for the cartridge underneath levels (where players were never intended to go) as blocks, pipes, and other broken but familiar in-game objects. Touching some of these objects causes a hard reset or renders the entire cartridge unusable. But one block in particular tells the software to load the end-game sequence, which in glitch speedruns, counts as beating the game.

There must be some reason why the 6 Golden Coins programmers found storing memory this way more efficient, but I’m not aware of other Mario games doing anything similar. The bonus is that tinkering around “inside” a game looks a lot like a bad early 90s plot device, a la hacking the gibson. Don’t go dusting off your old Game Boy though: the glitch only works on older versions of the cartridge.

Advertisement

SPLOID is delicious brain candy. Follow us on Facebook, Twitter, and YouTube.

Senior reporter. Tech + labor /// bgmwrites@gmail.com Keybase: keybase.io/bryangm Securedrop: http://gmg7jl25ony5g7ws.onion/

Share This Story

Get our newsletter

DISCUSSION

turbolence1988
Turbolence1988 Loves Magic Turn Circles

There must be some reason why the 6 Golden Coins programmers found storing memory this way more efficient, but I’m not aware of other Mario games doing anything similar.

I don’t think the memory is so much “stored in the level” moreso than the level is rendered by pointing to a specific memory address and reading the data from the cart that corresponds to the level data. As Mario falls, it reads further and further into the space reserved for a level, and when it reaches the bottom (the end) of the level’s data it starts to read past that data block, loading the next items in memory (which is the game’s code and other environment variables) and spawning the broken hellscape of items that would otherwise correspond to level pieces.

[Disclaimer: I can’t YouTube at work, so if this is disproven in the video, carry on.]