The cloning glitch
The game begs you not to turn off the power while it saves. Turn it off at exactly the right instant and your Pokemon, and whatever it is holding, comes back twice. It is the most useful rule you were ever told to break.
Saving is supposed to be the safe part. In Generation II the game writes your progress to a chip inside the cartridge, and it warns you, in a box you have seen a thousand times, not to cut the power while it does. But saving is not instant, and for a fraction of a second during a box switch the game has committed a Pokemon to two places at once. Kill the power in that window and the reboot finds it in both. One Pokemon, and one held item, duplicated, from nothing but bad timing on purpose.
What it actually is
A save is not a single instant. It is a short sequence of writes to the cartridge, and during a box switch there is a sliver of that sequence where your deposited Pokemon has already been committed to the box but has not yet been cleared from the party. Slide to choose the moment you cut the power, and see what the reboot finds.
Why there end up being two
The secret is in what a box switch does and does not save. A normal save writes both your party and your boxes to the cartridge. A box switch only writes the box, and never touches the party's saved copy, which is still sitting there from the last time you saved for real. Step through it and watch where the Pikachu lives.
SavePokemonData and SaveBox; a box switch (ChangeBoxSaveGame) calls SaveBox alone.The timing window
Saving is a fixed sequence of events, and the two versions run it differently. Gold and Silver do the whole save inside one routine on hard frame timers. Crystal was rebuilt so the message and the box write are separate steps. Pick a version and walk the sequence, one event at a time. The red event is the write. Cut the power right after it and the copy is committed; keep going and the game moves on.
engine/menus/save.asm. The precise reset moment is community knowledge, tightened by the code.Do it yourself, step by step
Here is the whole route on a real cartridge. Tap each step in order, top to bottom. The last one only lights up once everything before it is ready, because on a real save there is no going back. This is the safe version: you let the box write finish, then reset before touching anything else.
The item comes with it
Here is the part that made this glitch famous. In Generation II a Pokemon can hold an item, and the held item is stored right alongside the Pokemon. Clone the Pokemon and you clone whatever it was holding too. Hand it something valuable first, and now you have two of that as well. Give the Pikachu an item and run it.
The bad clone
The safe method is to let the save finish. The famous, riskier one is to reset while the write is still happening, and that is where things go wrong. Cut too early and the box data is written half-finished, so the game builds a Pokemon out of whatever bytes made it in. The result is often an Egg that never hatches, or a scrambled glitch Pokemon. Drag the moment you cut the power and see what comes back.
Why it only works on a cartridge
When the game saves, it writes your data to a memory chip inside the cartridge, called SRAM, kept alive by a tiny battery. There is no backup and no undo. Cutting the power at the exact moment of that write is the entire trick. A save state on an emulator works completely differently, which is why the same steps usually do nothing there. Try both.
Does it still work today
The cloning glitch was never patched out of the games themselves, so it lives on almost everywhere the original code runs. What changes is how you cut the power, and how safe it is to try. Pick where you are playing.
From the ROM
You do not have to take any of this on faith. The Pokemon Crystal disassembly spells out exactly why a box switch clones. Here is the routine that runs when you choose Change Box. Watch what it calls, and what it does not.
; engine/menus/save.asm - ChangeBoxSaveGame ChangeBoxSaveGame: call PauseGameLogic call SavingDontTurnOffThePower ; shows the warning call SaveBox ; writes the BOX to the cartridge ld a, e ld [wCurBox], a call LoadBox ; loads the box you switched to call SavedTheGame call ResumeGameLogic ret
The whole thing calls SaveBox, and never SavePokemonData. A full save, the one you get from the menu, calls both. So a box switch commits your boxes to the cartridge while leaving the saved party untouched, still holding the Pokemon you just deposited. Reset before the next full save and it is on the cartridge in two places. The glitch is not a bug in the save. It is the save doing exactly half of its job on purpose.
A box switch saves your boxes but never re-saves your party. The clone is just the game trusting a copy it never cleared.
Verified in the pokecrystal and pokegold disassemblies. Thanks to the glitch community that mapped the timing decades ago.
Go deeper: Gen 1 item duplication, the same idea one generation earlier | the Ditto glitch | browse the Glitchhouse.