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 43

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

Posted by: Metarkrai
Date: 2018-04-30 16:08:21

Yes, putting the bad egg in the first party slot makes it so it's the one disappearing (the other slots seem unaffected). Also something i noticed is that sometimes a corrupted version of my "CODEDSD h " was sent to battle (like, with the sprite and everything).


I changed the setup to include placing the Invisble Bad Egg in the first party slot.

For the CODEDSD h Pokémon, that's normal since the data of the party slot are read onto its data : there is a certain DMA pattern where everything is aligned like normal.

However, this DMA pattern must happen quickly, or else the data of the Pokémon will be corrupted and he will turn into a Bad Egg (and his nickname won't appear).

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

Posted by: Tabbender
Date: 2018-05-03 17:04:58
Hey, just wanted to point something out.

I just tried the code to make Lugia and Ho-Oh repop, but all it does is trigger the event with the sailor again. Lugia and Ho-Oh don't repop. The one with Deoxys works fine though, so it's probably a simple mistake.

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

Posted by: Metarkrai
Date: 2018-05-04 12:02:21

Hey, just wanted to point something out.

I just tried the code to make Lugia and Ho-Oh repop, but all it does is trigger the event with the sailor again. Lugia and Ho-Oh don't repop. The one with Deoxys works fine though, so it's probably a simple mistake.


You're quite devoted to test some ACE codes.  :P
But thanks for the information.
After some investigation, it turns out that the code was correct, but it was only working if you killed Ho-Oh/Lugia, and not if you caught them (the game has two specific bits for certain legendaries to track if they were caught or killed).
Luckily, the code to reobtain Castform also works for Ho-Oh and Lugia if they were caught.

I think that for a few other legendaries (Mew, Deoxys, Lati@s probably) I will have the same issue (the code will work either for KO or for caught, not for both of them). I will have to sort that out later.

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

Posted by: Tabbender
Date: 2018-05-04 14:45:21
Well i'm trying to make legendaries repop so i can RNG them :p though i also like doing ACE stuff (i'd like to try more codes but i really can't find any opcode table for GBA; i don't even know which version of ASM it runs on)

Anyway thanks for the info

EDIT: The Castform code did make them repop as well indeed. Thanks again.

EDIT 2: I just noticed my Box 6 Slot 1 pokemon got corrupted as well. Luckily it was a clone of another pokemon.

EDIT 3: The Mew / Lati@s / Rayquaza repop code works at least if they were caught. Same goes for the code for Groudon, Deoxys and the Regis.

EDIT 4: I noticed something weird. Pokemon at Box 13 Slots 1 and 2 tend to become bad eggs even AFTER the glitch move have been used. Like, for no reason. Weird. Also, it seems like Slot 3 can be affected as well. I have no idea why this is happening.

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

Posted by: Tabbender
Date: 2018-05-08 08:21:31
Hey, i discovered an interesting sub-glitch while RNGing gen 2 starters

When you have an empty slot as your first slot but pokemon behind it and you get your gen 2 starter and chose to nickname it, it'll make you nickname your last pokemon instead ! This can be used to easily nickname in-game traded pokemon (though if it's a glitch pokemon, the game can crash).

It doesn't work for caught pokemon though, and i haven't confirmed it to work for hatched pokemon or gen 3 starters yet

EDIT: Okay, after thinking about it, i think i know what causes this. When a NPC gives you a pokemon and you chose to nickname it, the game assumes it's the last pokemon in your party, and as such if you have an empty slot as your first slot and the pokemon goes there, you'll nickname your last pokemon instead.
This would theorically work with gen 2 and 3 starters, Castform and Beldum (Wynaut wouldn't because it's an egg so you don't get to nickname it right away), but, more importantly, Lileep and Anorith, which you can get as many times as you want by getting their fossils again via pomeg glitch, or cloning them ! I didn't test it yet, but theorically it should work and allow us to nickname anything (possibly even eggs and bad eggs).

EDIT 2: Okay, i noticed 3 things.
1) Sadly fossils in gen 3 are key items and don't disappear when used, rather a flag is set to tell the game that a fossil have already been used. So no unlimited renaming capability without ACE after all :/
2) Probably as a side effect of some corruption, the first floor of my Devon Corporation building is glitched. Basically they tell me that someone stole something from them (even though i'm loooong past that part of the game since i beat it years ago), and one of them is blocking the stairs to get to the 2nd floor ! I had to use IPG to make him depop and access the fossil-resurrecting scientist.
3) I was able to rename a bad egg. The game told me to give a nickname to "–" with an egg icon. But once i did there was no visible changes to the bad egg, even upon viewing its profile, the nickname didn't appear.

