Main Menu
Main Page
Recent changes
Random page


Major Glitches
Trainer escape glitch
Old man trick
Celebi Egg trick
Select glitches (Japan)
SRAM glitch
CoolTrainer♀ corruption
LOL glitch
Rival LOL glitch
Super Glitch
ZZAZZ glitch
Pomeg data corruption glitch (Glitzer Popping)
Elite Four door glitch (Japan)
Pokémon merge glitch
Pokémon cloning
Time Capsule exploit
Arbitrary code execution
Coin Case glitches

Other Glitch Categories
Glitches by generation
Glitches between two generations
Japan-only/language specific glitches
Music glitches
Natural glitches
Non-core series glitches
Non-Pokémon glitches
Officially acknowledged glitches
Recurring glitches
Dead glitches

Pokémon GameShark codes
The Big HEX List
Glitch Pokémon cries
GB programming
Debugging features
Easter eggs
Error traps
Glitch areas
Glitch myths
Non-glitch exploits
Placeholder texts
Pokémon glitch terminology
Unused content and prerelease information

Useful Tools
8F Helper
GBz80 to Items
Old man trick name generator
PATH (Prama's Advanced Tweaking Heaven)
Save file editors
Special stat/Pokémon converter
Trainer escape Trainer Pokémon finder

Legendary Star Blob 2 (Hakuda)
Pokémon Speedruns wiki
PRAMA Initiative
Become an affiliate!

Site Source Code

Search Wiki


Search Forums


Recent Posts

Pages: [1] 2 3 ... 10
Thanks for your work!

I just want to mention that an alternative and shorter way to get the Safari zone skip is to directly teleport into the void of the Great Marsh building.
This can be done by tweaking into this house:

You can just use a top/bottom displacement with a 2, 1, 3, 1, 3 fast bike tweak here:

Then from behind the door:
1 S
4 E
72 N
Refresh + Save Reset (in Veilstone City)
1 N
1 S
Refresh + Save Reset (in Pastoria City)
~70 S

(You can also bypass the Sunyshore City power cut message box using the same tweak (or just by doing 3, 1, 2, 4, 3, 4 with running shoes as this will allow you to walk under the NPC) and continue the game without having to fight Team Galactic.)
That's very interesting! Thanks Crystal_ for the work, and ISSOtm for the report.

It's cool to see that we can still learn about yet another quirk that only gets discovered 20 years after the game gets released  :P
Crystal_ found the reason. Here's a quick summary :

  • When FIGHT is selected, the game parses all four PP slots, and if they are all zero, uses Struggle.
    Normally, an empty move's PP slot is zero, but we will see that there can be an edge case...
  • The active Pokémon is copied to a region of memory (so the game can use this instead having to constantly modify party data). For things such as HP, status, and PP, the game needs to also update the party data.
  • There is one exception to this : when a Pokémon is under Transform, the party data must not be updated. For example, PP is not subtracted from the party data.
  • When Mirror Move (or Metronome) is used, the game will decrement the PP of Mirror Move twice (once when it's actually used, and once when the move it represents is used). Thus, the game increments the PP of Mirror Move once, to compensate.
All of these make sense -- it's how the game works. But here's the catch : the "PP increment" function doesn't check for the Transformed status !

Here's how to trigger the glitch :
- Have any Pokémon with Transform (typically Ditto, but also Mew, or a Pokémon with Metronome)
- Face against a Pokémon knowing Mirror Move or Metronome

  • Transform into the Pokémon with Mirror Move;
  • Use the move;
  • The game will decrement Mirror Move's PP (but it won't because Transform);
  • (If the move fails, nothing else happens);
  • The game will increment Mirror Move's PP (thus, it will increment the PP in the corresponding slot);
  • The game will decrement Mirror Move's PP (but it won't because Transform)
Thus, the game increments a move's PP in the Pokémon's data. If the move is present, then it will just have incremented it, no biggie.

If it's not, this creates a slot that is empty, but with non-zero PP ! Thus, the game fails to use Struggle.


Disable first checks if there is a slot with non-zero PP, and if this fails, misses. With a Struggle-less Pokémon, this will always succeed, because of the glitched slot.
Then, Disable will attempt to pick a slot which must have a move AND non-zero PP. Assuming Transform has 0 PP, the game will never find such a slot (since the only slot with non-zero PP has no move).
Bam, infinite loop, and softlock.
General Discussion / Re: The Glitchy Thread of Topiclessness (#3)
« Last post by Mefista on Today at 03:59:49 am »
I am using it to play for fun :p After all, it's my first and only phone. More serious emulation things are done on computer, of course (which is also old and runs WinXP).
Probably nope.

The game crashes when using TM23 because the carry flag isn't set, so the game jumps to an unrelated area of memory at $03:42e0. In N3DSVC, invalid ops are seemingly ignored, so the game just hits a "ret nc", and since the carry flag not being set caused it to jump there in the first place, that's likely where it will return.

Regardless, this just changes a few registers, attempts a write to ROM at $7109 (obviously does nothing), and returns
Just posting this here in case it does have an effect.

Wrong pocket TM23 executes 03:01FE. Outside of Nintendo 3DS Virtual Console, it results in an unknown opcode freezing the game. But within Nintendo 3DS Virtual Console the game doesn't freeze and returns back to the game with seemingly no problems.

Does anyone know if this glitch item has a use?
Generation I Glitch Discussion / Re: ‘Ditto can’t use Struggle’ glitch
« Last post by commy2 on Yesterday at 04:07:30 am »
Hello :~)

Full disclaimer: I have no idea either, but these are my observations.

A hidden PP stat for Struggle seems unlikely as the move is selected automatically if the PP for all four moves are zero. There is no additional PP check to anyone's knowledge and surely the Youtuber would've run into it long before unless the maximum of that hidden PP is somehow way larger than 63 or 255.

Maybe the PP of move 2 - 4 got increased by some PP underflow glitch? Then the game would detect some PP being left in those slots when opening the movelist menu, but the player would be unable to select those moves.
The PokéCenter may only reset the PP up to encountering the first - (unoccupied) move. Maybe other healing methods (Mom/Silph CO. Bed/Lavender White Magic) could solve this?

The Youtuber would probably have remembered if he used select to switch the move order while transformed (which can glitch out the moveset of the Ditto or Mew by permanently moving glitch moves to the first position).

It's strange that this happened twice in the same area, so maybe it has to do with some Trainer's Pokémon moveset?
Ditto could use Struggle at Lv 53, but no longer at Lv  54/55, so maybe it learns a glitch move?

Random thoughts: those Jugglers are the first time the player encounters trainers that switch out their Pokémon. There're also Mirror Move Spearow and Fearow in the wild where he grinded EXP.

Disable softlocking the game is also interesting, but that might happen regardless if the PP for all moves are zero.
General Discussion / Re: The Glitchy Thread of Topiclessness (#3)
« Last post by Parzival on February 17, 2018, 10:44:26 pm »
...You're SERIOUSLY using a flip-phone for GB emulation? You got a... TI-8x calculator over there? A Raspberry Pi? A washing machine microcontroller, even? I'm... gonna go sit down.
General Discussion / Re: The Glitchy Thread of Topiclessness (#3)
« Last post by Mefista on February 17, 2018, 08:58:02 pm »
And that's why I am stuck with Meboy and Meboy-F here)
Pages: [1] 2 3 ... 10