RNG Manipulation in FireRed/LeafGreen: Wild Pokémon Supported in RNG Reporter 9.93

Status
Not open for further replies.

mattj

blatant Nintendo fanboy
OH and i did a few s r's using em loop with the pre timer spacing the time between my first and second a taps and the second timer spacing my encounter. I haven't processed the results to get starting seeds yet but i can tell you the process 'felt' and looked decently consistent like it had merit. I'll do a bunch more tonight. Sorry for the double post i can't edit on my phone. : /
 

NixHex

Doing just fine, here at the top of the world
is a Site Staff Alumnusis a Forum Moderator Alumnusis a Researcher Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus
OH and i did a few s r's using em loop with the pre timer spacing the time between my first and second a taps and the second timer spacing my encounter. I haven't processed the results to get starting seeds yet but i can tell you the process 'felt' and looked decently consistent like it had merit. I'll do a bunch more tonight. Sorry for the double post i can't edit on my phone. : /
Yeah I'm on a phone now and its ridiculous. Anyway, what I've been doing is setting a timer on this windows program at the moment I SR, then I switch to Firefox and start emloop's timer while pressing start on venu/zard when I hit my seed time. My frames have been close, but I still can't reach a duplicate seed AND the exact frame. I'm seriously dying for that mewtwo but for the sake of research I'm going to hold out since it's so easy to check ivs on a lv70 pokemon.
 

mattj

blatant Nintendo fanboy
I dunno zap dos wasn't bad i just had to dump three vitamins into each stat and record his stats before and after. I'm still having to dump two into each stat for me w two. I think anything L fifty or up would do just as well. Oh and have you managed to get any consistent starting seeds at all with this method? Duplicate spreads don't really matter as much to me as long as the starting seeds are relatively consistent.
 

NixHex

Doing just fine, here at the top of the world
is a Site Staff Alumnusis a Forum Moderator Alumnusis a Researcher Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus
Here's the data I posted before, not going for duplicate frames, because I've already accomplished that.

Trial,Seed, Nature, IVs, PID, Starting Seed, Frame
1, 394d4907, Serious, 1/1/16/25/3/23, 6c8d3492, 9627, 609
6b, 2253d770, ", " , a25b3957, 9627, 588
7, 1539c670, rash, 20/21/9/20/2/24, d2708eaf, 9626, 626
8a, ab3408fe, brave, 15/20/14/15/19/13, f8dc3259, (method 3)*
8b, b2599899, " " , 78dc1bfa, 9627, 1139
11, 1bf9b890, naughty, 26/30/6/25/8/21, 87114eef, 962d, 1110
12, f915f336, modest, 15/23/19/24/1/17, 1bf99037, 962d, 1108
so, that's 3 duplicate son 9627 with a very close 9626, then two duplicates of 962d, which is only 4 away from 9627. Shit, I just realized I almost got duplicate spreads on the last two samples. There were also some close seeds, 5565 and 5567, but those were the only two in that range. I still don't understand the huge difference between 962x and 556x, but whatever, we'll get there eventually.... I can feel it.
 

NixHex

Doing just fine, here at the top of the world
is a Site Staff Alumnusis a Forum Moderator Alumnusis a Researcher Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus
Oh, and if the seed generation is so simple, do any of you programers who follow the thread think they could whip up a simple lil program that would tell you what starting seed you'd get if you wated XX:XX time?
*plzjesusplzjesusplzjesusplzjesusplzjesus*
I've been out of school for almost a year and I'm jonesing for something to write! What exactly do you mean by XX:XX time? Do you mean the time from Venu/zard to actually pressing start? It's gonna be hard for me without some sort of formula or algorithm as I still don't get exactly how the seed is generated.

[edit] I think I understand how it works!
That adress is the counter of the GBA timer 2/4, which is running @ 256Hz; 65536clks.
This explains why the seed is always 2 bytes, aka < 65536 (0x10000)! Wouldn't this just be a linear relation, as in Seed (y-axis) vs Time (x-axis)?

So, Seed = (A [s^-1] * Time [clks]) ? by s^-1, I mean Hertz, but s^-1 is easier to visualize in an equation; A is a constant, which I will figure out when I have more time. Let me know if I'm on the right track, flovv, because this could turn out to be a pretty simple program.
 
Maybe it's just me, but that actually sounds completely abusable.

[...]

Oh, and if the seed generation is so simple, do any of you programers who follow the thread think they could whip up a simple lil program that would tell you what starting seed you'd get if you wated XX:XX time?
*plzjesusplzjesusplzjesusplzjesusplzjesus*
If iam correct the timer/seed increases every 59.59 nano seconds, this would be 44940h every frame.
You could try and use a calculator, but in just one frame the counter overflows 4 times. (16 Bit counter ,0~FFFF)

If we are lucky, the press of the confirm-button is cheked only once per frame, so that we can get a set of the same seeds to a delay.
A specific one seems still impossible to me.

Edit:
This explains why the seed is always 2 bytes, aka < 65536 (0x10000)! Wouldn't this just be a linear relation, as in Seed (y-axis) vs Time (x-axis)?
No, its 2Byte because the data register of timer is always 16 bit large.
It counts up to FFFF, then overflows and starts at 0000.

Also I think the clks i wrote first were wrong as the debugger showed them up false.
I think the timer runs @ 16.78 MHz, like i described in this post.
 

mattj

blatant Nintendo fanboy
If iam correct the timer/seed increases every 59.59 nano seconds, this would be 44940h every frame.
You could try and use a calculator, but in just one frame the counter overflows 4 times. (16 Bit counter ,0~FFFF)

If we are lucky, the press of the confirm-button is cheked only once per frame, so that we can get a set of the same seeds to a delay.
A specific one seems still impossible to me.
Oh, what I mean is that I've been getting repeat starting seeds all over the place. Granted, I think the best so far was like 17% of the time, but hey, I'm okay with that. I'm able to hit c04 for example very comfortably with my Turbo Controller spamming A reeeeeally fast. However, if I knew that say 10 seconds between A presses = seed c04, and that 10.01 seconds = c05, etc, etc (just silly examples) I feel comfortable that I could probably use emloop to target a seed I want with 17%+ accuracy (which I'm fine with.) I'm not at all expecting the kind of accuracy I can have with Diamond / Pearl / Platinum / Heart Gold / Soul Silver, etc, but I'm just looking for X.xx Seconds = YYYY Starting Seed so I have something to shoot for.

