Guides:Wrong Pocket TM ACE setup (JP): Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
No edit summary
mNo edit summary
Line 1: Line 1:
{{Guides header|Wrong pocket TMs and HMs}}
{{Guides header|Wrong pocket TMs and HMs}}


This page serves as a repository for a Wrong Pocket TM ACE setup for the Japanese versions of Pokémon Gold & Silver.
This page serves as a repository for a Wrong Pocket TM ACE setup for the Japanese versions of Pokémon Gold & Silver. It is part of the [[Guides:TimoVM's_gen_2_ACE_setups|TimoVM's gen 2 ACE setups]] set of guides.


'''Please make sure to fully read every step of the guide before executing them.'''
'''Please make sure to fully read every step of the guide before executing them.'''
Line 9: Line 9:
=General overview=
=General overview=


In the generation 2 games, items are stored in their own dedicated compartiments. All TMs and HMs are stored in their own pocket, all key items are kept in their own pocket, etc..
In this guide, an initial ACE setup will be created using the following general process:

By glitching an item into a pocket that it's not supposed to be, we can use the item to achieve various glitchy effects. In particular, using TMs from the wrong pocket will confuse the game, causing it to treat the TM as a "normal" item and execute invalid item effects, some of which can lead to arbitrary code execution.

TM17, in particular, executes code starting from $FA47, a duplicate of address $DA47. This region corresponds to party pokémon #2's data. In this guide, we'll go through the process of obtaining TM15 outside the TM/HM pocket, along with how to obtain a pokémon that can redirect TM15's effect to the start of box names ($D8AD).

In practice, the initial ACE setup will be created using the following general process:
# Obtain the necessary items and pokémon for the setup.
# Obtain the necessary items and pokémon for the setup.
# Obtain a [[Bad clone glitch|bad clone]].
# Obtain a [[Bad clone glitch|bad clone]].
Line 37: Line 43:
* Due to technical reasons, please ensure that the following is true for your trainer ID:
* Due to technical reasons, please ensure that the following is true for your trainer ID:
** Your trainer ID must not be equal or higher than 65280.
** Your trainer ID must not be equal or higher than 65280.
** The remainder of your trainer ID divided by 256 must not be equal to 255.
** The remainder after dividing your trainer ID by 256 must not be equal to 255.
* If your trainer ID does not fulfill both requirements, one of the methods described in the guide will not work correctly. When starting from a new save, it is recommended to reset your game until you get a compatible trainer ID. If you do not wish to reset your save, a workaround is provided that requires you to not have traded the Machop in Goldenrod City yet.
* If your trainer ID does not fulfill both requirements, one of the methods described in the guide will not work correctly. When starting from a new save, it is recommended to reset your game until you get a compatible trainer ID. If you do not wish to reset your save, a workaround is provided that requires you to not have traded the Machop in Goldenrod City yet.


Line 96: Line 102:
=Step 3: Obtaining additional bicycles and getting TM17 in the ball pocket=
=Step 3: Obtaining additional bicycles and getting TM17 in the ball pocket=


This works in any language version on any generation 2 game, the method is based on a translation of a [[https://nakayoshibaddi.hatenadiary.jp/entry/2017/08/15/223932 blogpost from 任意コード]]. When in the ball pocket, TM17 functions as a wrong pocket TM with its effect pointer at $DA47 (middle of the first party pokémon's data).
This works in any language version on any generation 2 game, the method is based on a translation of a [[https://nakayoshibaddi.hatenadiary.jp/entry/2017/08/15/223932 blogpost from 任意コード]].


This method will only work if your trainer ID fulfills both of the following requirements:
This method will only work if your trainer ID fulfills both of the following requirements:
* Your trainer ID must not be equal or higher than 65280.
* Your trainer ID must not be equal or higher than 65280.
* The remainder of your trainer ID divided by 256 must not be equal to 255.
* The remainder after dividing your trainer ID by 256 must not be equal to 255.
If your trainer ID does not fulfill both requirements and you do not wish to reset your save, please follow the following steps:
If your trainer ID does not fulfill both requirements and you do not wish to reset your save, please follow the following steps:


Line 232: Line 238:
==Acknowledgements==
==Acknowledgements==


The setups of this page were all previously described in a [https://flag3833753.hatenablog.com/entry/2022/08/17/192006 blogpost written by flag3833753].
The setups of this page were all previously referenced in a [https://flag3833753.hatenablog.com/entry/2022/08/17/192006 blogpost written by flag3833753].


==Plain text transcripts of codes==
==Plain text transcripts of codes==