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.

Pokémon Glitch Discussion

Would it be a good idea to research Glitch Ribbons? - Page 2

Re: Would it be a good idea to research Glitch Ribbons?

Posted by: Torchickens
Date: 2018-11-03 18:45:16
*bumping this very old thread* but I noticed a trick a very long time ago for Generation III but never got around to videoing which lets you view glitch ribbons. A similar method may also apply to later generations, and if there is no cheat searcher built into the emulator, you could use an external program to modify the memory such as ArtMoney or Cheat Engine.

1. Get a Pokémon with more than one Ribbon
2. View the description of a Ribbon and search for the cursor value on an emulator's cheat searcher
3. Move the cursor to the next Ribbon, and advance the search for cheats (so for instance search for '00', move to Ribbon No. 2 and search for '01', etc.)
4. When you get one or a few addresses left, modify one of them (which should be the cursor position) set the cursor value to an arbitrary value like FF.
5. Disable the cheats and scroll, you should come across glitch ribbon descriptions.

I unfortunately can't do it because I forgot the address and don't use emulators anymore, but if anybody knows the address(es) let me know as I do have a cheating device called the Xploder Advance SP. The codes for it are encrypted but I found an encryptor somewhere.

Re: Would it be a good idea to research Glitch Ribbons?

Posted by: ISSOtm
Date: 2018-11-05 02:26:35
Testing can also be done on the emulator itself with Action Replay codes using this tool I just made.
Also, if the cursor position is not an index but rather a pointer, then the method you described won't work; you should instead search for "Identical" and "Different" while moving and not moving the cursor.
If the cursor appears to be a pointer, then it would be possible to directly modify the ribbons themselves.

Alternately, the ribbons must be stored somewhere in the Pokémon's struct, so if a code exists to modify a Pokémon's something (HP, level…) then a small(?) modification would allow modifying its Ribbons as well.

Lately, I know for a fact that Gen IV has a bunch more error handling than previous gens, so this is fairly likely to yield nothing. Example: invalid maps are explicitly handled in the code as Jubilife City.

Re: Would it be a good idea to research Glitch Ribbons?

Posted by: Torchickens
Date: 2018-11-05 12:38:17

Testing can also be done on the emulator itself with Action Replay codes using this tool I just made.
Also, if the cursor position is not an index but rather a pointer, then the method you described won't work; you should instead search for "Identical" and "Different" while moving and not moving the cursor.
If the cursor appears to be a pointer, then it would be possible to directly modify the ribbons themselves.

Alternately, the ribbons must be stored somewhere in the Pokémon's struct, so if a code exists to modify a Pokémon's something (HP, level…) then a small(?) modification would allow modifying its Ribbons as well.

Lately, I know for a fact that Gen IV has a bunch more error handling than previous gens, so this is fairly likely to yield nothing. Example: invalid maps are explicitly handled in the code as Jubilife City.


Thanks for the tool and tips!  :)

Ah, all right.

Yes.

Ah OK. That's a shame. :(

Re: Would it be a good idea to research Glitch Ribbons?

Posted by: Sherkel
Date: 2018-11-05 13:53:54
Very worthy bump. I can get screenshots using the codes provided, but might not have time this week. Should we try to divide the 191 indices up between us before grabbing all the data?

Re: Would it be a good idea to research Glitch Ribbons?

Posted by: Torchickens
Date: 2018-11-05 14:01:19

Very worthy bump. I can get screenshots using the codes provided, but might not have time this week. Should we try to divide the 191 indices up between us before grabbing all the data?


Thanks Sherkel! That's OK. I'm more than happy to do one or two versions you're not doing if you like, so e.g. I do Ruby you do Emerald or FireRed?

Re: Would it be a good idea to research Glitch Ribbons?

Posted by: Sherkel
Date: 2018-11-05 17:35:35
I'll let you know. Just gopher it in whichever one you feel like doing and I'll start with one of the other versions.

Re: Would it be a good idea to research Glitch Ribbons?

Posted by: Sherkel
Date: 2018-11-12 13:28:03

*bumping this very old thread* but I noticed a trick a very long time ago for Generation III but never got around to videoing which lets you view glitch ribbons. A similar method may also apply to later generations, and if there is no cheat searcher built into the emulator, you could use an external program to modify the memory such as ArtMoney or Cheat Engine.

1. Get a Pokémon with more than one Ribbon
2. View the description of a Ribbon and search for the cursor value on an emulator's cheat searcher
3. Move the cursor to the next Ribbon, and advance the search for cheats (so for instance search for '00', move to Ribbon No. 2 and search for '01', etc.)
4. When you get one or a few addresses left, modify one of them (which should be the cursor position) set the cursor value to an arbitrary value like FF.
5. Disable the cheats and scroll, you should come across glitch ribbon descriptions.

I unfortunately can't do it because I forgot the address and don't use emulators anymore, but if anybody knows the address(es) let me know as I do have a cheating device called the Xploder Advance SP. The codes for it are encrypted but I found an encryptor somewhere.

So I did this. I found that the addresses for the current viewed ribbon in US Ruby were 0200BC90 for the column, and 0200BC91 for the row, both starting at 00 in the top left and counting up from there. Setting them to high values enabled me to move the cursor to weird places, but all it ever did was show existing ribbons (defaulting to the Hall of Fame one whenever out of bounds on column, and otherwise taking one from the current column and using it), with no descriptions. I think we'll have to find a way to modify the data directly to put ribbons with high indexes onto a Pokemon. PKHex can do it (it was how I set up the Pokemon to test with), but only allows for non-glitch ribbons…I'll ask Kaphotics about it; maybe he'll respond when he's done with all that LGPE stuff.

I did try Zow's code, by the way, but it didn't seem to do anything…somewhat interestingly, I put a few random bytes into that address and after saving in-game and resetting, they seemed to restore themselves upon loading from SRAM. Nothing to do with ribbons, though, at least from what I could tell.

Re: Would it be a good idea to research Glitch Ribbons?

Posted by: Torchickens
Date: 2018-11-12 15:28:18
Hmm, I definitely remember seeing glitch ribbons with a cursor exploit on a certain case (or maybe it was just glitched descriptions). I'm not sure how it happened though. I wonder if there are multiple ribbon lists. It could be this only works on certain menus (or versions).

Good luck and hope Kaphotics can help!

Re: Would it be a good idea to research Glitch Ribbons?

Posted by: ISSOtm
Date: 2018-11-13 04:05:29

I found that the addresses for the current viewed ribbon in US Ruby were 0200BC90 for the column, and 0200BC91 for the row, both starting at 00 in the top left and counting up from there. Setting them to high values enabled me to move the cursor to weird places, but all it ever did was show existing ribbons (defaulting to the Hall of Fame one whenever out of bounds on column, and otherwise taking one from the current column and using it), with no descriptions. I think we'll have to find a way to modify the data directly to put ribbons with high indexes onto a Pokemon.

Might be better to use the disassemblies for that. Using Action Replay codes would be kinda difficult, since the Pokémon data is scrambled depending on something (the Trainer ID, IIRC?)