No pressure, just tossing the idea out there. :)

[edit]
Oh, Nix, I verified what you found earlier. The frames don't STOP till the moment AFTER you first press A and the poke "chirps" and that lil box pops up, WHEN YOU PRESS A AGAIN AFTER THAT.

I used my GBA Player and Turbo Controller like normal with the setting on high, so I would know what seed I'd probably get (I've done 70 SRs on those settings now with fairly consistent results). However, instead of rushing straight into battle, I let off A as soon as I heard Mewtwo make his noise and just waited there for a while. I don't know how long. I got up, went and gott a soda, chugged it and came back :P Anyway, I got this:
(Bashful): 25 / 13 / 4 / 19 / 18 / 29, c297, 6179
As I suspected it was a Starting Seed I'd gotten several times before, but on a muuuuuuuuuuch higher frame. THUS, I now know ( though you already did lolz) that the frames don't stop until you press A the second time and the battle begins to start (otherwise it would have been something in the 570ish range or whatever I had consistently before).

This is important as one could think that they were stopping the frames just by pressing A the first time and end up totally confused hours later as to why they keep missing their target frame.

Anyway, now it looks like we know:
1) It really is possible to hit reasonably consistent startging seeds in FR/LG: Been There Done That.
1) The moment the game "begins seeding": When you press A to make the "Venu/zard Scene" begin.
2) The moment the starting seed is chosen/calculated: When you press A again on the "Venu/zard Scene".
3) The moment frames STOP rolling: When you press A the SECOND time on your pokemon and the battle actually begins.
That's pretty much all the info I think we need to start really abusing. I "think" that if we had XX:XX time = YYYY seed we really could search through the possible seeds and target the best ones for our individual needs, but as is, we can "randomly" sift through seeds with the help of emloop or whatever, and just pick whatever target spread we want from whatever starting seed we're currently consistently hitting.

Yay Science! P____p

[edit 2]
Whulp, hittin teh hey for now, but I managed to find time to do 8 SRs this new way. Didn't get any good results I suppose, but I'm still getting used to it. I "think" my problem may actually be hitting the second A tap in synch with the "pre-timer". I can follow it, but I seem to have a terrible time lining up with it. I do MUCH better hitting the final A tap with the end of the second timer because there's that nice countdown at then end that I can really audably synch to. I think once I get used to it, this may actually be a better way of doing it. I'll give it 42 more tries tomorrow and see...

Emloop: "1500" Frames, "25" Seconds, Top R Box empty, Pretimer Box "15" Seconds, Bottom Box "0", Final Timer Countdown Beep Box (very bottom) "10" Seconds (it helps).
1) Soft Reset
2) Press A AND Spacebar sometime between Gamefreak and Nido/gar (begin seed generation)
3) when pretimer (15 seconds) hits 0 press A again (end seed generation)
4) mash A through to Mewtwo AND press A once to make him "chirp" (frame advancement)
5) just set there till second timer (25 seconds) hit's 0 and press A again to begin the battle (end frame advancement).
Code:
1) (Naïve): 2 / 12 / 0 / 15 / 21 / 30, 6805, 1430
2) (Hardy): 15 / 3 / 8 / 16 / 4 / 26, 103a, 1421
3) (Modest): 10 / 26 / 23 / 29 / 22 / 2, 9f63, 1425
4) (Naughty): 5 / 27 / 1 / 2 / 20 / 20, 98aa, 1424
5) (Modest): 19 / 8 / 22 / 11 / 4 / 10, 331c, 1421
6) (Docile): 3 / 20 / 2 / 31 / 22 / 7, 8d36, 1417
7) (Modest): 5 / 22 / 5 / 6 / 25 / 21, 8fb3, 1424
8) (Impish): 22 / 14 / 6 / 2 / 13 / 20, 9227, 1426
 

NixHex

Doing just fine, here at the top of the world
is a Site Staff Alumnusis a Forum Moderator Alumnusis a Researcher Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus
I tried that method a few nights ago but I was way too beat to move on... only tried once actually, aiming for an actual spread that I wanted. I will seriously try to work on a program to give us seed vs. time, but I can't guarantee anything, understandably.

[edit]Okay, so I believe flovv is right in that the clock runs at
256 Hz * 65536clks = 16,777,216 Hz = 16.78 MHz. Now, if we divide 65536/(16.78 MHz) this gives us 0.0039 s, or
3.9 ms until the clock overflows to 0x0000 (this quantity can also be derived by 256 Hz / 65536 frames = 1/256 = 3.9 ms, but the former method was more descriptive as to the behavior of the clock). Obviously this is pretty quick, but not completely hopeless, since we were able to get very close and duplicate seeds time and time again. Thus the seed
would be a periodic "sawtooth" wave function, vs. time. Sawtooth basically just means a ramp (a straight line from 0x0000 to 0xFFFF), then a drop to 0 and a ramp back up, and continues indefinitely (until the Venu/zard screen expires, in which it returns to Nido/gar animation). Here's some more info on sawtooth and other periodic wave functions. Therefore I think, or at least hope, the equation for the first cycle of the sawtooth would be:

