Wrong pocket TMs and HMs are TMs and HMs in Pokémon Gold, Silver and Crystal in the bag for when they are outside of the TM/HM pocket (which is normally impossible without glitches).
These glitch items when used will result in unintended behavior and/or arbitrary code execution, depending on which TM or HM was used.
||Executes arbitrary code from FA10 (Echo RAM for DA10, which is somewhere in the expanded Balls pocket. If "(item) x195", "Star Piece x 252" (represents C3 84 FB - a jump to FB84, box 4 name character 2) are stored at DA0F, then this will serve as a bootstrap code to stored box Pokémon names.
||Executes arbitrary code from FA10 (Echo RAM for DA10, which is somewhere in the expanded Balls pocket.
||Executes arbitrary code from FA47 (Echo RAM for DA47, which is somewhere in the expanded Balls pocket.
||Executes arbitrary code from FA47 (Echo RAM for DA47, which is the caught data for party Pokémon 1. The player can make a jump to somewhere more useful (via C3 yy xx), using Pokémon 1 as a slide Pokémon if necessary.
||Executes arbitrary code from FA69 (Echo RAM for DA69, which is somewhere in the expanded Balls pocket; like TM21.
||Executes arbitrary code from FA69 (Echo RAM for DA69, which is somewhere in the expanded Balls pocket; like TM25.
||Executes arbitrary code from FA6A (Echo RAM for DA6A, and DA6A is the least significant Defense EV byte of the second Pokémon in the party. The Speed EVs word follows, and the player can make a jump to somewhere more useful (via C3 yy xx). This may be possible without trading, but getting the exact EVs would be tedious and it would be hard to keep track of them without a memory viewer. Through arbitrary code execution in Pokémon Red, Blue, and Yellow, the second Pokémon may be manipulated to have Defense and Speed EV values that the player desires.
||Executes arbitrary code from F418 in Echo RAM (essentially D418); the third character of the fifth enemy Pokémon's nickname. Through arbitrary code execution in Pokémon Red, Blue, and Yellow, the player may rename this Pokémon to include a jump instruction (e.g. to C3 F2 D8 bytes which reads jp D8F2, i.e. jumps to the first item in the item storage system).
||Allows the player to offset their position on the map, as documented here.
How to obtain (bad clone glitch for non-Japanese versions)
1. Get your bad clone. If you have access to an emulator, you can try a breakpoint method for BGB described in the bad clone glitch article (note you must use box 4 and five Pokémon in the box for this).
If you don't want to obtain a bad clone, then theoretically you can use the Hall of Fame SRAM glitch or an international Generation II trade (Japanese and English versions) to get a bad clone.
2. Put a Machop with Seismic Toss as move 1 in the party (learned at Level 19).
3. Stabilize your bad clone to get a ?????. Put this at the top of the party and the Machop after it.
4. Move a Pokémon above ????? to get 7 Pokémon.
5. Take the second Pokémon (a ????? that changed from 00 to FF I think) into the Day Care.
6. Deposit the first Pokémon. Machop should now be in the first slot after depositing it.
7. Deposit the second Pokémon. Machop should now be holding a Mystery Egg.
8. Keep depositing the first Pokémon and fix the party. Don't take Machop's item yet.
9. Clone Machop to obtain another Machop holding a Mystery Egg.
10. Take both Mystery Eggs. The key items should now just contain two Mystery Egg stacks.
11. Don't swap them yet, and have in the Balls pocket exactly: Great Ball x1, Poké Ball x2.
12. Swap the two Mystery Eggs. You should now have Master Ball x5 and Ultra Ball x255.
13. Toss from the Ultra Ball stack to equal the TM/HM (which will be forced in the Balls pocket) ID you desire. For example, tossing 47 to get 208 will give TM17, an arbitrary code execution item.
14. Swap the Master Ball x5 with the Ultra Ball x(amount)
15. Deposit a Mystery Egg you should have, and then withdraw it again.
This will result in you have the item you desire in slot 1. It doesn't just work with TMs/HMs, for example you can obtain a wrong pocket Rare Candy (quantity of 32) that likely has infinite use instead. However it's a good idea to get arbitrary code execution set up first, and then you can use box names to obtain other wrong pocket items like HM01.
How to obtain (Coin Case glitch)
This section only applies to Pokémon Gold and Silver. Perform the following codes for Coin Case glitch with the move 1 Return Quagsire in slot 4 holding a TM02 setup:
1. FMK's one-off code:
Box 1 : Ap0w'vA55 (XOR A; OR b6; SUB 0x80)
Box 2 : é'm2p'v7'v'd
Box 3 : éA355555 (LD [80f9], A)
Box 4+: 55555555 (Safe filler code)
Box 13: 5555péD9 (XOR A; LD [83ff], A)
Box 14: 'l'lA'lx'd55 (POP DE; POP DE; INC SP; POP DE; OR A; RET NC)
2. Torchickens' all TMs/HMs code:
Requires above one-off code to have been used first:
Box 1: Ap'vCé025
Box 2: 'vj'vué♀25
Box 3: 'v.é32p'v9r
Box 4: é22pé425
Box 5: 'vué62'v 5 (there is a space after the 'v and before the 5)
Box 6: é52'v:é72
Box 7: 55♀55555
Box 8-12: 55555555
Box 13, 14: Same as before, don't change them.
3. Expand the Balls pocket to access stored PC items (including TMs/HMs outside of their pocket)
Requires one-off code to have been used first:
Box 1: Ap09é6♀5
Box 2-12: 55555555
Box 13, 14: Same as before, don't change them.
Upon depositing the TM/HM of your choice, it should appear in the expanded Balls pocket.
- TMHMDex: Project documenting wrong pocket TMs and HMs