Pomeg data corruption glitch: Difference between revisions
Content deleted Content added
>Torchickens m Torchickens moved page Glitzer Popping to Pomeg corruption glitch over redirect |
>Torchickens No edit summary |
||
Line 3: | Line 3: | ||
{{incomplete}} |
{{incomplete}} |
||
{{bulbapedia}} |
{{bulbapedia}} |
||
[[File:Jirachi Egg.png|frame|right|Jirachi hatching from an Egg obtained from |
[[File:Jirachi Egg.png|frame|right|Jirachi hatching from an Egg obtained from Pomeg corruption glitch.]] |
||
''' |
'''Pomeg corruption glitch''' or '''Glitzer Popping''' is a [[glitch technique]] of the "sending out a ??????????" ("Decamark") sub-glitch of the [[Pomeg glitch]] for {{Emerald}}, {{FRLG}} in which the player sends out the [[??????????|Decamark]], views the summary of a Pokémon in the party and scrolls up to access Pokémon in the party beyond slot 6. |
||
It is particularly notable for allowing the player to hatch an Egg containing any Pokémon in the game as well as many [[glitch Pokémon]], by placing specific Pokémon in storage box 1 and 2. |
It is particularly notable for allowing the player to hatch an Egg containing any Pokémon in the game as well as many [[glitch Pokémon]], by placing specific Pokémon in storage box 1 and 2. |
||
The name |
The name Pomeg corruption glitch is assumed to have no meaning in itself. It was chosen by the speedrunner werster who was one of the early researchers of the glitch, because he did not want the glitch to have a name which in his opinion would be 'too generic'. |
||
Due to a memory address location randomization mechanic known as [[DMA]], it can take many attempts for the player to get their desired corruption with the glitch. |
Due to a memory address location randomization mechanic known as [[DMA]], it can take many attempts for the player to get their desired corruption with the glitch. |
||
Line 31: | Line 31: | ||
'''Pokémon FireRed/LeafGreen''': |
'''Pokémon FireRed/LeafGreen''': |
||
The initial steps for |
The initial steps for Pomeg corruption glitch in Pokémon FireRed/LeafGreen are the same as in Pokémon Emerald, except that a Pokémon with negative HP must be traded over from Emerald to faint the party since the Pomeg Berry does not reduce HP EVs in these versions. |
||
==Exploits== |
==Exploits== |
||
When the player scrolls past Pokémon beyond slot 6, to access Pokémon beginning from Pokémon 255 and working down, they will corrupt the data of unrelated data managed as a non-existing Pokémon. |
When the player scrolls past Pokémon beyond slot 6, to access Pokémon beginning from Pokémon 255 and working down, they will corrupt the data of unrelated data managed as a non-existing Pokémon. |
||
In {{Emerald}}, the data which the player is able to corrupt with |
In {{Emerald}}, the data which the player is able to corrupt with Pomeg corruption glitch is as such: |
||
{| |
{| |
||
Line 70: | Line 70: | ||
===Pokémon Storage Box corruption=== |
===Pokémon Storage Box corruption=== |
||
Pomeg corruption glitch may be used to corrupt the attributes of Pokémon in the Pokémon Storage System. Below are some of the possible techniques for this. |
|||
====Accessing Super Glitch moves==== |
====Accessing Super Glitch moves==== |
||
Line 81: | Line 81: | ||
====Decaswitch==== |
====Decaswitch==== |
||
Decaswitch is a derivative of Pokémon Storage Box corruption discovered by voltage which is possible if one of the Pokémon in the Pokémon Storage System becomes an invisible Decamark Bad Egg. |
Decaswitch is a derivative of Pokémon Storage Box corruption discovered by voltage which is possible if one of the Pokémon in the Pokémon Storage System becomes an invisible Decamark Bad Egg. |
||
Decaswitch allows a player to perform both Pomeg Glitch and |
Decaswitch allows a player to perform both Pomeg Glitch and Pomeg corruption glitch without needing Pomeg Berries. |
||
{{youtube|QB67-pKKY3Q|Metarkrai M}} |
{{youtube|QB67-pKKY3Q|Metarkrai M}} |
||
====Hatch any Pokémon==== |
====Hatch any Pokémon==== |
||
This is a popular exploit of |
This is a popular exploit of Pomeg corruption glitch that allows the player to hatch any Pokémon in the game, as well as [[glitch Pokémon]] which do not freeze the game after hatching. |
||
In box 1 and 2 of the Pokémon Storage System, the player may place copies of Pokémon applicable for the glitch (obtained with cloning; ideally with the [[Battle Tower Pokémon cloning glitch (Emerald)|Battle Tower Pokémon cloning glitch]]) with attributes (e.g. Attack and HP EVs or a move) with an ID which would be converted into a species ID. |
In box 1 and 2 of the Pokémon Storage System, the player may place copies of Pokémon applicable for the glitch (obtained with cloning; ideally with the [[Battle Tower Pokémon cloning glitch (Emerald)|Battle Tower Pokémon cloning glitch]]) with attributes (e.g. Attack and HP EVs or a move) with an ID which would be converted into a species ID. |
||
Line 92: | Line 92: | ||
If the player is unsuccessful with the glitch after many attempts, they may attempt to place different Pokémon next to the Pokémon applicable for the glitch, referred to as [[corruption initiator]]s for example they could try random Pokémon or (if the glitch was successful before) they could try placing a specific Caterpie known as "[http://forums.glitchcity.info/index.php?topic=6868.msg198505#msg198505 Caterpie the perfect initiator]" next to SEASOR knowing Waterfall, Protect, Surf, Return (US)/no move (FR). |
If the player is unsuccessful with the glitch after many attempts, they may attempt to place different Pokémon next to the Pokémon applicable for the glitch, referred to as [[corruption initiator]]s for example they could try random Pokémon or (if the glitch was successful before) they could try placing a specific Caterpie known as "[http://forums.glitchcity.info/index.php?topic=6868.msg198505#msg198505 Caterpie the perfect initiator]" next to SEASOR knowing Waterfall, Protect, Surf, Return (US)/no move (FR). |
||
In order to know whether the Pokémon is applicable for the glitch and if so; which attribute needs to be converted into a species ID, the player must know the Pokémon's personality value and data substructure (determined by the Pokémon's personality value modulo 24). It is difficult to know a Pokémon's personality value (unless theoretically the Pokémon is a Spinda) without using an external device. For an illustration on how this works, see the [[ |
In order to know whether the Pokémon is applicable for the glitch and if so; which attribute needs to be converted into a species ID, the player must know the Pokémon's personality value and data substructure (determined by the Pokémon's personality value modulo 24). It is difficult to know a Pokémon's personality value (unless theoretically the Pokémon is a Spinda) without using an external device. For an illustration on how this works, see the [[:#Pokémon Storage System corruption|section about the mechanics of Pokémon Storage System corruption]] below. |
||
However, thanks to Emerald's RNG, it is possible to easily determine the PID of a Pokémon that was caught right after soft-resetting by calculating its IVs and finding back the frame that generated the Pokémon. |
However, thanks to Emerald's RNG, it is possible to easily determine the PID of a Pokémon that was caught right after soft-resetting by calculating its IVs and finding back the frame that generated the Pokémon. |
||
Line 149: | Line 149: | ||
====Double corruption==== |
====Double corruption==== |
||
Double corruption is a method of obtaining a Pokémon in the Pokémon Storage System without hatching it. In order to exploit a double corruption, the player should attempt the steps to [[ |
Double corruption is a method of obtaining a Pokémon in the Pokémon Storage System without hatching it. In order to exploit a double corruption, the player should attempt the steps to [[:#hatch any Pokémon|hatch any Pokémon]] with SEASOR <!--or DOTS?--> until the Pokémon turns into a regular Egg that is either a different Pokémon to the original or remains as Horsea. Afterwards, the player should save the game and continue to make corruptions to the Pokémon in the Pokémon Storage System (resetting if unsuccessful) until SEASOR converts into an unhatched Pokémon. |
||
During a double corruption, it is important that the player never picks up the Pokémon in the box with the glove otherwise the glitch will not work. |
During a double corruption, it is important that the player never picks up the Pokémon in the box with the glove otherwise the glitch will not work. |
||
Line 156: | Line 156: | ||
====Pokémon News Reporter corruption==== |
====Pokémon News Reporter corruption==== |
||
Pokémon News Reporter corruption is a derivative of using the [[ |
Pokémon News Reporter corruption is a derivative of using the [[:#Hatch any Pokémon|hatch any Pokémon]] to obtain a Decamark with an exceedingly long name. When the player speaks with the news reporter in the Pokémon Fan Club of Slateport City's Pokémon Fan Club with a specific Decamark in the first position of the party, it is possible to corrupt data after she mentions the Decamark's name. |
||
====="Guess Who?" glitch===== |
====="Guess Who?" glitch===== |
||
Line 186: | Line 186: | ||
{{youtube|HkKAmpz7_SY|ChickasaurusGL}} |
{{youtube|HkKAmpz7_SY|ChickasaurusGL}} |
||
=====Instant Pomeg glitch===== |
=====Instant Pomeg glitch===== |
||
Instant Pomeg glitch is a useful trick which allows the player to perform |
Instant Pomeg glitch is a useful trick which allows the player to perform Pomeg corruption glitch from the Pokémon menu without having to enter a battle, by forcing the first Pokémon in the party to be empty. |
||
Glitch Pokémon 0x96B4 and 0x29C2 are examples of glitch Pokémon which enable instant Pomeg glitch in US Pokémon Emerald. |
Glitch Pokémon 0x96B4 and 0x29C2 are examples of glitch Pokémon which enable instant Pomeg glitch in US Pokémon Emerald. |
||
Line 192: | Line 192: | ||
====New line arrow glitch==== |
====New line arrow glitch==== |
||
The new line arrow glitch occurs when a Pokémon has a 'new line' (hex:FB) character in its nickname. This Pokémon may be obtained rarely by performing |
The new line arrow glitch occurs when a Pokémon has a 'new line' (hex:FB) character in its nickname. This Pokémon may be obtained rarely by performing Pomeg corruption glitch when a Pokémon has the letter "A" as the fourth or eighth character in its nickname. |
||
The new line arrow character causes a number of effects depending on the version, incuding: |
The new line arrow character causes a number of effects depending on the version, incuding: |
||
Line 217: | Line 217: | ||
===Switch cloning=== |
===Switch cloning=== |
||
A method of [[Pokémon cloning]] with the access Pokémon beyond slot six glitch was discovered by |
A method of [[Pokémon cloning]] with the access Pokémon beyond slot six glitch was discovered by luckytyphlosion in 2014 before it was known that scrolling past those Pokémon will corrupt data. Sometimes in the expanded party there will be a Pokémon that the player can send out. If the player sends this Pokémon into battle and whites out, it is possible for the player to clone the last Pokémon in their party. |
||
===White Decamark effect=== |
===White Decamark effect=== |
||
Line 223: | Line 223: | ||
===NPC corruptions=== |
===NPC corruptions=== |
||
Pomeg corruption glitch may be used to sometimes corrupt NPCs on the map if the player escapes from battle using a Fluffy Tail instead of through whiting out. |
|||
====Script corruptions==== |
====Script corruptions==== |
||
If the player performs |
If the player performs Pomeg corruption glitch on a route with Trainers it can cause corruption of the player's challenge music, and/or corruption of their text (often long instances of "qÁF" in their text) or cause a full red screen. Sometimes after closing the text box (it may take a very long time for to finish printing it) it can cause a battle with a [[glitch Trainer]] to begin. |
||
[http://forums.glitchcity.info/index.php?topic=6868.msg196959#msg196959 Reportedly] the NPC outside of the Winstrate family house on Route 111 can be corrupted to a shop vendor, where talking to them brings up a BUY/QUIT option and items can be purchased (possibly glitch decorations) that are sent to the player's PC. |
[http://forums.glitchcity.info/index.php?topic=6868.msg196959#msg196959 Reportedly] the NPC outside of the Winstrate family house on Route 111 can be corrupted to a shop vendor, where talking to them brings up a BUY/QUIT option and items can be purchased (possibly glitch decorations) that are sent to the player's PC. |
||
Line 237: | Line 237: | ||
Script corruption may be used in FireRed/LeafGreen to disable the guard to the S.S. Anne from checking if the player has a ticket, if the player performs the scrolling after fishing in Vermilion City. This may also be used to reboard the S.S. Anne or Surf in the harbour to where [[S.S. Anne Ship Truck|the truck]] is. |
Script corruption may be used in FireRed/LeafGreen to disable the guard to the S.S. Anne from checking if the player has a ticket, if the player performs the scrolling after fishing in Vermilion City. This may also be used to reboard the S.S. Anne or Surf in the harbour to where [[S.S. Anne Ship Truck|the truck]] is. |
||
====Access behind the Day Care==== |
====Access behind the Day Care==== |
||
Pomeg corruption glitch may be used in Emerald and FireRed/LeafGreen to change the coordinates of NPCs on the map. This is useful for accessing behind the Day Care on Route 117 and Four Island in both versions, by encountering a Pokémon in the grass in Route 117 or fishing for a Pokémon in Four Island before scrolling up past Pokémon 255. |
|||
===Day Care corruption=== |
===Day Care corruption=== |
||
Pomeg corruption glitch may corrupt the data of Pokémon in the Day Care in Emerald if the player scrolls beyond stored box data (Pokémon 255-215) while scrolling up.{{clarify}} |
|||
===Flag corruptions=== |
===Flag corruptions=== |
||
Pomeg corruption glitch can be used to corrupt in-game flags either directly through scrolling up past Pokémon 255 or with a derivative trick which involves a glitch Pokémon obtained with the [[Pomeg corruption glitch#hatch any Pokémon|hatch any Pokémon trick]]. |
|||
====Evergrande City Fly flag==== |
====Evergrande City Fly flag==== |
||
Pomeg corruption glitch may rarely set the Fly flag that allows the player to Fly to Evergrande City (where the entrance to Victory Road is and not outside of the Pokémon League) if the player hasn't unlocked it already. |
|||
====Southern Island==== |
====Southern Island==== |
||
Pomeg corruption glitch may rarely set the flag for an NPC to appear on the second floor of the Pokémon Center and give the player an Eon Ticket. This allows the player to access Southern Island and capture Latios or Latias. |
|||
{{youtube|nNGMcLyrpAQ|Metarkrai M}} |
{{youtube|nNGMcLyrpAQ|Metarkrai M}} |
||
====Faraway Island and Birth Island==== |
====Faraway Island and Birth Island==== |
||
{{main|Access Faraway Island glitch}}. |
{{main|Access Faraway Island glitch}}. |
||
{{main|Access Birth Island glitch}}. |
{{main|Access Birth Island glitch}}. |
||
In non-English versions of Pokémon Emerald including the French, German, Spanish and Italian versions of Emerald, it is possible for the player to use Pokémon News Reporter corruption with a specific glitch Pokémon (obtained with |
In non-English versions of Pokémon Emerald including the French, German, Spanish and Italian versions of Emerald, it is possible for the player to use Pokémon News Reporter corruption with a specific glitch Pokémon (obtained with Pomeg corruption glitch) to change an address telling the game which Pokémon to send out in battle and activate the flag for access to Faraway Island or Birth Island. More information (in French) may be found [http://pastebin.com/8N9sGwpb here]. |
||
===Overworld position corruption=== |
===Overworld position corruption=== |
||
Pomeg corruption glitch may rarely affect the player's overworld position and place them in the wrong location (such as in the middle of trees) after escaping with a Fluffy Tail. |
|||
=====Surfing/Walking on Cycling Road===== |
=====Surfing/Walking on Cycling Road===== |
||
Rarely after [[ |
Rarely after [[Pomeg corruption glitch#instant Pomeg glitch|instant Pomeg glitch]] is set up, it is possible for the player to Surf on Seaside Cycling Road of Route 110 if they perform the scrolling from one step out of Mauville City's Pokémon Center and walk up. |
||
This will make the player go through a 'door' that leads into the water on Route 110 near the Cycling Road and the player is able to surf through Cycling Road. Going through the right-most door of the Cycling Road's entrance and out will allow the player to walk on Cycling Road. |
This will make the player go through a 'door' that leads into the water on Route 110 near the Cycling Road and the player is able to surf through Cycling Road. Going through the right-most door of the Cycling Road's entrance and out will allow the player to walk on Cycling Road. |
||
Line 266: | Line 266: | ||
===Secret Base decoration corruption=== |
===Secret Base decoration corruption=== |
||
''See also: [[glitch decoration]]''.<br> |
''See also: [[glitch decoration]]''.<br> |
||
Pomeg corruption glitch may rarely affect the Secret Base decorations they have in their PC. For example, TheZZAZZGlitch changed Thunder Mat (0x3C) into a 'ÛË ▼ÛË ÀÀÚËÔÀ ÀÀCAN' (0x7C) glitch decoration which acts like a portable two-square hole. |
|||
===Arbitrary code execution=== |
===Arbitrary code execution=== |
||
Pomeg corruption glitch ultimately allows for [[arbitrary code execution]] if the player has favourable DMA. |
|||
It can be abused in two known ways: |
It can be abused in two known ways: |
||
Line 277: | Line 277: | ||
{{Youtube|m9pvNYdhldo|TheZZAZZGlitch}} |
{{Youtube|m9pvNYdhldo|TheZZAZZGlitch}} |
||
2. With glitch move 0x27A2's animation and a specific stored item bootstrap code, which could theoretically be obtained with [[ |
2. With glitch move 0x27A2's animation and a specific stored item bootstrap code, which could theoretically be obtained with [[Pomeg corruption glitch#double corruption|double corruption]]. (See video; below) |
||
{{Youtube|1pb-6hMDQBs|TheZZAZZGlitch}} |
{{Youtube|1pb-6hMDQBs|TheZZAZZGlitch}} |
||
Line 288: | Line 288: | ||
When the player selects a non-existing Pokémon from beyond slot 6, the game will attempt to verify the checksum of the Pokémon in what appears to be an anti-cheating mechanism. If it is found to be invalid, the game will corrupt it by setting bit 0 at offset 0x13, bit 1 at offset 0x13, and bit 6 at offset 0x07 from the 'Miscellaneous' data substructure). |
When the player selects a non-existing Pokémon from beyond slot 6, the game will attempt to verify the checksum of the Pokémon in what appears to be an anti-cheating mechanism. If it is found to be invalid, the game will corrupt it by setting bit 0 at offset 0x13, bit 1 at offset 0x13, and bit 6 at offset 0x07 from the 'Miscellaneous' data substructure). |
||
Since the data for Pokémon beyond slot 6 corresponds with unrelated variables, it is possible (listed in the aforementioned [[ |
Since the data for Pokémon beyond slot 6 corresponds with unrelated variables, it is possible (listed in the aforementioned [[Pomeg corruption glitch#Exploits|exploits]] section) to corrupt data in a limited number of ways which include: |
||
#An addition of +5 (hex:05) (bit 0 and bit 2 set). |
#An addition of +5 (hex:05) (bit 0 and bit 2 set). |
||
#An addition of +64 (hex:40) (bit 6 set). |
#An addition of +64 (hex:40) (bit 6 set). |
||
The variables which are corrupted during scrolling are random due to a mechanism known as [[DMA]]. DMA shifts the location of a memory address to one of 64 locations each time the player performs an action such as opening the Pokémon menu outside of battle, or entering battle. This is the reason why it can take many attempts for a successful |
The variables which are corrupted during scrolling are random due to a mechanism known as [[DMA]]. DMA shifts the location of a memory address to one of 64 locations each time the player performs an action such as opening the Pokémon menu outside of battle, or entering battle. This is the reason why it can take many attempts for a successful Pomeg corruption glitch corruption. |
||
===Pokémon Storage System corruption=== |
===Pokémon Storage System corruption=== |
||
When |
When Pomeg corruption glitch touches a Pokémon's data, it will become a Bad Egg if its calculated checksum and stored checksum do not match. |
||
However, sometimes{{clarify}} it is possible for |
However, sometimes{{clarify}} it is possible for Pomeg corruption glitch to alter a Pokémon's personality value without the Pokémon becoming a Bad Egg. |
||
For example, the in-game trade Horsea named "SEASOR" has an initial personality value of 0x0000007F (substructure: AGME) ; and the in-game trade Seedot named "DOTS" has an initial personality value of 0x00000084 (substructure: EGAM). When the glitch sets bit 6 of its upper personality byte, the personality values become 0x4000007F (substructure: MEAG) and 0x4000084 (substructure: GMAE) respectively. |
For example, the in-game trade Horsea named "SEASOR" has an initial personality value of 0x0000007F (substructure: AGME) ; and the in-game trade Seedot named "DOTS" has an initial personality value of 0x00000084 (substructure: EGAM). When the glitch sets bit 6 of its upper personality byte, the personality values become 0x4000007F (substructure: MEAG) and 0x4000084 (substructure: GMAE) respectively. |
||
Line 307: | Line 307: | ||
==Removing unwanted Eggs and Bad Eggs== |
==Removing unwanted Eggs and Bad Eggs== |
||
After filling the Pokémon Storage System with Eggs and Bad Eggs, any unwanted Eggs and Bad Eggs created from |
After filling the Pokémon Storage System with Eggs and Bad Eggs, any unwanted Eggs and Bad Eggs created from Pomeg corruption glitch can easily be removed with the [[Battle Tower inverse cloning glitch (Emerald)|Battle Tower inverse cloning glitch]] or [[Decamark specific glitches#fast inverse cloning glitch|fast inverse cloning]]. |
||
==External links== |
==External links== |
||
*[http://forums.glitchcity.info/index.php?topic=6868.0 Thread on Glitch City Laboratories forums]. |
*[http://forums.glitchcity.info/index.php?topic=6868.0 Thread on Glitch City Laboratories forums]. |
||
Line 313: | Line 313: | ||
Voltage first discovered the sub-glitch to send out a Decamark in early 2011. |
Voltage first discovered the sub-glitch to send out a Decamark in early 2011. |
||
On April 9, 2014 |
On April 9, 2014 luckytyphlosion discovered that the glitch could be used to create both Bad Eggs and hatchable Eggs. |
||
In May 2014, Sanqui, TheZZAZZGlitch and werster analyzed the glitch, discovered its mechanics and how it can be used to hatch any Pokémon in the game. |
In May 2014, Sanqui, TheZZAZZGlitch and werster analyzed the glitch, discovered its mechanics and how it can be used to hatch any Pokémon in the game. |