S(t) = 65535 * ( 256*t ) = { 16776960*t , for 0<t<0.0039

where S(t) is the desired Seed at time t. Solving for t yields:
t = S/16776960 + 0.0039*n, where n=0,1,2,3... (this arises for the reason stated above: the equation above is periodic, so multiple times will satisfy it.)

Let's try for mattj's beloved seed 0x0c04. Converting to decimal we get 3076, so the first possible value is
t = 3076/16776960 = 0.00018335 s = 0.18335 ms.

therefore all possible times that will reach that seed increment at 3.9 ms, so for the first couple times, we get 0.18335,
4.08335, 7.98335 (all in ms). I'll try to whip up a program that will find all reasonable times for a given seed, ignoring the really early ones like these. Looking at this method, you have to really be on the ball to hit the right seed, but as
mattj put it, "been there, done that."
 

mattj

blatant Nintendo fanboy
OH WAIT so what you guys are saying is that it literally cycles through all possible starting seeds in less than one second? ? ?
 

NixHex

Doing just fine, here at the top of the world
is a Site Staff Alumnusis a Forum Moderator Alumnusis a Researcher Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus
OH WAIT so what you guys are saying is that it literally cycles through all possible starting seeds in less than one second? ? ?
waay less than one second, 3.9 milliseconds to be exact. I don't know exactly how on earth I hit a bunch of duplicate seeds but your rapid fire controller is doing you a lot of favors. So for now, If the formula is correct, all we need is some software that comes up with those times, and we're ready to go... though it's going to be very hard, as flovv said, to aim for exact seeds. We're going to just have to settle on a time for a particular seed, hope to hit it, and then hope we hit our frame. In essence, this process is exactly the same as emerald, but just requires a reliable pretimer... i wish emloop's pretimer had beeping for its countdown, as the regular timer has.
 

mattj

blatant Nintendo fanboy
waay less than one second, 3.9 milliseconds to be exact. I don't know exactly how on earth I hit a bunch of duplicate seeds but your rapid fire controller is doing you a lot of favors. So for now, If the formula is correct, all we need is some software that comes up with those times, and we're ready to go... though it's going to be very hard, as flovv said, to aim for exact seeds. We're going to just have to settle on a time for a particular seed, hope to hit it, and then hope we hit our frame. In essence, this process is exactly the same as emerald, but just requires a reliable pretimer... i wish emloop's pretimer had beeping for its countdown, as the regular timer has.
My God, my holy God, I have no idea how I hit those repeats even WITH the turbo controller. That makes no sense?! Well. Toss the "emloop" idea out the window then. Not only would you have to be DEAD AND I MEAN DEAD on for the very first A press, but you'd have to be EXACTLY ON on the second press too.

At first, I didn't realize what an incredibly small scale we were talking about. I figured it was like, Idunno, 1 seed per frame or maybe 10 or something, but not like, my God, I have no idea how many. I figured you could just time it for like, 3 seconds to hit seed ABCD and 3.3 seconds to hit ABCF, etc, etc, but that scale is just to crazily far beyond human capability IMO, at least for when it comes to "targeting" specific seeds.

Man. In my honest opinion, it looks like tapping to a metronome (at least for the first two taps) might actually be the best way now. Dang. Double Dang.

Gonna scrap the whole emloop idea and try using the Turbo Controller on the first from fastest setting...
...dang...
 

mattj

blatant Nintendo fanboy
i HATE to double post, but I got some CRAZY INSANE new Soft Resets, with this one spread showing up...6/20 times. Still waiting for Metalkid's IV Calc to reboot, and then I'll edit all the data in here. THIS IS NUTS!! :D

So what I did was basically the same as before but with my Turbo set on the first from highest setting this time. I held down the Reset button, and hovered my finger over A, then let go of Reset and held down A straight through till mewtwo. I then dumped 2 vitamins in each stats and recorded the stats before and after, ran that through metalkid's for IVs, then ran the IVs through RNG Reporter's IVs to PID, took that seed and ran it through Steve's program to get my starting seed and frame:

Code:
1) (Lonely): 16 / 30 / 14 / 9 / 24 / 15, 3094, 572
2) (Lonely): 16 / 30 / 14 / 9 / 24 / 15, 3094, 572
3) (Naïve): 25 / 7 / 27 / 9 / 29 / 28, 3098, 572
4) (Rash): 11 / 23 / 10 / 14 / 30 / 1, e762, 580
5) (Serious): 30 / 5 / 31 / 3 / 9 / 13, 309c, 572
6) (Modest): 17 / 28 / 4 / 15 / 0 / 19, 3113, 580
7) (Relaxed): 4 / 22 / 9 / 27 / 19 / 18, 9e1e, 572
8) (Timid): 11 / 22 / 25 / 11 / 12 / 17, e754, 543
9) (Brave): 8 / 20 / 2 / 3 / 7 / 22, 11d4, 642 (what?!)
10) (Lonely): 16 / 30 / 14 / 9 / 24 / 15, 3094, 572
11) (Serious): 17 / 16 / 10 / 22 / 30 / 24, e75e, 572
12) (Lonely): 16 / 30 / 14 / 9 / 24 / 15, 3094, 572
13) (Naïve): 25 / 7 / 27 / 9 / 29 / 28, 3098, 572
14) (Lonely): 16 / 30 / 14 / 9 / 24 / 15, 3094, 572
15) (Adamant): 28 / 17 / 28 / 15 / 27 / 12, e754, 580
16) (Brave): 8 / 20 / 2 / 3 / 7 / 22, 11d4, 642 (what?!)
17) (Relaxed): 4 / 22 / 9 / 27 / 19 / 18, 9e1e, 572
18) (Docile): 22 / 18 / 26 / 24 / 29 / 12, 8749, 580
19) (Serious): 17 / 16 / 10 / 22 / 30 / 24, e75e, 572
20) (Lonely): 16 / 30 / 14 / 9 / 24 / 15, 3094, 572
Seeds Breakdown:

Code:
All Seeds “out of 20 Soft Resets”:

3094  -  6
3098  -  2
9e1e  -  2
e754  -  2
11d4  -  2
e75e  -  2
8749  -  1
e762  -  1
309c  -  1
3113  -  1
9/20 (45%) in the “309?” range, not bad. 6/20 (30%) for 3094 alone! Prolly need to do 10 more to round this out a hair more. :/
 
I don't know exactly how on earth I hit a bunch of duplicate seeds but your rapid fire controller is doing you a lot of favors
My God, my holy God, I have no idea how I hit those repeats even WITH the turbo controller. That makes no sense?!
Well, keep in mind that not all values of the timer are possible because we do not know how ofter per frame the game can recognise that a button has been pressed.
Perhaps from the 279.620 values per frame only 10 are possible...

The results of mattj seem to confirm a behavior like this.
 

NixHex

Doing just fine, here at the top of the world
is a Site Staff Alumnusis a Forum Moderator Alumnusis a Researcher Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus
Well, keep in mind that not all values of the timer are possible because we do not know how ofter per frame the game can recognise that a button has been pressed.
Perhaps from the 279.620 values per frame only 10 are possible...

