I have a few things I've figured out that I thought might be worth putting up in here.
First of all, the RNG is the same as last gen. It's still seed = seed * 0x5d588b656c078965 + 0x0000000000269ec3. There's also still a Mersenne Twister, though it's an official one now too. It seems to be a little bit different than the one that GF has always used, but that's not a big deal.
What has changed is that there's not a function to build an array of entropy data anymore. So the initial seed is built in a different way. I'm not sure exactly how, but odds are it uses the AES generator built into the 3DS. There are functions on the DSi and 3DS for generating random numbers from the on-board AES hardware. In fact, on the DSi they have specific instructions to use the AES library's random numbers as a starting point for the main mathlib RNG. I don't know 100% for sure that that's the same case on the 3DS, but there's no reason for it to change at all considering that the 3DS is pretty secure in general. Certainly moreso than previous "DS" handhelds.
Anyway, what that means is that we may not be able to ever RNG the way we're used to ever again. There's certainly a chance I'm wrong about that last bit, and I hope I am. Obviously I'm not 100% sure, but if what I was saying wasn't pretty solid, to me at least, I wouldn't mention it at all until I know more.
It may come down to using a GPGPU program to (relatively)quickly find seeds in games that are already loaded and going from there.
First of all, the RNG is the same as last gen. It's still seed = seed * 0x5d588b656c078965 + 0x0000000000269ec3. There's also still a Mersenne Twister, though it's an official one now too. It seems to be a little bit different than the one that GF has always used, but that's not a big deal.
What has changed is that there's not a function to build an array of entropy data anymore. So the initial seed is built in a different way. I'm not sure exactly how, but odds are it uses the AES generator built into the 3DS. There are functions on the DSi and 3DS for generating random numbers from the on-board AES hardware. In fact, on the DSi they have specific instructions to use the AES library's random numbers as a starting point for the main mathlib RNG. I don't know 100% for sure that that's the same case on the 3DS, but there's no reason for it to change at all considering that the 3DS is pretty secure in general. Certainly moreso than previous "DS" handhelds.
Anyway, what that means is that we may not be able to ever RNG the way we're used to ever again. There's certainly a chance I'm wrong about that last bit, and I hope I am. Obviously I'm not 100% sure, but if what I was saying wasn't pretty solid, to me at least, I wouldn't mention it at all until I know more.
It may come down to using a GPGPU program to (relatively)quickly find seeds in games that are already loaded and going from there.
Last edited: