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 ... 8 9 [10]
Wow! This looks amazing. ^^

Thank you!

I forgot to mention that this is meant to be used with TM exec. Any box name code that unlocks SRAM, switches to bank 1, and jumps to $B002 will do.

Unfortunately i'm a bit busy at the moment and cannot write this box name code right now.

You're welcome.

That's OK.

Remember the TM/HM method where you fill the TM/HM pocket first and then use a Lucky Egg Attract Quagsire? It seems like we can write the code there without the need of any padding. I think this is ideal for writing to SRAM byte by byte as well as you could theoretically adjust one-two quantities each write (start with later addresses and then toss to write to earlier addresses, or something similar).

I forgot exactly how enabling SRAM works, but in the past I used this method to enable SRAM bank 1 for obtaining the GS Ball for Celebi in Crystal (which looking back is now not very useful for Virtual Console users as the same address is enabled after beating the Elite Four). The specific addresses below may not matter, but it still works on Gold/Silver thankfully.

ld a,01   ; 3e 01
ld (4e01),a  ; ea 01 4e change to SRAM bank 1
ld a, 0a ; 3e 01
ld (0d01),a  ; ea 01 0d ;this enables writing to SRAM
ld a, 0b ; 3e 0b
ld (be3c),a  ;enable Celebi GS Ball event

We can ignore the GS Ball Celebi part and instead have a jp B002 (c3 02 b0) there.