The results of mattj seem to confirm a behavior like this.
Yeah, that makes since, because some of us have received duplicate spreads now, even without autofire. One thing that concerns me is that some of our seeds were 1 or a few seeds off. For example, mattj's 0xc04 and 0xc05, and my 0x9626, 0x9627 and 0x962d, etc. For now, what I'm concerned is knowing exactly which spreads are available. If we plan to be proactive, my idea is that we search for Method 1 seeds on RNG reporter, hope we find some good ones that aren't greater than 2 bytes, then pray that they're "valid," obtainable spreads... all that on top of hitting our desired frame, which is sort of easy going by experience with emerald. And what if these valid seeds vary from cartridge to cartridge, as in, I cannot obtain C05 or C04, and mattj can't obtain 9626 - 962D, etc? I think this is where our next research lies:

1. What, and how many, seeds are valid during a certain time period?

2. What determines the validity of a seed?

3. Does the validity of a seed vary from cartridge to cartridge?

I'm very proud of our findings so far, and I believe that if we keep going at our current rate, we can solve this soon. Does anyone else have any ideas?
 

Zari

What impossible odds?
is a Contributor Alumnus
I haven't been able to play FR for a bit (due to being sucked into the black hole known as Soul Silver), but looking over NitHex's work, I found an interesting discovery:

256Hz*65536clks = 16,777,216Hz (DON'T simplify here)

65536clks / 16,777,216Hz = .00390625--this difference is important for timing reasons

with .00390625 instead of .0039, timing becomes simpler using a metronome, set at 240 BPM

60 s / 240 BPM = .25

why is the small diference important?

1 s / .0039 ~= 256.41

1 s / .00390625 = 256

This is 256 Hz yes, but, while this might seem like a whole bunch of nothing, it led me to this conclusion:

When using a metronome for timing purposes, 240 BPM is the setting for the GREATEST chance of hitting the same seed

at 240 BPM every click of the metronome signifies the game cycling through the starting seeds 64 times flat if you count the cycle value to be 3.90625 milliseconds

60 s / 240 BPM / .00390625 = 64

This simplifies the human error problem people might have, as other tempos have the cycle start at different times each beat of the metronome.

as a side note 120 BPM also works, though the cycles happen 128 times per click of the metronome

Not really a blinding discovery, but it should help those of us stuck with a metronome and a game cart.

Hope to get back to this soon
 

NixHex

Doing just fine, here at the top of the world
is a Site Staff Alumnusis a Forum Moderator Alumnusis a Researcher Alumnusis a Contributor Alumnusis a Battle Server Moderator Alumnus
Yeah I figured the .0039 was a bad approximation, but then I realized that if one us were to write some software to determine valid seeds, you can use the actual ratio of n*1/256. Interesting about the metronome though, I'll try that out.
 
Wow, excellent work, everyone!

I am sorry that I have not been able to take on a more active role in this research (I am very busy, thanks to having a seminar, essay, volunteer work, &c.), though I am immensely grateful to everyone in this thread who has helped push this research forward. It seems that there has been a deluge of new information within the past two weeks, and I now that I have a minute, I have updated the first post with a lot of information that jumped out at me, removed old information no longer relevant, and so on (old revisions can be found by clicking the "last edited" link, for those who are interested). I have tried to quote as many substantial posts as I could, so that they do not get buried within this thread, but please feel free to let me know if I missed anything you would like me to link to or include in the first post, and I will endeavour to take care of it as soon as I can. I have also updated the credits section at the bottom of the post, to recognize many users who have made frequent or groundbreaking contributions to the thread.

While I doubt I will find the time to contribute to this thread at an acceptable level in the foreseeable future (i.e. until the school year comes to an end), as mentioned, I am extremely impressed by the quality and clarity of information that you all are coming up with. This blend of co-operation and autonomy is everything I could possibly have asked for when I first created this thread last October, so thank you to everyone who has posted. Keep up the good work.
 

mattj

blatant Nintendo fanboy
Lol "Frequent contributor MattJ" = "spammer MattJ" xD

But seriously... New Soft Reset Data!

Same as before, hold down Reset, let off AND hold A straight through to Mewtwo, BUT I had the Turbo on the 2nd from fastest setting this time:
Code:
1) (Docile): 29 / 8 / 31 / 21 / 22 / 14, 569, 579
2) (Calm): 6 / 11 / 10 / 4 / 22 / 27, 9354, 579
3) (Docile): 29 / 8 / 31 / 21 / 22 / 14, 569, 579
4) (Mild): 3 / 13 / 5 / 1 / 14 / 19, 565, 579
5) (Naughty): 17 / 0 / 19 / 29 / 7 / 5, 571, 579
6) (Hardy): 15 / 21 / 17 / 25 / 28 / 29, 55d, 579
7) (Mild): 3 / 13 / 5 / 1 / 14 / 19, 565, 579
8) (Lonely): 16 / 6 / 3 / 20 / 2 / 30, 55c, 579
9) (Timid): 23 / 21 / 23 / 12 / 19 / 28, dc93, 580
10) (Docile): 4 / 30 / 22 / 28 / 19 / 21, 564, 579
11) (Naughty): 17 / 0 / 19 / 29 / 7 / 5, 571, 579
12) (Bold): 25 / 12 / 12 / 23 / 5 / 6, 556, 579
13) (Bold): 25 / 12 / 12 / 23 / 5 / 6, 556, 579
14) (Brave): 16 / 30 / 1 / 30 / 20 / 24, 4f21, 579
15) (Hardy): 14 / 30 / 4 / 26 / 17 / 22, dc94, 579
16) (Hardy): 14 / 30 / 4 / 26 / 17 / 22, dc94, 579
17) (Bold): 25 / 12 / 12 / 23 / 5 / 6, 556, 579
18) (Quiet): 0 / 12 / 12 / 18 / 6 / 25, 7706, 579
19) (Serious): 19 / 1 / 14 / 20 / 30 / 4, 565, 580
20) (Serious): 19 / 1 / 14 / 20 / 30 / 4, 565, 580
21) (Lonely): 16 / 6 / 3 / 20 / 2 / 30, 55c, 579
22) (Bold): 25 / 12 / 12 / 23 / 5 / 6, 556, 579
23) (Timid): 15 / 15 / 1 / 2 / 2 / 3, 572, 579
24)(Quiet): 0 / 12 / 12 / 18 / 6 / 25, 7706, 579
25) (Bold): 25 / 12 / 12 / 23 / 5 / 6, 556, 579
26) (Mild): 3 / 13 / 5 / 1 / 14 / 19, 565, 579
27) (Quirky): 25 / 17 / 12 / 17 / 1 / 16, 935d, 579
28) (Quiet): 7 / 22 / 12 / 25 / 23 / 29, 17ee, 579
29) (Bold): 25 / 12 / 12 / 23 / 5 / 6, 556, 579
30) (Quiet): 0 / 12 / 12 / 18 / 6 / 25, 7706, 579
Gonna go through and break this one down, along with my last one I never broke down, and go through all the top starting seeds and look for a good target spread. The VGCs are coming and I'm getting..... aaaaaaaaaantsy....>_>

