Jump to content

SRAM glitch: Difference between revisions

Moved the steps of clearing the save file to the "procedures" section, since the expanded party is the most common reason to do this glitch.
No edit summary
(Moved the steps of clearing the save file to the "procedures" section, since the expanded party is the most common reason to do this glitch.)
Line 5:
The glitch exploits a quirk in the code for saving the game to get a save file with a correct checksum. The necessary timing for the hard reset is very precise (less than 0.1 second), but it is still much easier than getting the correct checksum by chance.
 
== Procedure ==
=== Clearing the save file ===
# Open the start menu, and select "Save".
This glitch can be executed at any point in the game, but is most often done at the very start of a new game to access an expanded party. For this purpose, the player needs to clear any existing save files:
# Select "Yes" to the "Yes/No" dialog box, but at a very precise moment, power off or reset the console.
If# the player wants to perform this glitch, but a save file exists (i.e. a Continue option exists on the title menu), it can be cleared by pressingPress Up+Select+B on the title screen (not the title menu; it is the screen with the "Pokémon" logo and version name, and can be reached from the title menu by pressing B), and choosing "Yes" to the "Clear all saved data?" prompt.
#* The timing is version-dependent and is easier on {{Y}}.
# Choose "Yes" to the "Clear all saved data?" prompt.
 
Even if the player does not have an existing save file (e.g. on a fresh cart), it is still recommended to clear the save file anyway. Clearing the save file will set the SRAM to all 0xFF bytes, which guarantees that this glitch will give the player an expanded party. On the other hand, the contents of uninitialized SRAM is unpredictable: There is a good chance it will be 0xFF anyway, but it can also be something else. In particular, some emulators initialize the SRAM to 0x00, which means even if this glitch succeeded, it will '''not''' give the player an expanded party.
The cue is to power off or reset after the "Yes/No" dialog box has disappeared, but before the text changes to "Saving..."
 
=== Save corruption ===
Holding Start+Select+A+B will not work, as the game prevents soft resets while it is saving.
The following steps can be done at any point in the game.
# Open the start menu, and select "Save".
# Select "Yes" toin the "Yes/No" dialog box, but at a very precise moment, power off or reset the console.
Holding#* [[Reset|Soft resetting]] (holding Start+Select+A+B) will not work, as the game prevents soft resets while it is saving.
#* The cue is to power off or reset after the "Yes/No" dialog box has disappeared, but before the text changes to "Saving..." The exact timing is version-dependent.
#** In {{RB}}, the window of opportunity is a few frames only, located right after the box disappears, making the glitch rely more on luck than on timing.
#** In {{Y}}, there are more frames where the glitch will be successful, and the window is further away from the Yes/No box disappearing, making the glitch more viable on console.
 
If the glitch was successful, a Continue option will be present when the game is started again, andbut the player's party will be replaced by the existing party data in the SRAM. In particular, the player will be able to access their Pokémon screen even if they never received the starter (unless the party data in the SRAM hashad 0 Pokémon).
In {{RB}}, the window of opportunity is a few frames only, located right after the box disappears, making the glitch rely more on luck than on timing.
 
There are two ways the glitch can fail:
In {{Y}}, there are more frames where the glitch will be successful, and the window is further away from the Yes/No box disappearing, making the glitch more viable on console.
There* are two ways the glitch can fail: either whenWhen rebooting the game the message "The file data is destroyed!" willmay appear, which usually indicates the reset happened too early and will remove the Continue option, or a Continue option will appear but the Pokémon screen cannot be accessed, indicating that the reset happened too late.
 
* If the Continue option does appear, the player may find their party data unchanged (if the player never received the starter in this game, then the Pokémon screen cannot be accessed), which indicates that either the reset happened too late, or the player didn't set up the SRAM data properly (see [[#Clearing the save file|Clearing the save file]] above).
If the glitch was successful, a Continue option will be present when the game is started again, and the player will be able to access their Pokémon screen even if they never received the starter (unless the party data in the SRAM has 0 Pokémon).
 
There are two ways the glitch can fail: either when rebooting the game the message "The file data is destroyed!" will appear, which usually indicates the reset happened too early and will remove the Continue option, or a Continue option will appear but the Pokémon screen cannot be accessed, indicating that the reset happened too late.
 
==Variants==
Line 26 ⟶ 32:
{{Main|255 Pokémon glitch}}
By performing the SRAM glitch while the player has no save file, the party data will become whatever is in the SRAM, and is likely to be all 0xFF bytes (in particular, clearing the save file will set the SRAM to all 0xFF). As a result, the player will have 255 Pokémon in the party. When the player opens the party screen, it will appear to show nothing in the party, but the player will be able to scroll the cursor to any of the 255 slots and switch Pokémon around.
 
If the player wants to perform this glitch, but a save file exists (i.e. a Continue option exists on the title menu), it can be cleared by pressing Up+Select+B on the title screen (not the title menu; it is the screen with the "Pokémon" logo and version name, and can be reached from the title menu by pressing B), and choosing "Yes" to the "Clear all saved data?" prompt.
 
<!-- Should these be listed on the 255 Pokemon glitch page instead? -->
Cookies help us deliver our services. By using our services, you agree to our use of cookies.