EDIT 3: Nevermind point 1. My Claw Fossil's hidden quantity was apparently corrupted by a Pomeg Glitch use which is why it didn't disappear, and i noticed i'm able to use it multiple times, while my Root Fossil does disappear. So infinite nicknames is actually a thing ! I'm still bothered by point 2 though (having to make the guy depop each time is a pain). Is there a way to fix this via ACE ?

EDIT 4: It doesn't work for gen 3 starters.

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

Posted by: Torchickens
Date: 2018-05-09 15:02:25

Hey, i discovered an interesting sub-glitch while RNGing gen 2 starters

When you have an empty slot as your first slot but pokemon behind it and you get your gen 2 starter and chose to nickname it, it'll make you nickname your last pokemon instead ! This can be used to easily nickname in-game traded pokemon (though if it's a glitch pokemon, the game can crash).

It doesn't work for caught pokemon though, and i haven't confirmed it to work for hatched pokemon or gen 3 starters yet

EDIT: Okay, after thinking about it, i think i know what causes this. When a NPC gives you a pokemon and you chose to nickname it, the game assumes it's the last pokemon in your party, and as such if you have an empty slot as your first slot and the pokemon goes there, you'll nickname your last pokemon instead.
This would theorically work with gen 2 and 3 starters, Castform and Beldum (Wynaut wouldn't because it's an egg so you don't get to nickname it right away), but, more importantly, Lileep and Anorith, which you can get as many times as you want by getting their fossils again via pomeg glitch, or cloning them ! I didn't test it yet, but theorically it should work and allow us to nickname anything (possibly even eggs and bad eggs).

EDIT 2: Okay, i noticed 3 things.
1) Sadly fossils in gen 3 are key items and don't disappear when used, rather a flag is set to tell the game that a fossil have already been used. So no unlimited renaming capability without ACE after all :/
2) Probably as a side effect of some corruption, the first floor of my Devon Corporation building is glitched. Basically they tell me that someone stole something from them (even though i'm loooong past that part of the game since i beat it years ago), and one of them is blocking the stairs to get to the 2nd floor ! I had to use IPG to make him depop and access the fossil-resurrecting scientist.
3) I was able to rename a bad egg. The game told me to give a nickname to "–" with an egg icon. But once i did there was no visible changes to the bad egg, even upon viewing its profile, the nickname didn't appear.

EDIT 3: Nevermind point 1. My Claw Fossil's hidden quantity was apparently corrupted by a Pomeg Glitch use which is why it didn't disappear, and i noticed i'm able to use it multiple times, while my Root Fossil does disappear. So infinite nicknames is actually a thing ! I'm still bothered by point 2 though (having to make the guy depop each time is a pain). Is there a way to fix this via ACE ?

EDIT 4: It doesn't work for gen 3 starters.


This sound cool.

By empty slot, do you mean an invisible Bad Egg or something caused by News Reporter Corruption? I tried this with an invisible Bad Egg (Root Fossil method) and unfortunately wasn't able to get this to work (for both a party with less than 6 Pokémon and a party with 6 Pokémon).

Edit: Just done it with an instant Pomeg glitch Pokémon and it worked.

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

Posted by: Tabbender
Date: 2018-05-09 17:16:02
Yes, i meant an actual empty slot, like when you're performing IPG.

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

Posted by: Metarkrai
Date: 2018-05-10 08:41:41

Hey, i discovered an interesting sub-glitch while RNGing gen 2 starters

When you have an empty slot as your first slot but pokemon behind it and you get your gen 2 starter and chose to nickname it, it'll make you nickname your last pokemon instead ! This can be used to easily nickname in-game traded pokemon (though if it's a glitch pokemon, the game can crash).

It doesn't work for caught pokemon though, and i haven't confirmed it to work for hatched pokemon or gen 3 starters yet