Oh, and Arceus, although it's maybe a little too simple, I think you ought to put in the intro that
if you've gotten to the point where you can get decently consistent starting seeds by using a metronome (a GC Controller with a Turbo setting in my case) starting at a consistent point and changing the tempo on your metronome is an easy way to change what consistent starting seeds you get. This way you'll have many more options for target spreads.
It's more of a RNGing tip I guess, but it's really helping me at this point, and I think that when people get to the point where they're actually looking for target spreads, this lil piece of advice will give them more, different, consistent starting seeds with different target spreads in them. That way they look at more options and have a greater chance of getting a top notch poke. ;D

[edit]
Seeds Break Down:
Code:
All “out of 30 Soft Resets”
556  -  6
565  -  5
7706  -  3
55c  -  2
569  -  2
dc94  -  2
564  -  1
572  -  1
571  -  1
55d  -  1
dc93  -  1
4f21  -  1
935d  -  1
9354  -  1
17ee  -  1
Looks like 19/30 (63%) were in the 556-572 range that’s nice and centralized. 6/30 (20%) isn’t bad too for 556! Neither is 16.7% for 565!
 
if you've gotten to the point where you can get decently consistent starting seeds by using a metronome (a GC Controller with a Turbo setting in my case) starting at a consistent point and changing the tempo on your metronome is an easy way to change what consistent starting seeds you get. This way you'll have many more options for target spreads.

Oh, and Arceus, although it's maybe a little too simple, I think you ought to put in the intro that It's more of a RNGing tip I guess, but it's really helping me at this point, and I think that when people get to the point where they're actually looking for target spreads, this lil piece of advice will give them more, different, consistent starting seeds with different target spreads in them. That way they look at more options and have a greater chance of getting a top notch poke. ;D
That is a good piece of information, and I have adapted the wording somewhat and integrated it into the first post. Obviously the end goal of this research is sophisticated RNG manipulation, so it makes sense to draw attention to any and all techniques that facilitate it at this point. Again, thank you for your contributions to the thread, and I wish you luck with both your continued research and the impending VGC.
 

Zari

What impossible odds?
is a Contributor Alumnus
Now that I think about it, a metronome can be used to adjust tempo In order to hit different seeds. I'm no math wiz at converting to hexadecimal, but I'll compile a listing of tempos, using the formula I found for cycles in my previous post.

T = tempo

60s / T / .00390625s = #of cycles

If it is what I suspect, by setting a metronome to different tempos, provided the user can accurately hit based on tempo, you can hit different seeds--because of the variance in how far through the cycle the game is. Let's take a look at an example:

T = 240BPM

60s / 240BPM / .00390625s = 64 cycles

using 240BPM you would hopefully hit the same seed multiple times, because it completes 64 cycles, IE starts back at the same place every click.

But, what if we varied the tempo?

T = 225BPM

60s / 225BPM / .00390625s = 68.266666.... cycles

now this is interesting, because we can discard the number before the decimal point, as those are complete cycles, and hence irrelevant to hitting a different seed.

At 225 BPM we end up with a decimal of .26666...., which repeats after 16 beats (becoming 4.26666...., but we can discard the 4 because it is a set of complete cycles)

Then there is 210 BPM; a decimal of .2857143 (approx.) which repeats after 15 beats, etc.

Here is the entirety of my findings:

Code:
BPM, decimal,% of cycle complete, repeats after X beats

240, 0 , 100%, always repeats
225, .26667, 26.67%, 16
210, .142857, 14.29%, 15
200, .8, 80%, 16
195, .76923, 76.92%, 14
180, .3333, 33.33%, 4
165, .0909..., 9.09%, 12
150, .4 , 40%, 11
...
60, 0, 100%, always repeats
what this means:

By varying the tempo it should be possible to obtain different starting seeds, just by counting the number of beats that occurred.

Hopefully, by counting the beats and timing it correctly, you should be able to obtain different starting seeds.

If this is true, and I'm not saying it is (yet), it means that hitting different seeds should not be too hard; all you would need to do would be to generate a tempo that has a beat that lands on your target seed.

Granted, we still need to convert some of the decimal percentages I found into hexadecimal (% of 0x0000 through 0xFFFFF) and verify if this is true.

IF it is true however, it becomes infinitely easier to hit a desired seed--because you don't have to hit something within 3.90625 milliseconds.

EDIT: this totally outshadows my previous post, and I think this post needs to be linked in place of it, possibly after verification. Arceus, if you think it is appropriate to put in the OP, it should go in place my other post, because, if correct, this should help out cartridge players a whole bunch.

NOW I need to go eat dinner.

 

mattj

blatant Nintendo fanboy
You really should try that some time. Like do 20-30 SRs using one tempo, then switch to the next, etc, for like idunno, 5 or so tempos. That'd be great! :D Maybe try it on Zapdos or Articuno or something L50, and please get accurate IVs, not just stats or "close IVs", cuz then you'll be able to actually find your starting seeds!! That way you'd know if it works or not. :)

[edit]
Okay, at first this may look like it only applies to me, but actually, when other people get to the point I am and are actually looking for target spreads and whatnot, the following might possibly be of some help.