I inserted your memory editor and it was a success (I don't know if the ret at the end was needed, but I added it just to be safe).

You have a name for this memory editor or are you all right with me just calling it Epsilon's Generation II memory editor?
Generation II Glitch Discussion / Re: Powerful (but large!) memory editor for G/S
« Last post by Epsilon on February 12, 2018, 01:08:12 pm »
Wow! This looks amazing. ^^

Thank you!

I forgot to mention that this is meant to be used with TM exec. Any box name code that unlocks SRAM, switches to bank 1, and jumps to $B002 will do.

Unfortunately i'm a bit busy at the moment and cannot write this box name code right now.
Wow! This looks amazing. ^^

Thanks Epsilon.

Perhaps hopefully somebody will be able to shorten it for use on WRAM.

I'll try to showcase this in a YouTube video tomorrow.
Generation II Glitch Discussion / Powerful (but large!) memory editor for G/S
« Last post by Epsilon on February 12, 2018, 12:46:11 pm »
It's a lot larger than I was hoping/anticipating, but here it is anyway! It is, admittedly, a bit of a pain to setup if you are not on emulator.
Code: [Select]
f3 11 bc da af e0 26 4f 3c e0 d6 21 bb c3 d5 06
0b c5 7a cd 38 db 7b cd 38 db 3e 25 22 1a cd 38
db 13 01 0d 00 09 c1 05 20 e7 21 bf c3 79 a7 28
07 57 af c6 14 15 20 fb 16 00 5f 19 36 ed cd 4d
db d1 f0 a5 47 cb 47 c4 90 db 78 cb 77 28 08 79
a7 28 03 0d 18 01 1b 78 cb 7f 28 09 79 fe 0a 28
03 0c 18 01 13 78 cb 4f 28 05 af 3d e0 26 d9 78
cb 67 28 06 21 10 00 19 54 5d 78 cb 6f 28 06 21
f0 ff 19 54 5d 78 cb 57 28 0d af e0 d6 3d e0 26
fb 62 6b 06 00 09 e9 78 cb 5f c4 5a db c3 a3 da
c5 0e 02 47 cb 37 e6 0f c6 f6 30 02 c6 80 22 78
0d 20 f3 c1 c9 e5 c5 d5 cd bb 14 cd e6 08 d1 c1
e1 c9 c5 e5 3e 0e ea ab ce af e0 da fb 21 c0 7e
3e 38 cf f3 0e 01 21 34 d9 cd 88 db cb 37 47 cd
88 db b0 47 0d 20 03 50 18 ef 58 e1 c1 af 4f c9
2a d6 f6 30 02 d6 80 c9 d5 af 47 c5 3e ec 22 e5
62 6b 09 54 5d e1 1a 4f cd 4d db f0 a5 47 cb 6f
28 01 0d cb 67 28 01 0c cb 7f 28 04 79 d6 10 4f
78 cb 77 28 04 79 c6 10 4f 78 cb 4f 20 08 79 e5
cd 38 db e1 18 d2 79 12 c1 d1 c9

This is meant to be written to $DA98

A - Enter write mode
Up - Scroll cursor up
Down - Scroll cursor down
Select - Jump to address
Start - Address Lookup (more on that later)
B - Exit memory editor

Write Mode

Up - Increment upper nybble
Down - Decrement upper nybble
Left - Increment lower nybble
Right - Decrement lower nybble
B - Write byte, exit write mode

Address lookup is a feature I added that eliminates the need for scrolling through the memory editor. Simply press start, type in the address you want to go to, and the memory editor will place the cursor on the address.

Disadvantages & Notes:

- Using the Address Lookup feature writes to Box 14's name
- Unlike TheZZAZZglitch's R/B memory editor, this performs writes after the player presses "B" to exit out of write mode. Sorry.

I tried to pack as much power into this as I could (with the time I had), but if you feel you can shrink the byte size for more space, I've attached the RGBDS syntax ASM to this post. Feel free to try to optimize it! (To change where this is written, change "BaseAddress")


Edit: Princess Torchic checked, and determined that this payload can fit into $DA98 without conflict. I have rebuilt the source with the new base address. Thanks!

Edit2: Shrank the payload by 8 bytes, and also fixed a bug that occurred when pressing "a" and L/R at the same time

ISSOtm shrank the payload by an impressive 32 bytes, however this optimization unfortunately does not work. If I can fix it, it would be a great byte shave though!
Wiki Discussion / How to work around the loss of session data error
« Last post by Princess Torchic ❤ on February 12, 2018, 11:52:27 am »

Sometimes when you try to upload a file on our wiki, it will say "Sorry! We could not process your edit due to a loss of session data."

There is a simple solution to this. Edit any non-file page to get the error message once. Try to submit the page a second time and it should work.

Then the next time you upload a file it should upload properly.

Note: This has only been tested by me on Chrome. Since I'm a sysop it's possible that it doesn't work for non-sysops. Could anyone without sysop or QC rights test this please? Thanks.

The tileset for Diglett's Cave contains blocks which contain both 0x15 and 0x50 sub-tiles.

Block 0xEF satisfies the 0x15 sub-tile, which can be arranged on a suitable row, perfect for Mew.

Block 0xA1 satisfies the 0x50 sub-tile; containing a glitch tile "ì゙" that is normally never used for this tileset.


In the Pokémon storage system, you will need Pokémon 3 nickname character 6 to be "♂" and Pokémon 6 character 2 to be "b". These are addresses DE20 and DE3D, respectively.

Enter a battle in Diglett's Cave. Again, swap specific items into item 33 and item 34; this time Poké Doll x6 and TM22 (representing pointer DE06), which will warp you to the safe same bank map script-Viridian Forest afterwards.

Flash the Pokédex, open the items menu and scroll the 'empty' Fight menu. Throw a Master Ball and Mew should be yours. Use an Escape Rope to escape the Glitch City.

Testing should be coming shortly.

Edit: It works :). You possibly need to have the first six Pokémon's names mainly be "A" with 5 characters, rather than random letters but the only way to test it may be to look up/extract(?) problematic map blocks with 0x50 in them.

The box names:

The items:

Encounter here:

Swapping the items into slot 34, 35:

Note: Items in expanded pack may vary.

Pokédex flash/items menu flash:

Getting Mew:

Escaping the Glitch City:

Our sweet magical Mew (≧∇≦*):
General Discussion / Re: The dream thread
« Last post by Bert on February 11, 2018, 10:26:43 pm »
Me and a couple of friends had formed a three-person version of the A-Team, and were going up against ruthless arms dealers while trying to avoid both Col. Decker and General Fulbright. We mount an assault on the bad guys' lair and engage them in a shootout that ends after I use a Ruger mini 14 that had been converted into a grenade launcher to blow the place up.

Immediately after we catch the bad guys, Decker and Fulbright show up and detain us. While Fulbright goes to call in an escort vehicle, he tasks Decker with supervising us. However, Decker falls asleep (which seems more like something Col. Lynch would do), allowing us to hijack a jeep and escape capture.

My face upon waking up:
(Edit: I overlooked that you can stabilize the glitch Pokémon from Pokémon Bank hex:FF glitch into a 3TrainerPoké, so rather this is a way to get 3TrainerPoké with moves specific to it)