EDIT: Okay, after thinking about it, i think i know what causes this. When a NPC gives you a pokemon and you chose to nickname it, the game assumes it's the last pokemon in your party, and as such if you have an empty slot as your first slot and the pokemon goes there, you'll nickname your last pokemon instead.
This would theorically work with gen 2 and 3 starters, Castform and Beldum (Wynaut wouldn't because it's an egg so you don't get to nickname it right away), but, more importantly, Lileep and Anorith, which you can get as many times as you want by getting their fossils again via pomeg glitch, or cloning them ! I didn't test it yet, but theorically it should work and allow us to nickname anything (possibly even eggs and bad eggs).

EDIT 2: Okay, i noticed 3 things.
1) Sadly fossils in gen 3 are key items and don't disappear when used, rather a flag is set to tell the game that a fossil have already been used. So no unlimited renaming capability without ACE after all :/
2) Probably as a side effect of some corruption, the first floor of my Devon Corporation building is glitched. Basically they tell me that someone stole something from them (even though i'm loooong past that part of the game since i beat it years ago), and one of them is blocking the stairs to get to the 2nd floor ! I had to use IPG to make him depop and access the fossil-resurrecting scientist.
3) I was able to rename a bad egg. The game told me to give a nickname to "–" with an egg icon. But once i did there was no visible changes to the bad egg, even upon viewing its profile, the nickname didn't appear.

EDIT 3: Nevermind point 1. My Claw Fossil's hidden quantity was apparently corrupted by a Pomeg Glitch use which is why it didn't disappear, and i noticed i'm able to use it multiple times, while my Root Fossil does disappear. So infinite nicknames is actually a thing ! I'm still bothered by point 2 though (having to make the guy depop each time is a pain). Is there a way to fix this via ACE ?

EDIT 4: It doesn't work for gen 3 starters.



Yeah, from what I recalled, fossils are usable multiple times on RSE whereas on FrLg the whole fossil-revival thing works with flags (so you need to set them up if you want to revive another fossil).

For Gen 3 starters, Pr.Birch allows you to rename your first party Pokémon. Although, with some testing, it comes out that the game freezes if you try to do that with a Bad Egg of a Glitch Pokémon (probably due to the species name being read before asking you to nickname the Pokémon).
So it is indeed not something to do with Gen 3 starters.

Bad Eggs have nicknames, but they are not read (BAD EGG being printed over it, like ????????? being printed for Item names).

Else, that's a really nice find for Pokémon nicknaming, as it makes things easier than performing an ACE each time !




EDIT 2: I just noticed my Box 6 Slot 1 pokemon got corrupted as well. Luckily it was a clone of another pokemon.

EDIT 4: I noticed something weird. Pokemon at Box 13 Slots 1 and 2 tend to become bad eggs even AFTER the glitch move have been used. Like, for no reason. Weird. Also, it seems like Slot 3 can be affected as well. I have no idea why this is happening.



Regarding the PC Pokémon corruption that happens here and there, I found out why one of them happens.

When the game applies the validity check to the currently fighting party Pokémon, it looks at the Pokémon at party slot 0xXXXX instead of the Pokémon at party slot 0xXX. (it uses a word for party slots instead of a byte).
After this check, the word used is set to 0x00XX. (I don't know why it does that, but it's useful).

In the case of a French Emerald, the party slot is set to 0xF0 with the News Reporter Overwriting.
However, when adress 0x0202406E is read as a word, it gives 0x01F0, who falls into Box 12 Slot 24-25-26. (depending on DMA pattern)

Thus, the very first wild battle you do after talking to the Slateport News Reporter (at least on a French Emerald) will corrupt the data of a Poké in Box 12 Slot 24-25-26, while the data of the Pokémon left in Box 2 will remain untouched.

But after this first wild battle, this word becomes 0x00F0, so the data at Box 12 Slot 24-25-26 won't be corrupted again this way until the next reset/next talk with the News Reporter.


However, this only explains the corruption that can happen at Box 12 Slot 24-25-26.
This thing can also not happen on certain versions because on other versions, the word read will be 0xXXYY with XX higher than 01, and this will point to data past PC Pokémon Data.

I tried my best to obtain other corruptions by setting the Battle Animations, looking at the party, looking at the summary of a party Pokémon, flying to other places, making wild battles in different areas.
But I was only able to obtain a Box 13 Slot 1-2-3 corruption once, and I haven't been able to reproduce it in order to deduce what caused it.


Edit : Okay, so I found out another cause of corruption.

For some weird reasons, if it rains and it the animations are turned on, the validity check will also be applied to Pokémon at 2 additional party slots (read at 0x02024072 and 0x02024074), probably considering these as opponent's Pokémon. (so the data will be read at "party slot" + 6 or something like that)
Since these party slots are also read as words for the validity check, and since their value is also 0x1F0 (this is due to the Glitch Pokémon species name overwriting), the data of Pokémon at Box 13 Slots 1-2-3 ends up being corrupted. (which is approximately 7 PC slots after Box 12 Slots 24-25-26)
(As 6 party Pokémon represent 600 bytes, and as 7 PC Pokémon represent 560 bytes, this is why I suppose that this is tied to the opponent party slots or something like that).