So, I've basically come to the conclusion that for my personal needs, Using the GBA Player, and GC Turbo Controler, Resetting and holding A with the turbo on at various speed settings is the way to go for me. I've done numerous (hundreds of) soft resets at different speed settings, and have found several very good, consistent starting seeds. I then broke down those long list of resets and listed them by most common starting seed for each speed setting. Then I put the top few seeds for each setting into RNG Reporter, set the IVs to 25+ and 31Spd and looked for "usable" target spreads. I decided that these natures were "usable" for my specific needs (Self Destruct Mewtwo for VGC Purposes):
Decently Usable Natures
(Ones that don't reduce Speed or SAtk boost either Speed, Atk, or SAtk):
Hasty +Spd -Def
Naive +Spd -SDef
Timid +Spd - Atk
Lonely +Atk - Def
Naughty +Atk - SDef
Mild +SAtk -Def
Rash +SAtk -SDef
Here are the Target Spreads I found broken down by Turbo Speed Setting, then Seed Popularity:
Code:
[SIZE=3]Fastest[/SIZE]:
[B]c04  [/B]-  13/70
Rash, 25 / 26 / 27 / 28 / 28 / 31  F: 193044  (53:37:40)
Hasty, 27 / 29 / 31 / 25 / 31 / 31  F: 634779 (176:19:??)

[B]c05  [/B]-  10/70
Lonely, 28 / 29 / 25 / 26 / 28 / 31  F: 79162 (21:59:36)

[B]bfe  [/B]-  10/70
Lonely, 27 / 28 / 30 / 30 / 26 / 31  F: 193674 (53:47:90)

[B]c291  [/B]-  7/70
Naughty, 30 / 31 / 27 / 25 / 29 / 31  F: 370536 (102:55:??)

[SIZE=3] 1st from fastest:[/SIZE]
All Seeds “out of 20 Soft Resets”:

[B]3094  [/B]-  6
Timid, 30 / 26 / 25 / 29 / 29 / 31  F: 21924 (06:05:40) eeeeeasy!!!
Naughty, 28 / 27 / 31 / 28 / 30 / 31  F: 162317 (45:05:28)
Rash, 29 /27 / 27 / 31 / 27 / 31  F: 275379 (76:29:65)

[B]3098  [/B]-  2
Timid, 28 / 25 / 31 / 26 / 31 / 31  F: 82195 (22:49:91)
Lonely, 29 / 26 / 27 / 29 / 26 / 31  F: 146340 (40:39:00)
Hasty, 28 / 28 / 26 / 27 / 26 / 31  F: 544069 (151:07:??)
Hasty, 29 / 30 / 29 / 30 / 29 / 31  F: 804613 (223:30:??) Bleeeeeech!!


[SIZE=3] 2nd from fastest:[/SIZE]
All Seeds “out of 30 Soft Resets”

[B]556  [/B]-  6
Mild, 29 / 30 / 25 / 31 / 27 / 31  F: 285942 (79:25:70)
Rash, 26 / 26 / 31 / 29 / 28 / 31  F: 390855 (108:34:??)
Hasty, 27 / 26 / 31 / 31 / 29 / 31  F: 674876 (187:27:??)
Hasty, 25 / 31 / 28 / 25 / 30 / 31  F: 793261 (220:21:??)

[B]565  [/B]-  5
Naughty, 27 / 31 / 29 / 27 / 30 / 31  F: 187919 (52:11:98)
Rash, 25 / 31 / 30 / 25 / 26 / 31  F: 377679 (104:54:??)

[COLOR=Red][U][B]7706  -  3
Hasty, 25 / 31 / 30 / 26 / 29 / 31  F: 94714 (26:18:56)[/B][/U][/COLOR]


Fastest Turbo Nido Gar Ending
All Seeds out of 30 Soft Resets

[B]596d  [/B]-  3
Hasty, 30 / 27 / 28 / 29 / 26 / 31  F: 131381 (36:29:68)
It looks to me like this last, highlighted target spread is probably the best. I ran some calcs and found it's not far off from flawless @L50:
Mewtwo

Hasty, 25 / 31 / 30 / 26 / 29 / 31
with 4HP / 4Atk / 248 SAtk / 252 Spd
179 / 131 / 99 / 203 / 109 / 200

Hex Flawless Hasty
4HP / 252 SAtk / 252 Spd
182 / 130 / 99 / 206 / 110 / 200
that's not too far off
Plus it's of a reasonable time for a Soft Reset. Speaking to several people on IRC with experience RNGing in Emerald straight off the Cart, they suggested that anything over 30mins for a SR was pretty loopy. :/

HOOOOOOOOWEVER!!!!


I haven't had a chance to SR with my Turbo on the lowest setting, so I'm gonna hold out, and do 20 or so SRs with in the morning and HOPE I can find an even better spread. Who knows! Since I only have 1 shot at this, I don't want to waste any opportunity, but at the same time, the VGCs arent's getting any farther away. If it doesn't yield any worth while target spreads, I've always got this one. :)

I'll edit in the data to this post tomorrow...

[final edit]
Went over ALL the data. And I'm sticking with that highlighted one. Compared it to several others, and this one's just better.
 

mattj

blatant Nintendo fanboy
So as to not screw up my last post, I'm posting this here. It's the results of extending 2 tests I did before, the slowest Turbo setting one (failure) and the fastest turbo on the Nido/gar ending one (decent results).

