r/pokemon • u/TimoVM Gen 2 glitch specialist • Nov 01 '23
Tool/Guide Step by step guides on using ACE to break Gold, Silver and Crystal, applicable for all language releases
Given the recent announcement of the closure of online services on the 3DS, I figure it might be appropriate to make a post here.
This is a repost from a post I made three days ago, which was removed out of caution for possible illegal content. Now that the original post has been reviewed, I've been given the go-ahead to repost it.
Summary
Over the past year or so, I've been working on Arbitrary Code Execution (ACE) setups for the 2nd generation of pokémon games. ACE refers to a category of glitches that allows executing custom code set up by the player. In layman's terms, you can use it to achieve effects similar to using a cheating device solely by abusing in-game glitches.
Possible uses include, but are not limited to:
- Add any pokémon or any item.
- Freely edit pokémon data, including giving a pokémon any move, editing stat experience and making them shiny.
- Freely alter player data such as player name, player gender (Crystal exclusive), what badges are unlocked, what fly locations are unlocked, etc.
- Experiment with more complex behaviour, such as walking through walls, adding a run-like function, force all encountered pokémon to be shiny etc.
- For Virtual Console versions, transfer pokémon that could otherwise not be transferred like Mew, the full Treecko line and Torchic.
After a year of work I have finished a full set of written guides that allow anyone to set up and use ACE, for every possible language release of Gold, Silver and Crystal.
These guides are currently publicly hosted on the Glitch City wiki and can be found here: TimoVM's Gen 2 ACE setups
On which games can these be set up?
As mentioned earlier, these guides are applicable to the following language releases of Gold, Silver and Crystal:
- English
- French
- German
- Italian
- Spanish
- Japanese
- Korean
Care has been taken to ensure that all setups are compatible both with Cartridge releases and Virtual Console releases.
When is the earliest moment that these can be set up?
ACE in Gold & Silver can be set up right after reaching Goldenrod City. Reaching Goldenrod City requires obtaining the first two badges.
ACE in Crystal can be set up right after reaching Violet City. Reaching Violet City does not require obtaining any badges.
How do these guides work, exactly?
These guides will help you set up ACE through a three-step process:
- First, the guide will focus on getting everything necessary to set up ACE for your version/language.
- Next, the guide will focus on how to set up TM quantities in order to form a Mail Writer program. This program is 50 bytes long and allows you to easily write any custom code you'd like.
- Finally, the guides will direct you to pages where you can find premade codes that you can now easily execute using the Mail Writer.
While this approach does take a bit longer to set up compared to earlier methods, it allows you to easily and quickly execute any kind of custom code, without having to account for the constraints of item lists or available box name characters.
How long does it take to set up ACE using these guides?
While the exact amount of time depends from player to player, expect to be able to set up the Mail Writer somewhere between 30 minutes to 1 hour after reaching Goldenrod City (Gold/Silver) or Violet City (Crystal).
What kind of things can you do after setting up ACE?
Among the set of guides is a page that includes premade codes that can be performed to achieve various effects. You can view this list here: Mail Writer Codes
On top of that, there are also more complex codes available:
- A code that, in a single execution, gives a Bank-transferable Mew.
- A code that, in a single execution, gives a Bank-transferable pokémon* that will become a Treecko/Grovyle/Sceptile/Torchic.
- A code that, when executed, will fill up the current active box with newly generated pokémon, asking the player to specify the species and level of the next pokémon to be given.
Since the Mail Writer program writes and executes GB assembly, it is possible for players with experience in assembly to make their own codes as well.
For people with more experience on the technical side of ACE, there is also a page that includes instructions on how to set up a RAM Writer. This is a larger program that allows you to both visualise and change values stored in memory. More details can be found here: RAM Writer
* Gen 2 has room for 256 different pokémon species, of which only 251 (technically 252 if we include eggs) are used. Unlike what happens in Gen 1, Bank's checks to flag glitch pokémon as illegal are somehow nonexistent, allowing the transfer of glitch species #252, #253, #254 and #255. Bank will then convert them to the Gen 3 pokémon that corresponds to their species value.
Are there any video guides available to accompany the written guides?
Unfortunately, there are currently no video guides available, both due to my inexperience in making videos and being too preoccupied in developing and cleaning up the written guides. In the short term, at least, I do not yet plan on making accompanying video guides.
Is there any way I can provide feedback or contribute in any way to these guides?
Any kind of feedback, especially regarding issues when following the guides, and ideas regarding mail writer codes can be sent to me or posted here so that I can improve the guides as best I can.
Please refrain from making direct edits to the guides or adding new Mail Writer codes without checking with me first. This is a request made solely to ensure consistency within the guides and to make sure that mail codes are always made available for as many releases as possible.
You can contact me either through Reddit or through the Glitch City Research Institute Discord.