Arbitrary learnset/evolution glitch Pokémon: Difference between revisions

From Glitch City Wiki
Jump to navigation Jump to search
Content added Content deleted
No edit summary
Line 42: Line 42:
Another theoretical option using an 0xF9 evolution may be to abuse one of the rare glitches that corrupt VRAM to get the desired sub-tile, specifically the NPC sprites where sub-tile data for some glitch blocks are sourced (this is also the reason why they can alternate between a sub-tile and 9; due to VRAM inaccessibility).
Another theoretical option using an 0xF9 evolution may be to abuse one of the rare glitches that corrupt VRAM to get the desired sub-tile, specifically the NPC sprites where sub-tile data for some glitch blocks are sourced (this is also the reason why they can alternate between a sub-tile and 9; due to VRAM inaccessibility).


Another, now materialised method is to use the [[box breaker glitch]] to corrupt D52C-D52D (tile block definition pointer) to somewhere in RAM, such as inventory (where the first blocks' sub-tiles can be defined to portray an evolution entry or learnset entry; via the total experience of Pokémon 8 and switching to box 115 (0x73). A glitch box exactly like this has not been found in Yellow.
Another, now materialised method for 0xF9 is to use the [[box breaker glitch]] to corrupt D52C-D52D (tile block definition pointer) to somewhere in RAM, such as inventory (where the first blocks' sub-tiles can be defined to portray an evolution entry or learnset entry; via the total experience of Pokémon 8 and switching to box 115 (0x73). A glitch box exactly like this has not been found in Yellow.


{{YouTube|BHUsSYrAL5s|ChickasaurusGL}}
{{YouTube|BHUsSYrAL5s|ChickasaurusGL}}

Revision as of 21:56, 26 April 2021

An arbitrary learnset/evolution glitch Pokémon is a glitch Pokémon in Pokémon Red, Blue, and Yellow which takes its level-up learnset and evolution data from a non-ROM location in the Game Boy bus, such as VRAM, WRAM or SRAM.

This means that technically the glitch Pokémon's evolution and/or learnset can be manipulated, although in practise it can still be difficult (if the source data always changes to the same values for a method of levelling up the glitch Pokémon).

Arbitrary learnset glitch Pokémon were originally documented by Crystal_ and researched further by Torchickens (ChickasaurusGL), later both ChainSwordCS and ChickasaurusGL.

List of arbitrary learnset glitch Pokémon

Red/Blue

Beginning of pointer table=$3B05C

Yellow

Beginning of pointer table= $3B1E5

Evolving a Pokémon into Mew

Both 94 h (0xF9) and ₽ (0xF9) are capable of evolving into Mew, if the player saves and resets the game in this spot in Pokémon Mansion, below and then uses a Rare Candy to level up the glitch Pokémon.

This works because "01 01 15" (corresponding to two floor tiles and part of a tree) is taken from the data in that region, telling the game to make the glitch Pokémon evolve into Mew at level 1. However, there is a significant chance that an evolution to the correct Pokémon (Mew) will not work due to VRAM inaccessibility, if not, the player can keep trying again until the glitch works.

These glitch Pokémon can be obtained with multiple glitches, such as Rival LOL glitch.


YouTube video about A (EA)'s learnset

YouTube video by Crystal


Other evolutions

More evolutions are possible with a RAM Glitch City, although it depends on the available sub-tiles supported by the map block. Like the above example, the bottom-left corner of the screen after loading the save file should start with a sub-tile 01, followed by (level) (species ID). One use of this is to hybridise a Pokémon knowing Surf with 0xF9 (i.e. using the Pokémon merge glitch), and then evolve it into Pikachu to get a stable Pikachu knowing Surf compatible with the Pikachu's Beach minigame, provided that the OT/ID on the resulting Pokémon matches the player.

While it is possible not all map blocks give the indices, the player can instead use arbitrary code execution to write to VRAM directly, although this may defeat the point for some, as arbitrary code execution can directly be used to teach any move to any Pokémon.

Another theoretical option using an 0xF9 evolution may be to abuse one of the rare glitches that corrupt VRAM to get the desired sub-tile, specifically the NPC sprites where sub-tile data for some glitch blocks are sourced (this is also the reason why they can alternate between a sub-tile and 9; due to VRAM inaccessibility).

Another, now materialised method for 0xF9 is to use the box breaker glitch to corrupt D52C-D52D (tile block definition pointer) to somewhere in RAM, such as inventory (where the first blocks' sub-tiles can be defined to portray an evolution entry or learnset entry; via the total experience of Pokémon 8 and switching to box 115 (0x73). A glitch box exactly like this has not been found in Yellow.

YouTube video by ChickasaurusGL


Learn any moves

This can be done with either the method below (if name characters are unavailable, they will have to be obtained with another glitch), or the video by ChickasaurusGL previously embedded above.

YouTube video by ChainSwordCS


External links

This article or section is a stub. You can help Glitch City Wiki by expanding it.