Player coordinates RAM writer: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
>Torchickens
No edit summary
>Torchickens
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{incomplete}}
'''WHAT'S JAIL BREAKING?'''
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 {{RB}}==
Jailbreaking is a hack to restart the game with 8F in "any way" you want depending on how many bytes you execute.


This technique is referred to in TheZZAZZGlitch's video as 'jailbreaking' the Game Boy.
[http://forums.glitchcity.info/index.php/topic,6638.0.html This post] shows how to obtain 8F.


It requires the following items:
'''HOW TO JAILBREAK'''


#Bicycle
You can jailbreak with the following list of items:
#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===
Bicycle
#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.
8F
#There will now be a TM34 x21 instead of x20.
X Accuracy, x97
#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.
Burn Heal, x126
#To run the created code, swap TM10 x1 with TM34 and use 8F, it should then go straight to the created code.
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


Video:
Swap TM17 x46 with TM15 x46, use 8F and jump off a ledge to walk through walls, because it's required. #There should then be TM34 x21 instead of x20.#
{{youtube|1=D3EvpRHL_vk|2=TheZZAZZGlitch}}
Then 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 #TM34 QTY# is written, with its value depending on your X and Y positions.

To run the created code, swap TM10 x1 with TM34 and use 8F, it should then go straight to the created code.
===Route 1 coordinates map===
This map (below) tells us the coordinates for spots in [[bp:Kanto Route 1|Route 1]] for writing the code. For example, a coordinate of y=0C, x=09 would write a C9 (ret). <br>
[[File:Route 1 coordinates.png]]
[[Category:Arbitrary code execution]]
[[Category:Arbitrary code execution]]
[[Category:Arbitrary code execution programs]]

Latest revision as of 04:18, 26 August 2018

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).