Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Generation III Glitch Discussion

Gen III: Access Pokémon beyond the sixth slot sub-glitches. - Page 10

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: Torchickens
Date: 2014-04-24 04:12:59
Thanks TSK.

I thought it'd be a good to mention; I've been using A-Save to get a better idea of which Pokémon were corrupted. A-Save wrongly recognizes some Pokémon as not being Bad EGGs, but for them, you can see their entire moveset, taking guess work away (that's unless the program wrongly calls a glitch move '-').

Those Pokémon that actually show up as "Bad EGG" may have glitch moves, but you can't use A-Save to view their moves. I also got a freeze on A-Save at one point when viewing a Pokémon, so keep that in mind that something about the Pokémon may cause it to freeze.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: pigdevil2010
Date: 2014-04-24 10:38:04

Simply messing with the personality value can turn a Pokémon into a Bad EGG. This article is written as if it must be the 48 byte 'data' section that should have a correct checksum (computed by adding all of the unencrypted values of that section one word at a time), but why would changing the personality value that is outside of that data section matter?

Because personality value is a part of 48-bytes data decryption key. If you change it. The decrypted data will be  inaccurate and not matched the checksum.

The decryption process can be explained by this pseudo code (personality value, OT ID and secret OT ID are little endian) :

i = 0
s = (secret_ot_id left shift 16 bits) and 0xffff0000
key = personality_value xor (ot_id + s)
repeat
    t = readIntLE() // reads 4 bytes and stores in 32-bit integer in little endian order
    r = t xor key
    data[i * 4] = r and 0xff
    data[i * 4 + 1] = (r right shift 8 bits) and 0xff
    data[i * 4 + 2] = (r right shift 16 bits) and 0xff
    data[i * 4 + 3] = (r right shift 24 bits) and 0xff
    i = i + 1
until i = 12


Anyways, even though I change the bad egg's checksum to match what it should, the game still interpreted as a bad egg.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: Stackout
Date: 2014-04-24 13:13:28
So I played around with my Ruby cart a few minutes ago. The one where I messed with cheats ages ago, so it has no Pokémon but can access the blank party, enabling me to access Pokémon beyond the sixth slot.

First thing I tried was scrolling up, after about 26 or so Pokémon a freeze happened.

Next thing I tried was switching: amazingly, it worked, and I put a bad egg in the front of my party (and when I B'd out of the party menu and went back in again, freeze..)

So I tried switching again. With a Bad Egg in the front of my party I got Torchic. This enabled me to have Torchic, and the Bad Egg too. Too bad that accessing the summary of that Bad Egg resulted in a freeze.

So I tried going into the summary of one of the "blank" Pokémon (everything being 0) at the end, and B'ing out of it. This removed the graphical glitches that happened when scrolling up, and I could scroll up more! So I scrolled up an arbitrary amount of Pokémon and pressed A. Which selected a Pokémon with random, improperly-terminated name (hello, some location in RAM!), and stopped a channel or two of the music. This got me scared as to what would happen when I B'd out of the party, or checked its summary, so I reset, and tried the same thing again, to get another Pokémon with a random name (I believe it was , though I probably got the accent on the A wrong). This time, the music remained fine. Those two were probably just nicknamed Bad Eggs or something..

For what it's worth, the Bad Egg that I switched to the front of the party was asleep.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: Tsukuu
Date: 2014-04-24 13:24:16

So I played around with my Ruby cart a few minutes ago. The one where I messed with cheats ages ago, so it has no Pokémon but can access the blank party, enabling me to access Pokémon beyond the sixth slot.

First thing I tried was scrolling up, after about 26 or so Pokémon a freeze happened.

Next thing I tried was switching: amazingly, it worked, and I put a bad egg in the front of my party (and when I B'd out of the party menu and went back in again, freeze..)

So I tried switching again. With a Bad Egg in the front of my party I got Torchic. This enabled me to have Torchic, and the Bad Egg too. Too bad that accessing the summary of that Bad Egg resulted in a freeze.

So I tried going into the summary of one of the "blank" Pokémon (everything being 0) at the end, and B'ing out of it. This removed the graphical glitches that happened when scrolling up, and I could scroll up more! So I scrolled up an arbitrary amount of Pokémon and pressed A. Which selected a Pokémon with random, improperly-terminated name (hello, some location in RAM!), and stopped a channel or two of the music. This got me scared as to what would happen when I B'd out of the party, or checked its summary, so I reset, and tried the same thing again, to get another Pokémon with a random name (I believe it was , though I probably got the accent on the A wrong). This time, the music remained fine. Those two were probably just nicknamed Bad Eggs or something..

For what it's worth, the Bad Egg that I switched to the front of the party was asleep.


I had done these experiments before, but using a caught #000 decamark though. Unlike in Emerald, they do not vanish in Ruby/Sapphire. Switching Bad Eggs got me several glitch moves with weirder effects. Another time, attempting to save the game gave a different saving error as the adapter wasn't connected or something. But another one was like a ZZAZZ glitch: it gave me a ridiculous long name, switched my character's gender, glitched my trainer card (upon opening it it'd either show Glacia's sprite, or freeze the game, messed up the frame, and other sprite mess-ups: my character becomes an Azurill doll when using the bicycle, and in Petalburg woods my character became the unused Fat Guy sprite.

Although I don't know what bad egg caused it, I do have the savestate with the effects and could share if anyone is curious. Sadly I doubt it'd be possible to do it just with glitching since it's triggered upon moving the bad egg into your party. Unless we manage to make the decamark show up as a selectable in Pokémon, in Ruby.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: TSK
Date: 2014-04-24 13:26:29
I don't know if there are any others here interested in debugging this glitch to figure our its inner working but I'll post my progress here anyway.

I have identified a function that is responsible for part of the corruption. When disabling the writing part of the function the box corruption is greatly reduced but not gone entirely.
This function is located at 0806A6C8. I've have yet to formulate a clue as to what this function is supposed to do though.
A thing to note about this thing is that it seems to only be exectued when executing the glitch and not when regularily using the pokemon menu. Which kinda has me stumped.

Also of note is that the corruption happens while stepping back through RAM. It starts at about 0202A888 and moves back from there.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: Stackout
Date: 2014-04-24 16:37:49

I don't know if there are any others here interested in debugging this glitch to figure our its inner working but I'll post my progress here anyway.


I would be interested in debugging it, but I wouldn't be any help as I don't know arm asm..

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: pokechu22
Date: 2014-04-24 16:42:29

So I played around with my Ruby cart a few minutes ago. The one where I messed with cheats ages ago, so it has no Pokémon but can access the blank party, enabling me to access Pokémon beyond the sixth slot.

First thing I tried was scrolling up, after about 26 or so Pokémon a freeze happened.

Next thing I tried was switching: amazingly, it worked, and I put a bad egg in the front of my party (and when I B'd out of the party menu and went back in again, freeze..)

So I tried switching again. With a Bad Egg in the front of my party I got Torchic. This enabled me to have Torchic, and the Bad Egg too. Too bad that accessing the summary of that Bad Egg resulted in a freeze.

So I tried going into the summary of one of the "blank" Pokémon (everything being 0) at the end, and B'ing out of it. This removed the graphical glitches that happened when scrolling up, and I could scroll up more! So I scrolled up an arbitrary amount of Pokémon and pressed A. Which selected a Pokémon with random, improperly-terminated name (hello, some location in RAM!), and stopped a channel or two of the music. This got me scared as to what would happen when I B'd out of the party, or checked its summary, so I reset, and tried the same thing again, to get another Pokémon with a random name (I believe it was , though I probably got the accent on the A wrong). This time, the music remained fine. Those two were probably just nicknamed Bad Eggs or something..

For what it's worth, the Bad Egg that I switched to the front of the party was asleep.


One thing I found a while ago: One of the major factors of freezes from bad eggs are the MARK attributes.  If you view it in a PC, it will show signs of broken marks.  Changing the marks and pressing OK seems to partially stabilize it. 

Of course, if it has another unstable feature (Bad move/type, ect), the game will still crash. 

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: luckytyphlosion
Date: 2014-04-24 17:05:12
Wonder if it's possible to access beyond the sixth slot in the Overworld using "Invisible Shiny Bad EGGs/Bulbasaurs"


I had done these experiments before, but using a caught #000 decamark though. Unlike in Emerald, they do not vanish in Ruby/Sapphire. Switching Bad Eggs got me several glitch moves with weirder effects. Another time, attempting to save the game gave a different saving error as the adapter wasn't connected or something. But another one was like a ZZAZZ glitch: it gave me a ridiculous long name, switched my character's gender, glitched my trainer card (upon opening it it'd either show Glacia's sprite, or freeze the game, messed up the frame, and other sprite mess-ups: my character becomes an Azurill doll when using the bicycle, and in Petalburg woods my character became the unused Fat Guy sprite.

Although I don't know what bad egg caused it, I do have the savestate with the effects and could share if anyone is curious. Sadly I doubt it'd be possible to do it just with glitching since it's triggered upon moving the bad egg into your party. Unless we manage to make the decamark show up as a selectable in Pokémon, in Ruby.


VaeporSage found a glitch to faint Pokémon in the overworld in Ruby/Sapphire with the tricky use of an Evo stone/Hp Up. From there you can possibly get a #000 Decamark in RS to glitch out the game, unless you can only do this using cheats.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: Tsukuu
Date: 2014-04-24 17:22:52

Wonder if it's possible to access beyond the sixth slot in the Overworld using "Invisible Shiny Bad EGGs/Bulbasaurs"


I had done these experiments before, but using a caught #000 decamark though. Unlike in Emerald, they do not vanish in Ruby/Sapphire. Switching Bad Eggs got me several glitch moves with weirder effects. Another time, attempting to save the game gave a different saving error as the adapter wasn't connected or something. But another one was like a ZZAZZ glitch: it gave me a ridiculous long name, switched my character's gender, glitched my trainer card (upon opening it it'd either show Glacia's sprite, or freeze the game, messed up the frame, and other sprite mess-ups: my character becomes an Azurill doll when using the bicycle, and in Petalburg woods my character became the unused Fat Guy sprite.

Although I don't know what bad egg caused it, I do have the savestate with the effects and could share if anyone is curious. Sadly I doubt it'd be possible to do it just with glitching since it's triggered upon moving the bad egg into your party. Unless we manage to make the decamark show up as a selectable in Pokémon, in Ruby.


VaeporSage found a glitch to faint Pokémon in the overworld in Ruby/Sapphire with the tricky use of an Evo stone/Hp Up. From there you can possibly get a #000 Decamark in RS to glitch out the game, unless you can only do this using cheats.


I fainted all my pokémon using a Gameshark code instead to save time. However I couldn't prevent the 000 decamark from vanishing, not access beyond the 6th pokémon.

It'd be totally possible without cheats if we find a way to access the hidden pokémon in the overworld, which afaik, is only possible with cheat/ROM hack.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: pokechu22
Date: 2014-04-24 17:28:09

I had done these experiments before, but using a caught #000 decamark though. Unlike in Emerald, they do not vanish in Ruby/Sapphire. Switching Bad Eggs got me several glitch moves with weirder effects. Another time, attempting to save the game gave a different saving error as the adapter wasn't connected or something. But another one was like a ZZAZZ glitch: it gave me a ridiculous long name, switched my character's gender, glitched my trainer card (upon opening it it'd either show Glacia's sprite, or freeze the game, messed up the frame, and other sprite mess-ups: my character becomes an Azurill doll when using the bicycle, and in Petalburg woods my character became the unused Fat Guy sprite.

Although I don't know what bad egg caused it, I do have the savestate with the effects and could share if anyone is curious. Sadly I doubt it'd be possible to do it just with glitching since it's triggered upon moving the bad egg into your party. Unless we manage to make the decamark show up as a selectable in Pokémon, in Ruby.


I've done something like that in firered: I messed up my gameshark codes trying to get master balls and ended up corrupting my TM pouch.  Opening it caused the game to freak out.  I'll get some screenshots.

On exiting, I got other glitch effects.  For example, my party was BAD EGGS, and my name was (something long with lots of somewhere in it).  Going to the overworld (from mount moon, pokemon center side) caused my sprite to be something weird (I need to get another image).  Entering the Pokémon Center triggered an annoying glitch noise, but did not freeze the game.  Exiting the center did freeze the game. 

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: Tsukuu
Date: 2014-04-24 18:35:34
Okay, so I looked better at the savestate, and the game actually saves (so I only need the savefile for sharing purpises). What I find interesting is that it had resembled ZZAZZ for me, but it IS essentially a ZZAZZ for Gen 3. But instead of 99, the game got filled with 51A0 instead. So my name becomes a bunch of gibberish that gets beyond it's supposed to and both my ID/SID becomes 41041. But upon looking at a the "sane" savefile and other savefile of my own, the pattern of 51A0 was apparently only present in that savefile (and its sane version) but not in my own (the savefile in question is a "100%" downloaded from Gamefaqs iirc, with the OT "TERRA"), so I'm pretty sure the effects wouldn't be replicable since the pattern seems particular to the downloaded one. I put the afflicted savefile in the description anyway. If beyond-6th-slot switching becomes possible, maybe it'd be possible to do something like this, but the effects would be different.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: VaeporSage
Date: 2014-04-26 15:04:53
VaeporSage found a glitch to faint Pokémon in the overworld in Ruby/Sapphire with the tricky use of an Evo stone/Hp Up. From there you can possibly get a #000 Decamark in RS to glitch out the game, unless you can only do this using cheats.


Unfortunately, while sending out a Decamarks in R/S is possible in this way, the game will not allow you to view Pokémon beyond the sixth slot. Additionally, the Pokémon in the sixth slot cannot be accessed whatsoever during the battle.  :(

More bad news: experimentation with glitch moves in B/W may be impossible. On attempting to migrate my Smeargle with Unonkaana (glitch move that changes trainer battles to wild battles), the migration process ended as though I had turned off the game. I tried again only to get the same result.

Perhaps different (less volatile?) moves will function differently when sent to B/W, but I wouldn't count on it.  :-\

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: luckytyphlosion
Date: 2014-04-27 08:24:57
Welp, guess we won't have glitch Gen 5 moves OR RS glitch moves :(.

Wonder what would happen if you used an AR to get a glitch move in gen 5?

EDIT: Is it possible to change IVs with Bad EGG corruption?

EDIT2: Now that I think about it, if the IVs were changed, the Pokémon would probably turn into a Bad EGG.


Well, XD: Gale of Darkness has given very disappointing results. On a positive note, the game didn't freeze when I traded Smeargle over; but XD: GoD basically ignored the glitch move altogether…

When Smeargle was sent out, all I got for my efforts was "Smeargle has no moves left."

Have you tried testing it on XD/Colosseum with more than just a glitch move to see what would happen? It could also be possible that the Glitch move has 0/0 pp or something like that, but I doubt it.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: VaeporSage
Date: 2014-05-02 03:26:35
Have you tried testing it on XD/Colosseum with more than just a glitch move to see what would happen? It could also be possible that the Glitch move has 0/0 pp or something like that, but I doubt it.


Late reply, I didn't notice the edit. :P

That's a good idea, and I'll give that a try.

~~~~~

In other news, I've found a really cool trick for everyone to play around with. After catching trainers' Pokémon and turning them into Bad Eggs, most of them will crash the game when you try to select a move. However, allowing a wild Ditto to Transform into the caught Bad Egg means that the game will not crash when the moves are used. In this way, Smeargles can then copy the glitch moves of glitched "trainers' Pokémon".

Notably, this may mean that we all could replicate the same moves on every game. For example, the one I've been testing recently is the Bad Egg that was born as Elite Four Drake's Shelgon. One of this "Shelgon"'s moves is a very long string of glitch letters that I've copied with Smeargle. It turns wild battles into Battle Frontier battles - with "Items can't be used now." and such. Another glitch move on this "Shelgon" was "u[circumflex] began growling loudly!"

If someone finds their caught Drake's Shelgon to be identical, we have just cut down on a ton of the randomness inherent in this glitch.

Re: Gen III: Access Pokémon beyond the sixth slot sub-glitches.

Posted by: VaeporSage
Date: 2014-05-04 09:53:50
I need help with something. I figure that the Bad Eggs I've caught are all holding items. I have 22 opponents' Pokemon caught and detailed that turned into Bad Eggs. However, there seems to be no wild Pokemon that know the moves Trick, Thief or Covet.  :???:

Would there be a trainer I could fight whose Pokemon could steal my Bad Egg's item, whereby I could then switch in one of my Pokemon to steal it back and keep it? If Bad Eggs' held items are as randomised as their movesets and stats, then obtaining glitched items could be a real winner.

~~~~~

Anyway, more fun stuff: almost all caught Bad Eggs come with Pokerus if you need that for whatever reason. Given that normally it is nearly three times rarer than shiny Pokemon, it's nice to be able to guarantee its appearance.  8)

If you have taught a Smeargle certain glitch moves that crash the game by looking at them on the summary screen, it's sometimes possible to crash the game in such a way that particular channels of the game's music are disabled. It's cool to hear the soundtrack 'remixed' in this way, with elements of the accompaniment strongly emphasised, for example.


Well, XD: Gale of Darkness has given very disappointing results. On a positive note, the game didn't freeze when I traded Smeargle over; but XD: GoD basically ignored the glitch move altogether…

When Smeargle was sent out, all I got for my efforts was "Smeargle has no moves left."

Have you tried testing it on XD/Colosseum with more than just a glitch move to see what would happen? It could also be possible that the Glitch move has 0/0 pp or something like that, but I doubt it.


I have now tried this, and unfortunately XD: Gale of Darkness seems perfectly immune to this style of glitching.  :P

Though when I sent the Smeargles back to Emerald, they retained the exact same glitch moves with the same effects as they had before I sent them to XD.