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 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).
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 the Pokémon 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.
The "Guess Who?" glitch allows the player to play as random NPCs after speaking to the news reporter with a specific Decamark in the first position of the party and stepping out of Slateport City's Pokémon Fan Club.
This is a table of "Guess Who?" Decamarks applicable for the glitch.
| Decamark ID
|| Requirements for Evs>species corruption
|| Length of name
|| Possible NPCs
|| Attack EV=20, HP EV=96
|| Random e.g. woman, dolls, fat guy, twin, Sidney, Scientist, Kyogre, Lugia, Red.
|| Attack EV=20, HP EV=100
|| Attack EV=20, HP EV=108
|| Attack EV=20, HP EV=109
|| Diving. Bicycle sprites include the Mendel Palace sumo.
|| Attack EV=20, HP EV=110
|| Woman, Bicycle: Cushions.
|| Attack EV=20, HP EV=111
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.
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:
- The text after the down arrow in the Pokémon's name is hidden.
- The down arrow is surrounded by the background in the party menu.
- Sending out a Pokémon with a new line character in its name causes a red screen with "--" in it. Additionally, "H" and blue down arrows can be seen in the text box area. The fight box menu will be changed to a "-" surrounded by red.
- Selecting the Pokémon or viewing its summary from another Pokémon causes the arrow's moving down animation to play once.
- The new line arrow forces you to press A in battle to see the rest of the name.
- The appearance of the arrow is different.
- Corruption of the appearance of the items menu.
- The red screen effect does not occur, but the press A to continue effect still occurs
- The Pokémon's name on the party screen is displayed as if there was no arrow.
Bag item duplication
In Emerald, if the player stops the up button scrolling from Cancel after about 17 whole seconds there is a chance that an item in the player's bag will have been duplicated. Sometimes this trick may 'remove' everything in the player's TM and Berry pockets although this effect does not occur every time.
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
Sometimes after viewing the status of a Pokémon in the expanded party it is possible to have the game lockup with the foe becoming a white Decamark. Additionally, the HP bar may become glitched and be filled in beige.
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.
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.
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 possible to bring up the Game Corner slots with a script corruption.
Reboarding the S.S. Anne
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 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.[clarification needed]
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 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.
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.
Faraway Island and Birth Island
- Main article: 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 access to Faraway Island and Birth Island. A video explaining how to do this glitch may be found below and more information can also be found in this Pastebin.
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 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.
Secret Base decoration corruption
See also: glitch decoration.
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:
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)
2. With glitch move 0x27A2's animation and a specific stored item bootstrap code, which could theoretically be obtained with double corruption. (See video; below)
Pokémon Ruby, Sapphire and Pokémon Emerald introduced encryption for Pokémon in the party and storage box system, as well as a four byte value known as the personality value which determines a Pokémon's attributes such as its gender, ability, nature and shininess.
Pokémon have a stored checksum and calculated checksum, and a data substructures split into four sections, referred to as "Growth", "Attack", "EVs & Condition" and "Miscellaneous". The order that the sections appear is determined by a value that is calculated from the Pokémon's personality value modulo 24.
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 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[clarification needed] 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.
This causes data from one substructure to be moved into another, for example; Seasor or Dot's "EVs & Condition" (E) data is moved into "Growth" (G) in which the species ID is stored; meaning that the Pokémon's Attack and HP EVs become the ID of the Pokémon inside of the Egg.
During a double corruption, both the Pokémon's personality value and Trainer ID is corrupted, and this causes the Pokémon to become a valid unhatched species as long as the player doesn't pick it up with the glove when it becomes an Egg.[why?]
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 or fast inverse cloning.
Voltage first discovered the sub-glitch to send out a Decamark in early 2011.
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.
Metarkrai has thoroughly researched the glitch and has published many tricks such as information on methods to enter event islands, obtain obedient Mew and Deoxys and arbitrary code execution.