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 I Glitch Discussion

Odd Results - Page 1

Odd Results

Posted by: PokeGlitchFanatic
Date: 2015-05-02 11:02:07
After my extended absence, I am back with some peculiar glitch results.  While using the cooltrainer move in Pokemon blue,  depending on the location of where I use it.
Using it in the water outside of Cinnabar Island results in my game crashing extremely violently.  Is this move affected by location,  or is it completely random?

Re: Odd Results

Posted by: Torchickens
Date: 2015-05-02 14:32:18
I felt that it would be best to explain this in detail; but I have highlighted some of the main points in purple. If you have any specific questions, feel free to ask.

Location influences this, but the nature of the corruption when it happens is directly affected by the tile data on the screen when you open a menu such as the Pokémon or item menu. When you open these menus, the game updates some screen tile data at CD81 onward with screen data as if you just had the start menu open (and no other menu). The glitch item 9F (hex:5E) will update the screen data too.

This screen tile data affects the corruption, meaning that in Pokémon Red and Blue opening a menu in certain places before entering battle allows you to have control over your results. In Pokémon Yellow you sadly can't do this because the tile data is updated again when you enter battle.

For example, the tile at the top-left corner of the screen (BGB coordinates y=00, x=00) affects CF5F. The next tile (BGB coordinates y=00,x=01) affects CF60. Jumping on ahead, the tile at y=06, x=01 affects CFD8 (the enemy Pokémon in battle). You may know this address from the GameShark code 01xxD8CF that lets you obtain any Pokémon.

In other words, opening the Pokémon, items, etc. menu from a certain place and then activating CoolTrainer in battle without opening another relevant menu allows you to get CoolTrainer corruptions you want if you know the identifiers of tiles on the screen and the addresses that they would corrupt. One trick is the ability to mutate the enemy Pokémon into another species.

There is another important detail though. To answer why a freeze happens, freezes normally happen when the saved screen data does not have a 0x50 tile within it (when the CoolTrainer corruption occurs which may take many tries; you can try again by scrolling through the fight menu or opening and closing it). If there is no 0x50, the game will keep looking for a 0x50 from beyond the screen data and may never find one early enough. If so, the game will end up corrupting too much data and freeze.

Additionally, unrelated freezes may happen after battle ends in Red and Blue (but these freezes do not occur in Pokémon Yellow) when CoolTrainer corrupts the address CFC4 to an odd value (the tile at y=05 x=01 affects this). For unknown reasons, if the battle was in Diglett's Cave the freeze will not occur; so the player must often do CoolTrainer abuse in Diglett's Cave to avoid a freeze after battle.

A 0x50 tile often look like the bottom-left corner of a bush 4x4 tile on the overworld tileset. [img]http://i4.minus.com/ibtP124N4TMldI.png[/img]

This page shows us other 4x4 tiles that have a 0x50 in them.

Here is an image by TheZZAZZGlitch that shows us the tiles responsible for the enemy Pokémon's level and species and where a 0x50 tile should be for CoolTrainer abuse (note that the 0x50 tile can be before the big rectangle below "BLUE" too; however, if it was before a certain tile (such as the one controlling the species), then you would not be able to corrupt the species/the relevant tile's 'corruption address'.

[img]http://i4.minus.com/ibw1X573SOYUPx.png[/img]

You may want to watch TheZZAZZGlitch's video about catching Pokémon with CoolTrainer other than those normally available by only opening the Pokémon menu from within a battle (Missingno. and Horsea, others by manipulating a Pokémon name character on the screen at y=06, x=01).

Re: Odd Results

Posted by: PokeGlitchFanatic
Date: 2015-05-03 20:40:43
In a way,  it is location based.  Thank you,  I will try this same location,  but I will open the menu in the correct location.