Pikachu's Beach arbitrary code execution and corrupted screen effect (Pokémon Yellow)

2,361 views · Published 29 December 2018 · 5:16 · Indexed 31 October 2026

Channel: Evie (ChickasaurusGL) 🌺 · 2018 · Gaming

Watch on YouTube

More information in the description:
This is a proof of concept video to show arbitrary code execution can be achieved during the Pikachu's Beach minigame in English Yellow on the original game (Pikachu's Beach is a special feature exclusive to Yellow).

I don't yet know whether it is possible on the Virtual Console release, but we can modify the RAM with this exploit, by activating Pikachu's Beach ACE with OAM DMA hijacking. For example, writing 0x15 to 0xD058 will enable a Mew encounter after battle.

Pikachu's Beach ACE requires 0xC5D1 (wSurfingMinigameRoutineNumber) to read a specific value when the minigame is started. This may cause a blank scene with no objects, but it is possible to exit the minigame with Select if you have already played it.
In this video we use script 0x5B, which causes the arbitrary code execution of 0xD3EA (wWarpEntries, accessible from item 103's quantity in the expanded items pack).

This video also shows a special corrupted screen effect in which most of the screen is fragmented and will flicker (apart from a small segment at the top of the screen). This can be achieved by calling 0x02FA to return to the overworld (which is almost the same as using the glitch item -g m (0x6A).

In order to escape the map, we also set 0xD366 to 0x00 to enable Flying away from a Glitch City caused by the glitch.

More from this channel