Jump to content

Pomeg data corruption glitch: Difference between revisions

m
Removed the outdated warning
>Torchickens
m (Removed the outdated warning)
 
(40 intermediate revisions by 6 users not shown)
Line 1:
{{Major glitches}}
{{Factcheck}}
{{incomplete}}
{{bulbapedia2|Glitzer Popping}}
{{PRAMA|pomeg-glitch-intro}}
[[File:Jirachi Egg.png|frame|right|Jirachi hatching from an Egg obtained from Pomeg corruption glitch.]]
[[File:Jirachi Egg.png|frame|right|Jirachi hatching from an Egg obtained from Pomeg data corruption glitch.]]'''Pomeg data 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.
 
The name Glitzer Popping 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.
Line 31 ⟶ 30:
'''Pokémon FireRed/LeafGreen''':
 
The initial steps for Pomeg data 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==
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 Pomeg data corruption glitch is as such:
 
{|
{| align=top style="background: grey; -moz-border-radius: 0.5em; border: 5px solid #000000; color: grey"
|-
|
{| class="wikitable sortable"
{| border=1 width="100%" align=left class="sortable" style="background:#f0f0f0; border:1px solid #000000; border-collapse:collapse;"
|-style="background: silver;"
! Address area !! Data !! Pokémon/Scrolling time
|-
Line 70 ⟶ 67:
 
===Pokémon Storage Box corruption===
Pomeg data 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====
Line 81 ⟶ 78:
====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 allows a player to perform both Pomeg Glitch and Pomeg data corruption glitch without needing Pomeg Berries.
 
{{youtube|QB67-pKKY3Q|Metarkrai M}}
 
====Hatch any Pokémon====
This is a popular exploit of Pomeg data 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.
 
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 [[:#Pokémon Storage System corruption|section about the mechanics of Pokémon Storage System corruption]] below.
Line 105 ⟶ 100:
 
{|
{| align=top style="background: grey; -moz-border-radius: 0.5em; border: 5px solid #000000; color: grey"
|-
|
{| class="wikitable sortable"
{| border=1 width="100%" align=left class="sortable" style="background:#f0f0f0; border:1px solid #000000; border-collapse:collapse;"
|-style="background: silver;"
! Species !! ID (hexadecimal) !! ID (decimal) !! EVs required
|-
Line 129 ⟶ 122:
 
{|
{| align=top style="background: grey; -moz-border-radius: 0.5em; border: 5px solid #000000; color: grey"
|-
|
{| class="wikitable sortable"
{| border=1 width="100%" align=left class="sortable" style="background:#f0f0f0; border:1px solid #000000; border-collapse:collapse;"
|-style="background: silver;"
! Species !! ID (hexadecimal) !! ID (decimal) !! Move required
|-
Line 147 ⟶ 138:
 
{{youtube|YTe4vu_gZU0|froggy0025}}
 
=====Corruption initiators (increasing success chance)=====
 
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 "[httphttps://forumsarchives.glitchcity.info/index.php?topic=forums/board-109/thread-6868/page-28.msg198505html#msg198505 Caterpie the perfect initiator]" next to SEASOR knowing Waterfall, Protect, Surf, Return (US)/no move (FR).
 
Another good corruption initiator is the in-game trade Plusle untouched but with all moves but Growl removed. This is a useful corruption initiator that is easy to get (if the player hasn't obtained the Plusle already). It is ideal for obtaining wrong Pokémon Eggs or double corruption, and is much quicker to get than the Caterpie.
 
====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 [[:#hatch any Pokémon|hatch any Pokémon]] with SEASOR (in-game trade Horsea), DOTS (in-game trade Seedot), PLUSES (in-game trade Plusle), or any other Pokémon with a beneficial [[corruption type]] with a specific attribute until the Pokémon turns into a regular Egg that is either a different Pokémon to the original or remains as the original.
 
The attribute to choose will depend on the Pokémon's personality value, which is constant for in-game trade Pokémon, as well as how substructure data will change after bit 6 is set on the upper bytes of the PID and TID. For SEASOR and DOTS it is the Attack and HP EVs that determine the Pokémon, while for PLUSES the Pokémon is determined by move 1's ID (but PLUSES is useful for obtaining moves and glitch moves, where the Attack and HP EVs determine the move of the Pokémon to be double corrupted provided it has at least 1 HP EV).
Line 157 ⟶ 154:
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.
 
Double corruption may be used as a method of obtaining [[glitch Pokémon]] which would otherwise freeze the game upon hatching. It can also be used to obtain Pokémon holding an item chosen by the player, including unobtainable items (i.e. this can be manipulated from in-game trade Seedot's Speed and Defense EVs). All the data rewritten when an Egg hatches (EVs, Contests stats, Exp, Ribbons,...) can also be kept.
 
====Pokémon News Reporter corruption====
Line 168 ⟶ 165:
 
{|
{| align=top style="background: grey; -moz-border-radius: 0.5em; border: 5px solid #000000; color: grey"
|-
|
{| class="wikitable sortable"
{| border=1 width="100%" align=left class="sortable" style="background:#f0f0f0; border:1px solid #000000; border-collapse:collapse;"
|-style="background: silver;"
! Decamark ID !! Requirements for Evs>species corruption !! Length of name !! Possible NPCs
|-
Line 190 ⟶ 185:
{{youtube|HkKAmpz7_SY|ChickasaurusGL}}
=====Instant Pomeg glitch=====
Instant Pomeg glitch is a useful trick which allows the player to perform Pomeg data 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.
Line 196 ⟶ 191:
 
====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 Pomeg data 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:
Line 221 ⟶ 216:
 
===Switch cloning===
A method of [[Pokémon cloning]] with the access Pokémon beyond slot six glitch was discovered by Luckytyphlosionluckytyphlosion 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===
Line 227 ⟶ 222:
 
===NPC corruptions===
Pomeg data 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====
If the player performs Pomeg data 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.
 
[httphttps://forumsarchives.glitchcity.info/index.php?topic=forums/board-109/thread-6868/page-27.msg196959html#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.
 
The same NPC may be used to trigger a 'super corruption glitch' in which the player's Pokémon, name, items, Pokédex data, play time and gender according to the save box is corrupted and saving may break the save, causing a black screen upon loading.
 
It is also [httphttps://forumsarchives.glitchcity.info/index.php?topic=forums/board-109/thread-6868/page-25.msg196791html#msg196791 possible] to bring up the Game Corner slots with a script corruption.
 
{{youtube|QaPs2KZ7F70|ChickasaurusGL}}
Line 241 ⟶ 236:
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====
Pomeg data 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===
Pomeg data 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===
Pomeg data 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 data corruption glitch#hatch any Pokémon|hatch any Pokémon trick]].
====Evergrande City Fly flag====
Pomeg data 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====
Pomeg data 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}}
====Faraway Island and Birth Island====
{{main|Access Faraway Island and 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 Pomeg data 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 orand Birth Island. MoreA informationvideo (inexplaining French)how to do this glitch may be found below and more information can also be found in [httphttps://pastebin.com/8N9sGwpbCuenpvCL this herePastebin].
{{main|Access Birth Island glitch}}.
{{YouTube|v375qQ_9ddE|ChickasaurusGL}}
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===
Pomeg data 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=====
Rarely after [[Pomeg data 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.
Line 270 ⟶ 265:
===Secret Base decoration corruption===
''See also: [[glitch decoration]]''.<br>
Pomeg data 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===
Pomeg data corruption glitch ultimately allows for [[arbitrary code execution]] if the player has favourable DMA.
 
It can be abused in two known ways:
 
Some methods require favourable DMA, such as:
1. By viewing the summary of Decamark 0x097D with a specific nickname Pokémon from the bottom-right corner of box 3 after saving twice. This trick may not work with certain save files.{{why?}} (See video; below)
 
1. By viewing the summary of Decamark 0x097D with a specific nickname Pokémon from the bottom-right corner of box 3 after saving twice. This trick may not work with certain save files; saving repeatedly affects the memory but never lands the correct allocations.{{why?}} (See video; below)
 
{{Youtube|m9pvNYdhldo|TheZZAZZGlitch}}
 
2. With glitch move 0x27A2's animation and a specific stored item bootstrap code, which could theoretically be obtained with [[Pomeg data corruption glitch#double corruption|double corruption]]. (See video; below)
 
{{Youtube|1pb-6hMDQBs|TheZZAZZGlitch}}
 
If a [[nop slide]] is involved (such as from Decamark animations, where the program counter (code execution) lands in an empty space of the box), this can work around the DMA problem.
 
A much more convenient method is Merrp's 0x0611 ACE, where code is executed by seeing 0x0611's animation (either by hatching its egg or seeing it in a contest) while having specific box names to be run as code.
 
{{Youtube|-fejhZkU8X0|ChickasaurusGL}}
 
In Pokémon Ruby and Sapphire, memory shifting does not occur in contexts of the party or Pokémon Storage System. Hence, ChickasaurusGL's ([[User:Evie (Torchickens)|Evie]]'s) glitch move $0F4A method can be used to run a battle command (the battle command code execution exploit in general was previously documented by TheZZAZZGlitch) at 02038208, which will read the same location in the middle of box 14, slot 25 (the right Pokémon can be traded from Pokémon Emerald){{clarify}}, so that they 'translate' to commands such as 1F ED A0 0B 08 00 08 (which will run the unused sound test in English Pokémon Ruby v1.0). The method of activating the glitch move without fail or a freeze currently requires a Pokémon (usually Smeargle) with Assist, Spore and Lock-On but it may be possible though unverified to use more than one Pokémon if the opposing Pokémon was previously sleeping, if there is a means to address the move's accuracy problem.
 
==Mechanics==
Line 292 ⟶ 296:
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 [[Pomeg data 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 +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 Pomeg data corruption glitch corruption.
 
===Pokémon Storage System corruption===
When Pomeg data 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 Pomeg data 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.
Line 311 ⟶ 315:
 
==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 Pomeg data 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==
*[httphttps://forums.glitchcity.info/index.php?topic=6868.0 Thread on Glitch City Laboratories forums].
==Credits==
Voltage first discovered the sub-glitch to send out a Decamark in early 2011.
 
On April 9, 2014 Luckytyphlosionluckytyphlosion 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.
4

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.