Main Menu
Main Page
Forums
Recent changes
Random page
Help

Databases
GlitchDex
AttackDex
ItemDex

Major Glitches
Trainer escape glitch
Old man trick
Celebi trick
Select glitches (Japan)
SRAM glitch
CoolTrainer♀ corruption
LOL glitch
Rival LOL glitch
Super Glitch
ZZAZZ glitch
Pomeg corruption glitch (Glitzer Popping)
Tweaking
Elite Four door glitch (Japan)
Pokémon merge glitch
Pokémon cloning
Time Capsule exploit
Arbitrary code execution
Coin Case glitch
More

Other Glitch Categories
Glitches by generation
Glitches between two generations
Japan-only/language specific glitches
Music glitches
Natural glitches
Non-core series glitches
Non-Pokémon glitches
Officially acknowledged glitches
Recurring glitches
Dead glitches

References
Pokémon GameShark codes
The Big HEX List
GB programming
Curiosities
Debugging features
Easter eggs
Error traps
Glitch areas
Glitch myths
Non-glitch exploits
Placeholder texts
Pokémon glitch terminology
Unused content and prerelease information

Useful Tools
8F Helper
GBz80 to Items
Old man trick name generator
PATH (Prama's Advanced Tweaking Heaven)
Save file editors
Special stat/Pokémon converter
Trainer escape Trainer Pokémon finder

Affiliates
Legendary Star Blob 2 (Hakuda)
Pokémon Speedruns wiki
PRAMA Initiative
Become an affiliate!

Search Wiki

 

Search Forums

 

Author Topic: Non TM/HM pocket TM47 in Pokémon Gold  (Read 215 times)

0 Members and 1 Guest are viewing this topic.

Torchickens

  • Administrator
  • *****
  • Offline Offline
  • Gender: Female
    • View Profile
Non TM/HM pocket TM47 in Pokémon Gold
« on: December 18, 2016, 12:47:05 pm »
This is a 'TM/HM outside of the TM/HM pocket' glitch item that misaligns the player sprite and NPCs by two spaces. I'm not sure how best to describe it, but when you save and reset after using TM47, the changes you make on the map aren't just visual; so if you moved an NPC out of bounds (such as the Victory Road badge checker) to allow you to walk past them you could walk past them.

It was planned for Pokémon Gold catch 'em all (with glitches) but I'm not sure if anybody ever got around to running it. For non-speedrunning purposes you should just be able to force it into the wrong pocket with Coin Case arbitrary code execution.

The glitch item interests me as there are some cool videos of someone bypassing certain events with it; like being able to enter Mahogany Town gym before defeating the Rockets at Rocket Hideout which makes this and party overloading map corruption examples of useful glitches other than Coin Case ACE.

The videos can be found here (and I'd like to make a video of both getting TM47 and performing these exploits).
http://wiki.pokemonspeedruns.com/index.php?title=User:Entrpntr/Gold_251#Miscealleneous_TM47_vids

Does anybody who knows a lot about the speedrunning scene know who discovered it?
« Last Edit: December 18, 2016, 12:53:34 pm by Torchickens »
Hello. I actually identify as gender questioning, but nowadays feel more firmly that I identify as female. My sex is male but I like to express myself as female.  She/her pronouns, please.


Thank you TMTRAINER for my avatar and Aeriixion for the cute sprite! :) Roelof also made different variations of the sprite (which I animated).

Contact:

Email Youtube Twitter
Skype: Torchickens
Bulbapedia Starfy Wiki

Beyond all philosophies are the things that go best for you; what makes you feel content. It's important to always follow your heart, so unless you feel perfectly happy about it don't just follow something because it is popular, fits a style or is conventional. Sometimes you may reach a point you're not sure who you are, but as things settle I'm convinced things do work out in time.

luckytyphlosion

  • Distinguished Member
  • *
  • Offline Offline
  • Gender: Male
  • JACK-flys are OP
    • View Profile
Re: Non TM/HM pocket TM47 in Pokémon Gold
« Reply #1 on: December 18, 2016, 02:37:19 pm »
The TM47 discovery was a semi-joint discovery by both entrpntr (Pokemon Speedrunner, although he does more routing stuff) and I. We knew that TMs and HMs could execute code from invalid addresses, so we went out and tested each and every one. Out of all the TMs and HMs, only 3 stuck out:

TM47: This item jumps to this subfunction , which increments the wOverworldMapAnchor. While using this only visually affects the map, reloading the map or crossing a connection applies the map changes to the loaded metatiles, allowing one to slowly clip through walls and access unintended parts of the map.

TM36: This item jumps here, which is in the middle of the Poke Ball function. While this could hypothetically allow you to catch whatever was the last loaded enemy mon, unfortunately the b register (used to store catch rate) is always 0 when entering this function (both through an invalid pocket and through select menu), so you'll end up with a 1/256 chance of catching the enemy mon, or 11/256 if the mon has a FRZ/SLP status.

HM03: I just found this out today while trying to figure out the interesting TM efffects, and it has a very useful application. This jumps here, which is in the middle of the function called when withdrawing the stored daycare mon from the daycare lady. The function doesn't check whether a daycare mon is present (or clears the relevant data either, as it wouldn't be needed), so you can continually use HM03 to clone the daycare lady's stored mon. The only stipulation is that the new moves learned (by calculating level based on raw experience, which may not reflect the current level as the daycare step function does not recalculate level for every exp point gained) is based on the last loaded Pokemon, in 0xd004.

