Skip to content

General FAQ

Is there’s a code for [insert thing you want to do here]?

Check these places first to see if there is an ACE code for that purpose:

This is just a list of somewhat well known sources for ACE codes, there might be other locations where codes can be found.

If you have checked the above sources for the ACE code and can not find a code for your purpose, that likely means that someone has not made one yet. At this point, you can then ask if someone has made the desired code, and see if there is one in an obscure location. If you are technically inclined, you can also learn how to make an ACE code yourself. The FAQ How can I make my own ACE code? should give a quick idea of what is needed to create an ACE code as well, as a few resources to help you.

The code isn’t working

Before triggering ACE, make sure that you have tried to do the following:

  • Done all prerequisite steps for the particular code you wanted. This may include:
    • Setting up a particular exit codes (e.g. Box 14 exit, Wallpaper exit, Certificate exit bootstrap, etc.)
    • Created specific bootstraps for the code (e.g. _ _ D n ’ J k l nickname bootstrap)
    • Triggering ACE in a specific location (e.g. Viridian City Pokémon Center, Mauville City Pokémon Center, Route 5 Daycare etc.)
    • There might be other steps you will have to do, make sure to always read the attached instructions with the code!
  • You have changed the box names to the ones for your code. Make sure that you have entered these codes correctly!
  • Make sure that specific box slots and/or all box slots past the ACE entrypoint are empty.
    • Generally exceptions are made for special Pokémon created specifically for ACE such as bootstrap Pokémon or various bad egg payloads such as the crafting table.

If you have done all of htat and the code still does nothing or causes a crash, then read the following items to figure out what might have went wrong with your code.

You typed the box names wrong

Here are some characters that are commonly mistaken, you should pay close attention to them while entering the box names. Different websites use different fonts for these symbols so you might need to pay extra attention on some websites (unless of course they have been clearly annotated as such by the code author):

  • Spaces
  • (left single quote) and (right single quote)
    • Sleipnir17’s Pastebins call these lefty ' and righty ' respectively.
  • Double quotes
    • and in English, Italian, and Spanish games.
    • « and » in French games.
    • and in German games.
    • Sleipnir17’s Pastebins call these lefty " and righty " respectively.
  • O (uppercase o) and 0 (number zero)
  • l (lowercase L), 1 (number one), I (uppercase i), i (lowercase I) and ! (exclamation mark)
  • ... (Sleipnir17 representation of ), (ellipsis), (two-dot ellipsis), . (full stop, period) and , (comma).
  • _ (space in CodeGenerator) and - (hyphen, dash)

You have Pokémon data present in box slots that are meant to be empty

First make sure that you moved any Pokémon out of any box slots targeted by the code (unless the code explicitly instructs you to place or leave a Pokémon in a slot), and also move Pokémon out of the “ACE area” (with exceptions for special ACE Pokémon and bootstraps). The ACE area is generally all box slots past the entrypoint (i.e. the box slots where the ACE first enters the boxes), though special bootstraps may move the ACE area to a later point within the boxes or make certain box slots safe for Pokémon storage.

Examples of ACE areas are:

  • Non-Japanese Emerald (ARM): Last 3 slots of Box 11, and all of Boxes 12, 13, and 14
  • Non-Japanese Emerald (Thumb): All of Boxes 12, 13, and 14
  • Japanese Emerald (ARM): Starts from Box 12, Slot 12, and all of Boxes 13 and 14
  • Japanese Emerald (Thumb): Starts Box 12, Slot 15, and all of Boxes 13 and 14
  • Non-Japanese FireRed and LeafGreen (0x0351): Starts from Box 13, Slot 7, and all of Box 14.
  • Japanese FireRed and LeafGreen (0xFFC9): Last 3 slots of Box 12, and all of Boxes 13, and 14

If it still crashes after clearing these boxes, then that means ghost data is present on the save. Ghost data often appears on a generation III save when Pokémon has been transferred via Pal Park. This is most often just leftover data of the Pokémon transferred but the species (and hasSpecies) has been set to 0 and false respectively. The ghost data must be removed via group selection, see Using group selection to mass clear invisible bad eggs and ghost data for more information.

You made a mistake in the ACE setup itself

Usually, this can be attributed to the wrong ACE species and/or moves, as well as other bootstraps associated with the set up.

How can I delete bad eggs and/or unwanted glitch Pokémon?

There are multiple methods to do this, each will be covered one by one.

Using reverse Battle Tower cloning to delete Pokémon and bad eggs

Note

This will not work on some fake cartridges, as this is essentially the Battle Tower Cloning glitch, which relies on certain parts of the saving function that were implemented differently on fake cartridges.

In the Battle Tower, make sure that you have up to four unwanted bad eggs or Pokémon in your party as well as two other Pokémon.

Then save the game.

Open the PC, then deposit the unwanted bad eggs or Pokémon into any box.

Then talk to the Battle Tower guide closest to the PC. Select Challenge, then select Level 50. Enter in the two Pokémon that you have chosen to keep. Confirm the first dialogue (“Before entering a BATTLE ROOM…”) for saving progress.

When the second save screen appears (it will have your save location, player name etc.) you should then soft reset.

When loading the save again, you will still be in front of the Battle Tower guide but when you enter the PC again, the unwanted Pokémon you deposited will no longer be present.

Visual demonstration of reverse cloning is available in this video by Sleipnir17.

Using a fast (de)cloner glitch Pokémon to delete Pokémon

First make sure that you have a fast cloner Pokémon to begin with. If you do not, then create one before proceeding. This guide will also assume that you have placed the fast cloner in the very last slot of a box (bottom right corner).

