Jump to content

Pokémon cloning (Generation II): Difference between revisions

m
Added a references section.
m (Text replacement - "~" to "–")
m (Added a references section.)
 
(One intermediate revision by the same user not shown)
Line 37:
 
==Explanation==
Saving the game for changing the box is handled a little differently than saving the game normally. It consists of three steps:<ref>[https://github.com/pret/pokegold/blob/dc77fcf2c7b28222dabfdfbbe5a409d38ff29e13/engine/menus/save.asm#L40-L61 The function to save the game for changing the box on Gold/Silver] and [https://github.com/pret/pokecrystal/blob/8c6242a1524f3e757f6430e8f729133f9bd76c96/engine/menus/save.asm#L39-L61 on Crystal]. Note that the behavior of <code>SavingDontTurnOffThePower</code> is different on the two versions: On Gold/Silver, the function not only prints the "Saving..." text but is also responsible for [https://github.com/pret/pokegold/blob/dc77fcf2c7b28222dabfdfbbe5a409d38ff29e13/engine/menus/save.asm#L249 actually saving the game afterwards], but on Crystal, actually saving the game happens as [https://github.com/pret/pokecrystal/blob/8c6242a1524f3e757f6430e8f729133f9bd76c96/engine/menus/save.asm#L241-L242 the first thing in the <code>SavedTheGame</code> function] instead (before the same function prints the "<PLAYER> saved the game!" text). This causes the timing windows for cloning, and especially [[Bad clone glitch|bad cloning]], to be different on those versions.</ref>
Saving the game for changing the box is handled a little differently than saving the game normally. It consists of three steps:
*# The contents of the active box (before changing) is saved to the SRAM.
*# The number of the active box changes, and the contents of the new box is loaded from the SRAM.
*# The game is saved as normal.
 
If the game is reset after step 1 has finished but before step 3 starts, then the contents of the active box is updated, but the party (a part of the main game data) is not, resulting in Pokémon cloning.
 
Although the save file is protected by a 16-bit checksum and a backup copy, they only apply to the main game data, so this glitch is not prevented. Furthermore, this means that even if step 3 has started, as long as the game hasn't finished writing the main save file, the main save file would likely be detected as corrupt and the backup would be used instead, resulting in successful cloning anyway. On the Crystal version, the timing window to get good clones is about 9–10 frames, making the glitch relatively easy to execute. <!-- TODO: What about G/S? -->
 
Overall, when using the change box method, the timing window to get a good clone is rather lenient:
Interrupting step 1 by resetting may result in the [[bad clone glitch]], which is much harder to execute due to a smaller timing window.
* On Crystal, the window is about 9–10 frames, beginning just a moment after the "SAVING... DON'T TURN OFF THE POWER." text is fully printed.
* On Gold/Silver, the printing of the entire "SAVING... DON'T TURN OFF THE POWER." text, as well as a 16-frame delay afterwards, happens within the timing window, in addition to the aforementioned 9–10 frames.
 
InterruptingResetting stepa 1moment byearlier resettingthan the beginning of this timing window may end up interrupting step 1 and result in the [[bad clone glitch]], which is much harder to intentionally execute due to a smaller timing window.
 
==References==
<references />
 
[[Category:Generation II glitches]]
Cookies help us deliver our services. By using our services, you agree to our use of cookies.