Player coordinates RAM writer: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
>Torchickens
>Torchickens
No edit summary
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{incomplete}}
{{incomplete}}
Using [[arbitrary code execution]], it is possible to create and run large programs such as homebrew software in a Pokémon game.
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}}==
==Using 8F in {{RB}}==
Line 26: Line 26:
#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.
#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.
#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).
#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.
#To run the created code, swap TM10 x1 with TM34 and use 8F, it should then go straight to the created code.
#To run the created code, swap TM10 x1 with TM34 and use 8F, it should then go straight to the created code.


Video:
Video:
{{youtube|1=D3EvpRHL_vk|2=TheZZAZZGlitch}}
{{youtube|1=D3EvpRHL_vk|2=TheZZAZZGlitch}}

===Route 1 coordinates map===
===Route 1 coordinates map===
This map (below) tells us the coordinates for spots in [[bp:Kanto Route 1|Route 1]] for writing the code.<br>
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]]
[[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).