Talks to Watch

[TAS] Pokémon Yellow - Arbitrary Code Execution

598K views · Feb 5, 2017 · 7:45 · 4 HN recommenders · 6 mentions · discussed 2020–2025

A tool-assisted speedrun of Pokemon Yellow by MrWint that uses arbitrary code execution to push Game Boy hardware to its limits. Through crafted inputs it injects code and ends up running other programs, such as Tetris, inside the game.

Why Hacker News points people here: HN points to it as the standard demonstration of arbitrary code execution on a Game Boy, and of glitches and bugs being turned into a working computer.

“One of the crazier uses of ACE in Gameboy Pokemon games exploits”HN comment, 2022

What Hacker News said 6

Strongly recommendsstepupmakeupAug 2022

“One of the crazier uses of ACE in Gameboy Pokemon games exploits”

Genuine, unedited Pokemon Yellow exploit, replicable on an emulator.

Full comment

One of the crazier uses of ACE in Gameboy Pokemon games exploits is this "speedrun", by MrWint: this video ([TAS] Pokémon Yellow - Arbitrary Code Execution) I've timestamped the part where the actual exploit begins, after all of thesetup. It's worth mentioning that this isn't faked or edited in any way, and it's possible to download the input data and replicate on a emulator yourself.

in “Tetsuji: Remote Code Execution on a GameBoy Colour 22 Years Later” · view on HN
Recommendsalexb_Feb 2022

“Good example: (skip to 1:20 for craziness)”

Shows bugs hacked into alternate Game Boy instructions.

Full comment

It mentions Pokemon Yellow, but really any code run isn't really "run in the game" more so that it uses bugs to hack together alternate instructions for the game boy to execute. Good example: this video (skip to 1:20 for craziness)

in “Accidentally Turing-Complete” · view on HN
RecommendsDweditMay 2024

“you can create something really beautiful for the console to run afterwards. Pokemon Yellow”

Something beautiful running on the console after the exploit.

Full comment

Sometimes even after you've come up with the exploit, you can create something really beautiful for the console to run afterwards. Pokemon Yellow: this video Super Mario World: link

in “Hackers discover how to reprogram NES Tetris from within the game” · view on HN
Recommendsalex-moonSep 2025

“There is an amazing video of a similar exploit in Pokémon Yellow”

Pokemon Yellow exploit runs several different games.

Full comment

There is an amazing video of a similar exploit in Pokémon Yellow where they basically run a bunch of different games: this video

in “Bad Apple but it's played inside Super Mario Bros” · view on HN
Cites itDougBTXSep 2020

“Tetris implemented in Pokémon Yellow via runtime code injection”

Tetris injected into Pokemon Yellow via runtime code injection.

Full comment

At the end of the day, if you look at a low enough level in the stack, there are no types. In a very concrete way, types are a high-level idea, and if the high-level stops matching the low-level, then bugs crop up. See for example Tetris implemented in Pokémon Yellow via runtime code injection: this video Their compiler missed that! So I think there's good reason to switch from talking about types as "assumptions", and think of them as compile time "assertions". Something lower-level in the stack could break the high-level code, but that doesn't make the high-level code useless, just imperfect.

in “Show HN: A SQL database implemented purely in TypeScript type annotations” · view on HN
Cites itschroedingJul 2022

“Arbitrary Code Execution TAS like Triforce% or this Pokemon Yellow one[1] are more or less demos”

Full comment

Arbitrary Code Execution TAS like Triforce% or this Pokemon Yellow one[1] are more or less demos that target both the console and the "host game". I would say even some non-ACE ones like this Brainage TAS[2] are demos :D [1] this video [2] link

in “Games Done Quick “Ocarina of Time” beta showcase” · view on HN