Currently in order to determine the time for RNG users have to repeat a process several times to determine their DS parameters. This is because the value of Timer0 seems to have a spread of 0x001.
Now while this leads to stable RNG abuse, I am wondering what causes the system to select from two different Timer0 values. Because if we could determine that, we would be able to reduce some of the trial and error for actually resetting for specific times.
Last night I was hunting down Zekrom and advancing PID frames to find a specific nature. What occurred to me was quite strange. Whenever I first set the DS system time to hit the desired RNG I consistently landed the Timer0 I had found to occur more than 75% of the time.
When I reset to that time, loaded the file and advanced the PID frame by saving once, it also worked fine.
It was after performing this save that I began to get stuck on my Timer0 that occurred less. Whenever I had saved, and the file had a time stamp in the future to that of the system time upon load, it would select the rarer Timer0. Repeating setting the system time, and loading the game a dozen times constantly had me hitting the rarer Timer0.
Setting the system time back before the save, loading, saving, and then updating to the desired time allowed me to hit the desired Timer0.
I repeated this, performing a different number of saves after loading. It was constantly reproducible.
I'm not sure if anyone else has seen something like this. Or if more is known about how the system picks between Timer0 values. While doing the parameter finding I thought it had to do with the ms delay on me launching the game. But having such a predictable recurrence last night makes me question that.
Now while this leads to stable RNG abuse, I am wondering what causes the system to select from two different Timer0 values. Because if we could determine that, we would be able to reduce some of the trial and error for actually resetting for specific times.
Last night I was hunting down Zekrom and advancing PID frames to find a specific nature. What occurred to me was quite strange. Whenever I first set the DS system time to hit the desired RNG I consistently landed the Timer0 I had found to occur more than 75% of the time.
When I reset to that time, loaded the file and advanced the PID frame by saving once, it also worked fine.
It was after performing this save that I began to get stuck on my Timer0 that occurred less. Whenever I had saved, and the file had a time stamp in the future to that of the system time upon load, it would select the rarer Timer0. Repeating setting the system time, and loading the game a dozen times constantly had me hitting the rarer Timer0.
Setting the system time back before the save, loading, saving, and then updating to the desired time allowed me to hit the desired Timer0.
I repeated this, performing a different number of saves after loading. It was constantly reproducible.
I'm not sure if anyone else has seen something like this. Or if more is known about how the system picks between Timer0 values. While doing the parameter finding I thought it had to do with the ms delay on me launching the game. But having such a predictable recurrence last night makes me question that.