Here, these words aren't cleared during a battle, so unlike the Box 12 Slots 24-25-26 corruption, it happens at every battle (ir there is rain and if animations are one).

If you want to see it, the corruption happens after the "It it raining." message.
This may also be true with sandstorm and harsh sun/rain, and maybe other conditions.
This is apparently not tied to the battle type (it happened with a fished Pokémon and with a trainer battle too).

Since the values at these adresses depend on the glitch Pokémon species name, and since it varies from glitch Pokémon to glitch Pokémon, this may explain the corruptions you got at other PC Slots if you were on an US Emerald.

I'll look back for glitch Pokémon with more specific glitch names in order to prevent this behaviour.


Also, regarding the Devon Corp guard, he may also have been corrupted by this issue.
I will look for its flag value in order to make an ACE code that removes it.



Edit 2 : I found better Pokémon for the ACE execution in Emerald non-Jpn.
I edited the procedure on the previous page with their identifiants, and the new PC Slots.

From Tabbender reports, I feel like there are other mechanics that can cause validity checks and induce corruption at other PC Slots, but this takes at least care of two of these cases.

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

Posted by: Tabbender
Date: 2018-05-10 10:27:58
Okay, thanks for the info and the Devon Corp fix you're working on.

I have to say something though: i did my DMA checks on Route 101 and my other fights that corrupted stuff happened on Route 121. It didn't rain at any point in the battle, and no similar effect happened. However, my Bad Egg had all status effects at once.
Also something that might have played a role is that i KO'd my pokemon with ACE glitch move when i was on Route 121 (so that i could do a DMA check again).
Also, at least on french games, the ACE glitch move have the same description as Reflect when used (supposedly raises the team's defense stat). I dunno if the effect is there, but if it is, maybe the corruption can be due to that ?

Anyway, i'm going to try the new DMA check pokemon and see if other slots are corrupted (i have quite a lot of pokemon in my PC, though i didn't have any in Box 12 Slot 24-25-26).

EDIT: I just noticed something strange while re-doing the league so i could release the roamers again. I didn't have to fight Drake. He acted as if i had already defeated him and the door behind him was open. Yet another corruption i guess.

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

Posted by: Metarkrai
Date: 2018-05-10 10:56:25

Okay, thanks for the info and the Devon Corp fix you're working on.

I have to say something though: i did my DMA checks on Route 101 and my other fights that corrupted stuff happened on Route 121. It didn't rain at any point in the battle, and no similar effect happened. However, my Bad Egg had all status effects at once.
Also something that might have played a role is that i KO'd my pokemon with ACE glitch move when i was on Route 121 (so that i could do a DMA check again).
Also, at least on french games, the ACE glitch move have the same description as Reflect when used (supposedly raises the team's defense stat). I dunno if the effect is there, but if it is, maybe the corruption can be due to that ?

Anyway, i'm going to try the new DMA check pokemon and see if other slots are corrupted (i have quite a lot of pokemon in my PC, though i didn't have any in Box 12 Slot 24-25-26).

EDIT: I just noticed something strange while re-doing the league so i could release the roamers again. I didn't have to fight Drake. He acted as if i had already defeated him and the door behind him was open. Yet another corruption i guess.