Make sure you are in the PC’s Move Pokémon mode.

Switch to the box containing the unwanted Pokémon.

Then switch the selection mode to Relocate Mode by pressing SELECT, the cursor should have changed to an orange colour indicating that the current mode is Relocate Mode.

In Relocate mode, move the cursor over to the first (or very last) Pokémon in the box (again ideally should be in the first slot) then start the selection by holding A.

While holding A, move the cursor in a way that forms a rectangle (starting from the first slot grabbed) that covers all of the unwanted Pokémon, you must make sure that the slot the cursor is hovering over is empty. Release A. Your cursor should then grab the all of the Pokémon covered by the rectangle.

Then switch to the box containing the fast cloner, then move the cursor over the fast cloner. Then exit the PC by pressing B twice 1

Visual demonstration of fast decloning is available in this video by Sleipnir17.

Using group selection to clear invisible bad eggs

Make sure you are in the PC’s Move Pokémon mode.

Switch to the box containing the unwanted Pokémon.

Then switch the selection mode to Relocate Mode by pressing SELECT, the cursor should have changed to an orange colour indicating that the current mode is Relocate Mode.

In Relocate mode, move the cursor over to the first (or very last) Pokémon in the box (again ideally should be in the first slot) then start the selection by holding A.

While holding A, move the cursor in a way that forms a rectangle (starting from the first slot grabbed) that covers all of the invisible bad eggs. Release A. Your cursor should then grab the all of the Pokémon covered by the rectangle.

Press A again, the invisible bad eggs should disappear. You can check by pressing A again, and no menus should appear. If any menus appear, that means the invisble bad egg occupying the slot, might be a different kind of invisible bad egg that will require extra steps to clear. See Using reverse Battle Tower cloning to delete Pokémon and bad eggs or Using a fast (de)cloner glitch Pokémon to delete Pokémon for alternate methods to delete these particular invisible bad eggs.

The GIF demonstration in Using group selection to mass clear invisible bad eggs and ghost data should apply to this method, just ignore the box switching or the grabbing of a whole box.

Using group selection to mass clear invisible bad eggs and ghost data

Ideally, this movement should start in a box that has all of its slots filled with Pokémon. This also assumes that the boxes you want to clear of invisible bad eggs also already had Pokémon moved to a different box.

Make sure you are in the PC’s Move Pokémon mode.

Then switch the selection mode to Relocate Mode by pressing SELECT, the cursor should have changed to an orange colour indicating that the current mode is Relocate Mode.

In Relocate mode, move the cursor over to the first (or very last) Pokémon in the box (again ideally should be in the first slot) then start the selection by holding A.

While holding A, move the cursor over to the last slot of the box, then release A. Your cursor should then grab the all of the Pokémon that was in the box.

Switch to a different box by pressing or , you should switch to the box that you want to clear of possible invisible bad eggs.

Once you are in the box that you want to clear of invisible bad eggs, press A again. All of the Pokémon that the cursor was holding should be placed down. If you happen to get a message that you can not place them there but there is clearly nothing in the box you want to clear of invisible bad eggs, you might have a different kind of invisible bad egg in that box that will require extra steps to clear. See Using reverse Battle Tower cloning to delete Pokémon and bad eggs or Using a fast (de)cloner glitch Pokémon to delete Pokémon for alternate methods to delete these particular invisible bad eggs.

Orange hand grabbing a group of Pokémon from one box to the next

My Pokémon/Egg is disappearing when I move them

This means that the Pokémon or Egg does not have the hasSpecies flag set in its data. They will generally disappear if you try moving them using group selection, which is selection of multiple Pokémon using the orange cursor.

Moving a single Pokémon/Egg with the orange cursor or the white cursor will generally not make the Pokémon or egg disappear, so use these for moving Pokémon/Eggs that might potentially disappear with group selection.

For eggs, if you hatch them, the game will set the hasSpecies flag in the hatched Pokémon's data which means it will not be affected by disappearance issues caused by group selection.

These Pokémon/Egg are known to be generated without hasSpecies set:

  • Anything generated from an empty slot using the question mark Mail.
  • ACE species created using the ACE3 guide before mid-2025.
  • The [Certificate Exit Bootstrap] created using the ACE3 guide.
  • Eggs created with the Create 6IV Egg from Nothing code.
  • Eggs created with the Create Egg with Custom Hidden Power code.

How can I make my own ACE code?

For all ACE methods, you must know some ARM/Thumb assembly. The below resources should give you some sort of a grasp on ARM/Thumb assembly. Keep in mind that some ACE will make use of what the ARM Architecture Reference Manual calls “UNPREDICTABLE” behavior, and many box name codes (especially in non-Japanese games) will often abuse these UNPREDICTABLE behaviours as there is often no other options.

For creating box name codes, you must at least know about the character encoding, and the internal memory layout of the box names in generation III so that you have an idea of how to encode the ARM/Thumb machine code into writable box names. Additionally there are tools available that allow you to automate the encoding of these ARM instructions into the character set and even generate sequences of ARM instructions that replicate impossible or unwritable instructions in the restricted ARM/Thumb assembly available with the character encoding. The following tools and resources should help with creating box name codes:

If the code you are making also relies on NPC scripting, you also must know about the game’s scripting interface. That would be the scripting bytecode used by the game. Additionally you can also learn to use an abstraction such as the XSE scripting language which with some tools can compile down to the scripting bytecode used by the game. The following tools and resouces can help with scripting in the generation III games:


  1. Many tutorials will have you press A to grab the fast cloner instead to declone. While this does work for some fast cloner species, for others (such as 0x3200 on English FireRed), it sometimes can result in a freeze.