Slowest Turbo Setting:
Code:
1)  (Lonely): 31 / 15 / 20 / 0 / 19 / 24, 40f9, 579
2) (Quiet): 30 / 13 / 8 / 30 / 24 / 5, 9c0, 579
3)  (Naughty): 8 / 23 / 16 / 30 / 30 / 26, 32ea, 579
4) (Timid): 8 / 7 / 27 / 8 / 31 / 11, 44bf, 579
5)  (Lax): 12 / 0 / 8 / 9 / 3 / 29, 59f0, 580
6) (Lax): 26 / 26 / 5 / 2 / 19 / 9, 60d1, 579
7) (Bold): 3 / 6 / 10 / 25 / 24 / 28, bf88, 579
8) (Careful): 7 / 23 / 4 / 3 / 5 / 9, 35d7, 579
9) (Hardy): 9 / 3 / 5 / 8 / 9 / 13, 35d7, 580
10) (Relaxed): 15 / 9 / 9 / 7 / 25 / 18, 9b5, 579
Code:
11) (Bold): 6 / 24 / 31 / 4 / 30 / 16, 4f77, 578
12) (Naughty): 26 / 23 / 22 / 6 / 15 / 28, 7d22, 578
13) (Quirky): 24 / 12 / 28 / 26 / 20 / 9, a5a, 579
14) (Bold): 31 / 21 / 9 / 1 / 12 / 2, 8d93, 578
15) (Brave): 4 / 18 / 14 / 10 / 16 / 9, 9bc, 579
16) (Serious): 22 / 22 / 18 / 10 / 24 / 26, 751e, 578
17) (Lax): 26 / 26 / 5 / 2 / 19 / 9, 60d1, 579
18) (Naughty): 30 / 16 / 23 / 8 / 22 / 9, 349c, 579
19) (Impish): 11 / 15 / 26 / 9 / 20 / 5, 4509, 579
20) (Mild): 7 / 16 / 1 / 7 / 22 / 2, 474d, 579
21) (Timid): 1 / 31 / 17 / 7 / 7 / 20, 73d, 579
22) (Quirky): 9 / 5 / 20 / 4 / 0 / 16, 32be, 579
23) (Careful): 26 / 10 / 24 / 29 / 10 / 12, 751e, 579
24) (Adamant): 11 / 10 / 25 / 20 / 22 / 13, 35d4, 579
25) (Relaxed): 15 / 9 / 9 / 7 / 25 / 18, 9b5, 579
Seed Breakdown
Code:
40f9  -  1
9c0  -  1
32ea  -  1
44bf  -  1
59f0  -  1
60d1  -  2
bf88  -  1
35d7  -  2
9b5  -  1
4f77  -  1
7d22  -  1
a5a  -  1
8d93  -  1
9bc  -  1
751e  -  2
349c  -  1
4509  -  1
474d  -  1
73d  -  1
32be  -  1
35d4  -  1
9b5  -  1
With not a single Starting Seed getting even 3 appearances, I’m not even going to bother with target spreads from here. There just weren’t enough consistent starting seeds. :/
Hold Fastest Turbo A at beat of final held Nido/gar note:
Code:
1) (Naughty): 23 / 18 / 28 / 12 / 3 / 29, 34e9, 563
2) (Rash): 19 / 1 / 26 / 17 / 4 / 21, ebb2, 564
3) (Lax): 11 / 6 / 27 / 31 / 11 / 31, 3c49, 564
4) (Lonely): 19 / 18 / 20 / 5 / 9 / 21, 5964, 567
5) (Mild): 1 / 17 / 4 / 24 / 20 / 29, 596d, 567
6) (Brave): 23 / 8 / 20 / 14 / 14 / 10, 3421, 564
7) (Calm): 29 / 24 / 2 / 7 / 1 / 12, 596d, 564
8) (Rash): 28 / 27 / 20 / 9 / 3 / 7, 38fc, 564
9) (Calm): 4 / 29 / 30 / 17 / 11 / 5, 3c4f, 567
10) (Lax): 11 / 6 / 27 / 31 / 11 / 31, 3c49, 564
11) (Docile): 25 / 12 / 23 / 30 / 18 / 14, 58a5, 567
12) (Docile): 25 / 12 / 23 / 30 / 18 / 14, 58a5, 567
13) (Quiet): 18 / 7 / 25 / 31 / 11 / 4, fd13, 567
14) (Lax): 11 / 6 / 27 / 31 / 11 / 31, 3c49, 564
15) (Timid): 11 / 19 / 15 / 16 / 17 / 17, 60c9, 567
16) (Calm): 29 / 24 / 2 / 7 / 1 / 12, 596d, 564
17) (Quiet): 0 / 1 / 27 / 29 / 3 / 24, 387d, 564
18) (Careful): 29 / 4 / 23 / 29 / 2 / 31, eae6, ???
19) (Rash): 6 / 19 / 14 / 2 / 4 / 20, 60c7, 564
20) (Bashful): 10 / 27 / 23 / 20 / 30 / 20, 3c45, 567
Code:
21) (Lax): 10 / 12 / 9 / 4 / 4 / 6, 5c7a, 564
22) (Calm): 29 / 24 / 2 / 7 / 1 / 12, 596d, 564
23) (Impish): 18 / 12 / 1 / 30 / 14 / 1, 60c7, 567
24) (Quiet): 14 / 8 / 28 / 7 / 16 / 30, 60c9, 565
25) (Timid): 11 / 19 / 15 / 16 / 17 / 17, 60c9, 567
26) (Impish): 29 / 18 / 18 / 8 / 28 / 14, 60c9, 564
27) (Rash): 6 / 19 / 14 / 2 / 4 / 20, 60c7, 564
28) (Bold): 7 / 30 / 30 / 13 / 31 / 30, 5d6f, 567
29) (Impish): 29 / 18 / 18 / 8 / 28 / 14, 60c9, 564
30) (Lax): 29 / 12 / 3 / 19 / 0 / 10, 34e9, 564
Seed Breakdown:
Code:
60c9  -  5
596d  -  4
60c7  -  3
3c49  -  3
34e9  -  2
58a5  -  2
5964  -  1
3421  -  1
38fc  -  1
3c4f  -  1
fd13  -  1
387d  -  1
ebb2  -  1
eae6  -  1
3c45  -  1
5c7a  -  1
5d6f  -  1
Nice got some decent results here! 8/30 (26%) were either 60c9 or 60c7 with 60c9 taking the lead at 6/30 (20%) which isn’t the best, but it’s usable. :)

Now I'm gonna look through these last top starting seeds and edit them into my last post for a pretty much final look at available target spreads...
 

Zari

What impossible odds?
is a Contributor Alumnus
I'm blazing through FR with charizard right now (lol) but I decided to take a break and crunch a few numbers:

The formula: (n) * (15360 % T) * 65536 , where n is the # of beats, % is take the remainder of the (), and T is tempo in BPM. 65536 is the number of possible starting seeds (0000 through FFFF)

What it does: determines the seed you landed on based on tempo/# of clicks

