Jump to content

Recommended Posts

Posted

There are some bytes in the save struct that are apparently unused by the games: for example, 0x04–0x05 and 0x42–0x43.

I'm considering using these for my own nefarious purposes. So:

1. Do retail saves always set these to zero, or can they be garbage? I would hope the whole struct is memset to zero right off the bat, but you never know.

2. If so, do any legality checks—including Legality Checker and anything Nintendo uses—verify that these bytes are zero?

Please note: I am not talking about "trash bytes". If you don't know what I mean, you probably don't know the answer.

Posted

I've never seen any of them be non-zero other than byte 135, which has something to do with Pokeathlon stats in HG/SS. (These stats are only actively changed while a Pokemon is in your party. Data is lost as far as I know when they're put into your PC.)

Posted
The PP legality checker' date=' at least, doesn't balk at a Pokémon with junk in 0x04 and 0x05. Interesting.[/quote']

Those two bytes in particular have resulted in crashes when attempting to use Pokemon with them as non-zero. I'm almost completely sure that they're read with the checksum as a 4-byte integer, and are needed as 0.

Posted

It would certainly make sense; bit odd to jam them in the header like that otherwise. Okay, noted. I'll make my parser work like that, and try some of the other mystery bytes tomorrow.

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...