Important Resources: - Gen 3 Mail Corruption Tool: https://github.com/CasualPokePlayer/Gen3MailCorruptionTool/releases/latest - Gen 3 Flash Save Corruption Tool: https://github.com/CasualPokePlayer/Gen3FlashSaveCorruptionTool/releases/latest - GBA Flash Speed Test: github.com/CasualPokePlayer/gba-flash-speed-test - FlowTimer: https://gunnermaniac.com/ft Before running: The save corruption run requires manipulating a specific Mudkip DEPENDING ON YOUR TRAINER ID. Gen 3 Mail Corruption Tool will take in your trainer ID and give you possible Mudkips that work, along with their stats and a timer offset to put into FlowTimer. Since human reaction times and setups vary, an offset can be entered in to automatically adjust results, which you must tune to your own reaction time and setup. The save corruption window is roughly ~1.5 frames large. This window will also vary depending on your cartridge (due to flash being non-deterministic) and may move around slightly in practice (again due to flash being non-deterministic). Gen 3 Flash Save Corruption Tool is intended to help calibrate your hard reset offset. It reports the each save sectors' (Sect) calculated checksum (CChk), stored checksum (SChk), save chunk ID (ID), and save interrupt point (IntPnt). The save interrupt point reports the number of bytes that were successfully written before the hard reset occurs. Note: the calculated checksum, stored checksum, and save chunk ID would be FC1F, FFFF, and 65535 respectively if the sector is fully erased. The goal is to reset after sector 1 has completed saving but before sector 2 is erased. In case you're slightly early, save chunk 1 will only be partially saved, with FFFF and 65535 in the stored checksum and save chunk ID, while the calculated checksum would not be FC1F. In case you're slightly late, sector 1 will be completed and sector 2 will be partially erased. It appears if a reset occurs very early in the erasure process, the sector will end up becoming all 0s rather than all FFs (and possibly having a few bits of junk leftover, leading to a weird calculated checksum). If you're fairly late, sector 2 will appear fully erased (FC1F/FFFF/65535). Gen 3 Flash Save Corruption Tool can be loaded up using GBI cli args. In the .cli file, simply place the path to the .gba file as an argument (e.g. I place it in the GBI folder and use slot 2 for my SD Card, so I put in cardb:/GBI/FlashSaveCorruptionToolMB.gba). Hold Start+Select during the GBA BIOS intro to load up the tool. GBA Flash Speed Test is a test I wrote a while ago. It will tests the speed of sector erasure and programming. You can use it to get an idea of the window for corrupting the save when clearing all save data (take the average of sector 0 and divide by 280896 to get a rough frame window). The test can be loaded up with GBI like with Gen 3 Flash Save Corruption Tool. Note, the test will nuke whatever save is present on the cart. Route: - Always delete all save data before the run (Up+B+Select on the title screen). - Pick Boy for a few seconds timesave (doesn't really matter in the end). - (Optional) Grab PC potion for safety. - Before saving for Mudkip, check the Trainer ID. While saving, enter the Trainer ID into the Gen 3 Mail Corruption tool and check Soft Reset Manip. - You need to save 14 times before the save corruption can be done, so you can keep saving before the starter to input your info into the Gen 3 Mail Corruption tool and setting the offset in FlowTimer. - You could alternatively manipulate Mudkip FR/LG style, simply uncheck the "Soft Reset Manip" checkbox. - Keep count in your head the amount of times you save! The save corruption won't work if you save the wrong number of times! - After you get Poke Balls, make sure to catch at least 3 Pokemon on the way to Petalburg. - Note, if you kill any wild Pokemon, you must reset the run! The mail corruption expects a specific amount of exp, any extra exp will result in a Bad Egg. - Buy all the Orange Mail you can at Petalburg Shop. - Save the game more times. Stop once you've done your 13th save total. - Put Orange Mail on all 4 Pokemon. - Save the game again (this should be the 14th time). - Soft reset and enter the erase all save data screen (Up+B+Select). - Say yes to erasing all save data, but hard reset a few frames afterwards. The exact window varies depending on the cartridge, but should be fairly large (e.g. ~7 frames). - If successful, the game will inform you the save is corrupted and the previous save will be loaded. - Save the game again, this time hard resetting while the game is saving. The exact offset varies depending on the cartridge, but should be roughly ~1.3 seconds after confirming the save. - If successful, the game will let you load the save and will not inform you of any corruption. - Note, there is no indication of whether you are early or late! If the game tells you the save is corrupted, you can try the corruption again by saving the game again and redoing the Up+B+Select corruption. - Box Names: KFDHQTBH TBHR BFO AI - Place Mudkip in box 2 slot 27 (3rd slot on the bottom row). - Put Orange Mail on the remaining 3 Pokemon. - The 3rd Pokemon will show ???s for the Easy Chat words. Replace the 1st, 5th, and 7th words according to the Mudkip selected with the Gen 3 Mail Corruption tool (use ABC mode to find the words I guess?). - Grab the 3rd Pokemon and swap it against the glitch Pokemon in the box (do not grab the glitch Pokemon, it might not be safe to grab!). Old Box Names (might be easier): 3QDngTBH QBHN BHO AI