Player coordinates RAM writer
This article is incomplete. Please feel free to add any missing information about the subject. It is missing: {{{1}}}. |
Using arbitrary code execution, it is possible to create and run large programs such as homebrew software in a Pokémon game.
Using 8F in Pokémon Red and Blue
This technique is referred to in TheZZAZZGlitch's video as 'jailbreaking' the Game Boy.
It requires the following items:
- Bicycle
- 8F
- X Accuracy, x97
- Burn Heal, x126
- Parlyz Heal, x15
- HP UP, x15
- Ice Heal, x15
- Potion, x134
- TM34, x20
- TM17, x46
- Leaf Stone, x52
- Great Ball, x201
- TM10, x1
- TM15, x46
Steps
- Swap TM17 x46 with TM15 x46, use 8F and jump off a ledge to walk through walls. This allows the player to walk on impassable tiles, so that they may access all coordinates ranging from hex:00 to hex:0F.
- There will now be a TM34 x21 instead of x20.
- Swap TM17 and TM15 back, toss TM34 until only one of them remains and use a Bicycle. The program is now in 'entering mode', and upon using 8F one byte is written to address D901 (and onward for each use) with its value depending on your X and Y positions where the Y position represents the high nybble and the X position represents the low nybble. For example, a coordinate of y=0C, x=09 would write a C9 (see image below).
- To run the created code, swap TM10 x1 with TM34 and use 8F, it should then go straight to the created code.
Video:
| |
Route 1 coordinates map
This map (below) tells us the coordinates for spots in Route 1 for writing the code.