Basically what I did was plug in numbers for Tempo (keeping n=1 always) and search for good starting seeds that you would have a high probability of landing on (within <.1 of a .0 or .5 decimal value), round the result, convert it into hexadecimal, then search for decent Method 1 spreads via RNG reporter.

Here are the nitty gritty results:

Code:
Tempo, seed(decimal), seed(hex), (seed of spread), nature, ability, IVs, Hidden power, HP power

235, 23704.51064, 5c98/5c99, (5c99), Bold, 1, 30 / 30 / 30 / 28 / 30 / 30, Fighting, 59
231, 32342.44156, 7e56/7e57, (7e57), Rash, 0, 31 / 28 / 30 / 26 / 30 / 30, Fighting, 68
227, 43594.43172, aa4a/aa4b, (aa4a), Naive, 1, 25 / 28 / 30 / 27 / 26 / 30 Rock, 68
217, 51341.56682, c88d/c88e, (c88e), Calm, 1, 31 / 25 / 27 / 26 / 27 / 31, Electric, 68
207, 13297.15942, 33f1, (33f1), Lonely, 0, 27 / 31 / 26 / 26 / 27 / 31, Grass, 70
202, 2595.485149, a23/a24, (a23), Rash, 1, 31 / 26 / 29 / 26 / 31 / 30, Fire, 67
[COLOR=Black]201, 27388.1791, 6afc, (6afc), Jolly, 0, 31 / 31 / 31 / 27 / 30 / 30, ---, ---[/COLOR]
187, 9111.957219, 2398, (2398), Impish, 1, 26 / 28 / 27 / 30 / 31 / 31, ---, ---
177, 51095.86441, c798, (c798), Lonely, 0, 31 / 30 / 28 / 27 / 30 / 31, ---, ---
174, 18078.89655, 469f, (469f), Timid, 0, 25 / 25 / 31 / 26 / 26 / 31, Ground, 68
169, 58168.04734, e338, (e338), Careful, 0, 30 / 29 / 31 / 30 / 26 / 31, ---, ---
[COLOR=Black][B]159, 39568.90566, 9a91, (9a91), Timid, 0, 31 / 27 / 31 / 27 / 31 / 30, Ice, 70[/B][/COLOR][COLOR=Black]
[COLOR=Black][B]150, 26214.4, 6666/6667, (6667), Jolly, 1, 29 / 31 / 28 / 31 / 31 / 31, ---,---
142, 11076.50704, 2b44/2b45, (2b44), Adamant, 0, 31 / 27 / 31 / 30 / 31 / 31, ---, ---[/B]
126, 59249.47619, e79e/e79f, (e79f), Calm, 0, 26 / 25 / 30 / 30 / 30 / 30, Fighting, 68
[B]101, 5190.970297, 1447, (1447), Bold, 1, 29 / 25 / 31 / 30 / 27 / 31, Electric, 68[/B]
[/COLOR][/COLOR]
note: half counts are derived from 2 beats at the faster indicated tempo

Tempo(Fast Tempo), seed(decimal), seed(hex), (seed of spread), Nature, Ability, IVs, Hidden Power, HP Power

[COLOR=Black][B]118.5(237), 40648.91139, 9ec9, (9ec9), Hasty, 0, 31 / 31 / 25 / 26 / 31 / 31, Electric, 67[/B][/COLOR]
112.5(225), 34952.5333..., 8888/8889, (8888), Careful, 0, 30 / 26 / 29 / 30 / 30 / 30, ---, ---
110.5(221), 296.5429866, 128/129, (128), Timid, 0, 25 / 26 / 30 / 31 / 26 / 31, Bug, 69 
[SIZE=2][COLOR=Black][B]107.5(215), 57915.53488, e23b/e23c, (e23b), Calm, 1, 26 / 31 / 26 / 26 / 31 / 31 Grass, 70[/B][/COLOR][/SIZE]
92.5(185), 3542.486486, dd6/dd7, (dd6), Careful, 1, 31 / 28 / 29 / 28 / 30 / 31, ---, ---
85.5(171), 42540.91268, a62d, (a62d), Jolly, 0, 30 / 31 / 30 / 29 / 28 / 31, ---, ---
[COLOR=Black]84.5(169), 50800.09467, c670, (c670), Naughty, 1, 31 / 26 / 30 / 27 / 31 / 31, Ice, 70[/COLOR]
[COLOR=Black]83.5(167), 62396.5509, f3bc/f3bd, (f3bd), Modest, 1, 28 / 26 / 30 / 31 / 30 / 31, Bug, 69
73.5(147), 64198.53061, fac6/fac7, (fac7), Hasty, 0, 30 / 29 / 31 / 31 / 28 / 30, ---, ---
69.5(139), 471.4820141, 1d7/1d8, (1d8), Lonely, 1, 29 / 29 / 26 / 31 / 30 / 30, Rock, 68
[COLOR=Black][B]63(---), 53052.95238, cf3d, (cf3d), Naughty, 0, 30 / 30 / 31 / 30 / 31 / 30, Fire, 70[/B][/COLOR][COLOR=Red] 
[COLOR=Red][COLOR=Black](cf3d), Jolly, 0, 30 / 31 / 30 / 31 / 29 / 30, ---, ---[/COLOR][COLOR=Black]
[COLOR=Black]63.5(127), 58311.55906, e3c7/e3c8, (e3c8), Hasty, 0, 31 / 26 / 31 / 30 / 30 / 30, Flying, 70[/COLOR]
[/COLOR][/COLOR][/COLOR][/COLOR][COLOR=Lime][COLOR=Black]
[/COLOR][/COLOR]
Needless to say, I'm stoked to test my theory out when I get to Zapdos.

The Spreads listed above were the best I could find of the "easy" to hit spreads. They aren't easy to hit at all, by any standard, but they should be easier to hit than most other tempos.

EDIT: put in more spreads from that I found from tempos 240 - 98 BPM

EDIT2: After discovering you can get rare candies from pickup (rarely!), I am going to test my theory on Snorlax first, with the final target being:

105, 18724.57143, 4924/4925, 4924, Sassy, 1, 30 / 31 / 31 / 27 / 30 / 0
will do through 60 BPM tomorrow
 
Status
Not open for further replies.