Player coordinates RAM writer

From Glitch City Wiki
Jump to navigation Jump to search
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 in a Pokémon game, such as homebrew software.

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:

  1. Bicycle
  2. 8F
  3. X Accuracy, x97
  4. Burn Heal, x126
  5. Parlyz Heal, x15
  6. HP UP, x15
  7. Ice Heal, x15
  8. Potion, x134
  9. TM34, x20
  10. TM17, x46
  11. Leaf Stone, x52
  12. Great Ball, x201
  13. TM10, x1
  14. TM15, x46

Steps

  1. 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.
  2. There will now be a TM34 x21 instead of x20.
  3. 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 (ret); see image below.
  4. To run the created code, swap TM10 x1 with TM34 and use 8F, it should then go straight to the created code.

Video:

YouTube video by TheZZAZZGlitch


Route 1 coordinates map

This map (below) tells us the coordinates for spots in Route 1 for writing the code. For example, a coordinate of y=0C, x=09 would write a C9 (ret).