Main Menu
Main Page
Forums
New pages
Recent changes
Random page
Help

Glitches
Arbitrary code execution
Pokémon cloning
Pomeg glitch and Glitzer Popping
Tweaking and voiding
Glitches by generation
Glitch categories

References/Resources
Databases
Disassembly projects
The Big HEX List
Pokémon cheat codes
Pokémon glitch terminology
Useful tools
More

Affiliates
Legendary Star Blob 2 (Hakuda) (日本語/Japanese)
Pokémon Speedruns wiki (English)
PRAMA Initiative (Français/French)
MissingNo. Glitch City (Italiano/Italian)
Become an affiliate!

Technical
Site source code

Search Wiki

 

Search Forums

 

Author Topic: Odd Results  (Read 991 times)

0 Members and 1 Guest are viewing this topic.

PokeGlitchFanatic

  • GCLF Member
  • *
  • Offline Offline
  • Gender: Female
  • Every great thing starts with a miniscule glitch.
    • View Profile
Odd Results
« on: May 02, 2015, 10:02:07 am »
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?

Evie the Mother Hen ☽ ❤

  • Head Administrator
  • *****
  • Offline Offline
  • Gender: Female
  • I love My Melody. 🦋 ✿
    • View Profile
Re: Odd Results
« Reply #1 on: May 02, 2015, 01:32:18 pm »
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.

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'.



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).
« Last Edit: May 02, 2015, 02:05:14 pm by Torchickens »

✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿
Here have some free flowers on every post :)
✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿



(Images © Sanrio, Nintendo, Pokémon, HAL Laboratory)

✿ Hi, I'm Evie. Transgender woman but spiritually doesn't believe 'male'/'female' needs to be defined; lives more stereotypically like a woman/I'm a 'girly' nerd who discovered herself. Call me whichever pronouns you like. :)

Feel free to contact me here about anything regarding the site.

Forgiveness. I feel that the more people pray to our greatest source/God/mathematical equality for world peace, the more and more it manifests into reality (until our next spiritual death).

Thank you Nyapon for this lovely artwork. :3

PokeGlitchFanatic

  • GCLF Member
  • *
  • Offline Offline
  • Gender: Female
  • Every great thing starts with a miniscule glitch.
    • View Profile
Re: Odd Results
« Reply #2 on: May 03, 2015, 07:40:43 pm »
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.