This and the fact that you had the Devon Corp guy blocking the path suggests that some corruption of your flags have happened (but due to what, I don't know).

If you can see again the Box 6 corruption that you mentioned previously and have some details about what you did when it happened, that would be neat.

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

Posted by: Tabbender
Date: 2018-05-10 11:10:02
The Box 6 corruptions happen each time i perform ACE, and sometimes during other fights following this. Though i now always let them empty. But yeah, there are definitely corruptions going on in my game. I didn't do anything special other than sending out multiple bad eggs and wait for the one with the right level and max HP, then use a Revive and switch. The corruptions are probably due to the bad egg losing HP due to the opponent's attack and the poison / burn. I also did quite a lot of GP in order to make the Safari Park guy depop. Back then i also did the route to unlock Faraway Island and Birth Island on french games. Other than that, i don't know what could have caused these corruptions.

By the way, i just executed the code to make the roamers reappear and re-did the league, it doesn't seem to work for some reason.

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

Posted by: Metarkrai
Date: 2018-05-10 11:39:33

The Box 6 corruptions happen each time i perform ACE, and sometimes during other fights following this. Though i now always let them empty. But yeah, there are definitely corruptions going on in my game. I didn't do anything special other than sending out multiple bad eggs and wait for the one with the right level and max HP, then use a Revive and switch. The corruptions are probably due to the bad egg losing HP due to the opponent's attack and the poison / burn. I also did quite a lot of GP in order to make the Safari Park guy depop. Back then i also did the route to unlock Faraway Island and Birth Island on french games. Other than that, i don't know what could have caused these corruptions.

By the way, i just executed the code to make the roamers reappear and re-did the league, it doesn't seem to work for some reason.


If you try another ACE, could you place fresh Pokémon clones at the slots where Bad Eggs usually appear, and then make some pauses while seaching for the right wild battle to check if they become corrupted ?
This could give me a lead to what's causing that. (because the issue is that this behaviour may be different on other games due to the Glitch Pokémon species name used being different, or because it depends on some data that is different from trainer to trainer if not manipulated).


Well, I tried the code and it worked.
So it's either due to the league resetting the var value to 0x0005 (instead of 0x0003 which triggers the roamers), or due to an error in the code.

If you can redo this ACE quickly, try to enter your house right after executing the code to see if the event appears (this will lock you in the house and you'll have to reset, but this will move the league out of the equation).


Else, regarding the code, it may be the Open Lv Items that have a tiny issue (0x6EE8 or Great Ball).
A mistake like this would make the code valid, but wouldn't give you the roamers tv news.

Also, check if the event does not occur in the neighbours' house, in case you had sex changes or things like that.

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

Posted by: Tabbender
Date: 2018-05-10 11:51:13
I will and see what happens. Also, i remembered that i have hatched a few glitch pokemon. Could there be an issue with their pokedex pointer like in gen 1 ?

That's weird, because i very clearly remember getting 110 Spd and 160 Def EV's (via the "250 EV" technique), as well as putting a Great Ball there. Unless i managed to put in 0x6008 instead of 0x6EE8 ? I'll check it out later.

EDIT: Wow, i just watched a TV and a guy read the species name of one of my glitch pokemon o_o i reseted because i was scared of what might have happened to my RAM data lol

EDIT 2: Okay so i checked and apparently i didn't do anything wrong with my EV training. I'm going to check if i put 0x6008 instead of 0x6EE8.

EDIT 3: I apparently got the item positions right as well. I have no idea what caused the code to not work.
Anyway i'm gonna try again with the new method.

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

Posted by: Metarkrai
Date: 2018-05-10 13:40:08

I will and see what happens. Also, i remembered that i have hatched a few glitch pokemon. Could there be an issue with their pokedex pointer like in gen 1 ?

That's weird, because i very clearly remember getting 110 Spd and 160 Def EV's (via the "250 EV" technique), as well as putting a Great Ball there. Unless i managed to put in 0x6008 instead of 0x6EE8 ? I'll check it out later.

EDIT: Wow, i just watched a TV and a guy read the species name of one of my glitch pokemon o_o i reseted because i was scared of what might have happened to my RAM data lol

EDIT 2: Okay so i checked and apparently i didn't do anything wrong with my EV training. I'm going to check if i put 0x6008 instead of 0x6EE8.

EDIT 3: I apparently got the item positions right as well. I have no idea what caused the code to not work.
Anyway i'm gonna try again with the new method.


Have you tried redoing the ACE and directly entering your house ?

Else, there may be another value needed to make things work, and it wasn't clear on my saves.
If this ACE still doesn't work, I'll have to look back at it because this will be the most likely answer.


Also, as you will change Glitch Pokémon, could you make more clones of your PC Pokémon in order to fill most of the boxes ? (aside from a few slots near the nicknamed Pokémon)

Because the corruption you saw at Box 6 could happen somewhere else due to this change of Glitch Pokémon.

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

Posted by: Tabbender
Date: 2018-05-10 14:05:17
Okay so i'm about to try with the new glitch pokemon and i spammed every empty slot in my PC (except for Box 1 Slots 17 - 23) with clones of the in-game traded Meowth. I'll edit this post as i notice corruptions.

- I didn't notice anything before the final fight happens (i did 44 fights before it)
- Oddly enough i didn't notice anything after the final fight either
- This time my first party pokemon didn't get corrupted
- I ko'd my ACE glitch move pokemon like i did before, still no corruptions
- The code execution still didn't do anything. I tried both houses.

So there doesn't seem to be any side corruption with this setup. The code doesn't work though, sadly :/