Cellsplitter Posted February 4, 2023 Posted February 4, 2023 I've been digging into how it would be possible to edit the checksum on my Pokemon Sapphire savefile so that it ends up at A030 for a shiny (naughty) Jirachi from the Pokemon Colosseum Bonus Disc. Sites such as JirachiCalc have been useful in helping me figuring out my current checksum but that's about it. I've read a lot of older posts about using hexeditors and such but I always end up more confused and ultimately give up in the end. I'd apricate any help and possible explenations so I can understand and maybe generate other types of Jirachis down the line. My current checksum is at 3C71. Savefile is attached below. POKEMON_SAPP_AXPE01.sav
Kaphotics Posted February 5, 2023 Posted February 5, 2023 If you're going to edit the checksum, why not just inject the resulting Jirachi? Not like it will be anything unique since this checksum trick has been around for ages. The checksum is computed with the following logic, just an adder with any 16-bit overflow added on top. https://github.com/kwsch/PKHeX/blob/d8b8646de65379e272046df096ede06423ede34b/PKHeX.Core/Saves/Util/Checksums.cs#L120-L130 Just mutate the block that gives the Jirachi checksum in a hex editor, and have PKHeX calculate the fixed checksum for you. 1
Cellsplitter Posted February 5, 2023 Author Posted February 5, 2023 Thanks for the reply. I do realize that the resulting Jirachi will be no different then one I could inject manually with PKHeX. However it is the process that makes it feel more genuine and frankly, more fun. I also did try to manually change the checksum with a hexeditor. I found the current checksum (3C71) at AFF0 and changed it to the desired one. I then opened the savefile with PKHeX and re-saved over the old one. However, when I load this savefile up it sais it's corrupt and loads up the backup save instead. Is there something I'm missing?
Kaphotics Posted February 5, 2023 Posted February 5, 2023 The checksum is a calculated value. You have to edit data within the save block so that the calculated (re-saved) checksum results in your desired checksum. Save files have primary and backup save files. Be sure you're changing the most recent block.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now