Torchickens

  • Administrator
  • *****
  • Offline Offline
  • Gender: Female
    • View Profile
Re: Non TM/HM pocket TM47 in Pokémon Gold
« Reply #2 on: December 18, 2016, 03:15:18 pm »
The TM47 discovery was a semi-joint discovery by both entrpntr (Pokemon Speedrunner, although he does more routing stuff) and I. We knew that TMs and HMs could execute code from invalid addresses, so we went out and tested each and every one. Out of all the TMs and HMs, only 3 stuck out:

TM47: This item jumps to this subfunction , which increments the wOverworldMapAnchor. While using this only visually affects the map, reloading the map or crossing a connection applies the map changes to the loaded metatiles, allowing one to slowly clip through walls and access unintended parts of the map.

TM36: This item jumps here, which is in the middle of the Poke Ball function. While this could hypothetically allow you to catch whatever was the last loaded enemy mon, unfortunately the b register (used to store catch rate) is always 0 when entering this function (both through an invalid pocket and through select menu), so you'll end up with a 1/256 chance of catching the enemy mon, or 11/256 if the mon has a FRZ/SLP status.

HM03: I just found this out today while trying to figure out the interesting TM efffects, and it has a very useful application. This jumps here, which is in the middle of the function called when withdrawing the stored daycare mon from the daycare lady. The function doesn't check whether a daycare mon is present (or clears the relevant data either, as it wouldn't be needed), so you can continually use HM03 to clone the daycare lady's stored mon. The only stipulation is that the new moves learned (by calculating level based on raw experience, which may not reflect the current level as the daycare step function does not recalculate level for every exp point gained) is based on the last loaded Pokemon, in 0xd004.

Ooh I see, nice!

Thanks for sharing the information about TM36 and HM03.

I successfully caught Will's Xatu after putting it to sleep, blacking out and using TM36 many times. The game asked if I wanted to give a nickname to "2U" (which made me wonder for a moment if it had an unterminated nickname like a fake bad clone), but it became a normal non-nicknamed Xatu after I chose to not give it a nickname.

Edit: You can catch Trainer House Pokémon too.
« Last Edit: December 18, 2016, 03:24:04 pm by Torchickens »
Hello. I actually identify as gender questioning, but nowadays feel more firmly that I identify as female. My sex is male but I like to express myself as female.  She/her pronouns, please.


Thank you TMTRAINER for my avatar and Aeriixion for the cute sprite! :) Roelof also made different variations of the sprite (which I animated).

Contact:

Email Youtube Twitter
Skype: Torchickens
Bulbapedia Starfy Wiki

Beyond all philosophies are the things that go best for you; what makes you feel content. It's important to always follow your heart, so unless you feel perfectly happy about it don't just follow something because it is popular, fits a style or is conventional. Sometimes you may reach a point you're not sure who you are, but as things settle I'm convinced things do work out in time.

Yeniaul

  • Guest
Re: Non TM/HM pocket TM47 in Pokémon Gold
« Reply #3 on: December 19, 2016, 08:03:02 am »
I had a question asked of me a few hours ago. Q: Will we as a species ever stop breaking games for fun?
My A: No. If it can be broken, it will be.

ISSOtm

  • The French Lord of Laziness (and a huge The Legend Of Zelda fan)
  • Wiki Contributor
  • *
  • Offline Offline
  • Gender: Male
  • Pewter City (B)rocks !
    • View Profile
    • My Little Website
Re: Non TM/HM pocket TM47 in Pokémon Gold
« Reply #4 on: December 19, 2016, 08:05:30 am »
+1
"THOU SHALL NOT PASS !!"  RIVAL's effect, Gandalf.

Proudly glitching Pokémon Red and Yellow on a Black & White GB, Pocket GB, GB Color, GBA SP and new 3DS.

My Twitter (beware, I'm French)
My YouTube (same warning)

Here is an online tool to build 8F setups : GBz80 to Items !

They see me layzin', they ha-tin'...
Heavy contributor of the global augmentation of entropy (my room's is too damn high !)