This makes use of Yellow 'Pokédex' glitch item move 0x00 corruption. While technically possible with expanded party encounter table manipulation (a glitch I put together mainly just for the purpose of finding 3TrainerPoké in the wild), it is easier and less complicated.

If you're like me (and Abwayax if I remember correctly) 3TrainerPoké is one of my favourite glitch Pokémon and it's a bit of a shame it could only be obtained without trading with arbitrary code execution.

Do note this glitch may suffer the same issues as Red/Blue move 0x00, where eventually due to how its internal name is found (0x50 bytes into RAM) the glitch may stop working with no definite way to fix it other than maybe adjusting the 0x50 bytes in memory.

Getting 3TrainerPoké is normally not possible with Rival LOL glitch because 0x00 double serves as a control character there.

Initial requirements:

You will need a Pokémon with move 0x00 as move 1.

This is possible without arbitrary code execution with one of at least three glitches:

1. Level up a glitch Pokémon (refer to In order for it to learn move 0x00 as move 1, it must already have four moves.

One of these glitch Pokémon (♀ . (C1)) learns it at Level 16 and Level 22. Note it does have a solid black glitch screen, so in order to see what's happening on the items and Pokémon menu better you may play the game in Super Game Boy mode (or DMG mode?).

1i) Before you raise it (such as with Rare Candies) it's best to use the items pack in the safe spot to avoid any potential move 0x00 corruption that could freeze the game (and possibly destroy the save file).

2. The Pokémon Bank hex:FF glitch will give you a Q (FF) with no moves. If I remember rightly Struggle can be avoided by giving the glitch move PP. I'm not sure if it has since been patched however.

3. Trade a Ditto from the swapping Transform moves glitch from Red/Blue to Yellow (as this glitch does not work in Yellow).

4. Byte shift glitches (unconfirmed, I tried the large storage box data shift glitch but there was an issue; possibly problematic experience points?)

5. Expanded party from Super Glitch or the SRAM glitch at the beginning of the game (unconfirmed but should be possible)

You will also need to have set up the expanded items pack and obtained the Pokédex (hex:09) glitch item.


1. Prepare a box with at least 17 Pokémon. Pokémon slot 16 must be 0x91 (Marowak), because 0x91 is an 'empty' map building block in the TileBlockDex. Pokémon slot 17 must be Magmar (0x33), which is not normally available but can be obtained with Trainer escape glitch or Rival LOL glitch (you will need to have obtained the expanded items pack for the Pokédex glitch item by this point).

2. Prepare Rare Candy x127 and TM18 (this will spell out your map pointer as DA7F).

3. Get a wild Pokémon encounter here (you may need to open up the Pokémon menu here too):

4. Open the items pack and swap the Rare Candy x127 into item 33 and TM18 into item 34. It's easiest to do item 34 first because you can press Select on item 33 on the way back up and save a bit of time/navigate the menu better. Item 34 should initially be a HM04, so if you spot one you've probably found it.

5. Open the Pokédex and close it. The battle should now look something like this. Depending on your Pokémon count and the Pokémon up to slot 17/18, as well as data after those addresses the screen will look different. However the essential part is in the rectangle in the image below. If it doesn't have those tiles in that position (from BGB coordinates x=01, y=06; note greater y values are further down here), something must have gone wrong.

6. Open the items menu again (really important) and keep scrolling the Fight menu until (possibly) the music fades out. Exit the fight menu (but don't run away) and throw a Master Ball.

Congratulations! 3TrainerPoké is yours. :)

Escaping the Glitch City:

After the battle finishes, we will be placed in a Professor Oak's Lab Glitch City.

Using the expanded items pack however, we can change the map type to allow us to Fly away.

All you need to do is access item 37 and then swap it with any item x0, with a Pokémon with Fly already prepared.
Generation II Glitch Discussion / Gold/Silver Unused Entei Script
« Last post by jo12100 on February 11, 2018, 01:26:11 pm »
I read the mention of an unused Entei script here and I try since 2 weeks to activate it but I didn't find for the moment that unused script in the database

Can anyone help me please?
General Discussion / Re: The Glitchy Thread of Topiclessness (#3)
« Last post by ISSOtm on February 11, 2018, 02:55:28 am »
Oh, cool, another story ! I liked Meganium Man quite a lot.
Also, no clue about your question.
Pages: 1 ... 8 9 [10]