1. Welcome to Smogon! Check out the Smogon Starters Hangout for everything you need to know about starting out in the community. Don't forget to introduce yourself in the Introduction and Hangout Thread, too!
  2. Welcome to Smogon Forums! Please take a minute to read the rules.
  3. Welcome to Wi-Fi! Please remember to read the rules and do NOT create a new thread for simple trades or Friend Safari codes.

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

Discussion in 'Wi-Fi' started by Arseus, Oct 11, 2009.

Thread Status:
Not open for further replies.
  1. NixHex

    NixHex musty_yugoslavian_teacher
    is a member of the Site Staffis a Forum Moderatoris a Pokemon Researcheris a Contributor to Smogonis a Battle Server Moderator
    Moderator

    Joined:
    Oct 6, 2009
    Messages:
    2,675
    I don't mean small changes, I'm thinking drastic like doubling the time spent in one interval, or something along those lines. Is there any way to know what the "tap" rate of your turbo button is, and how much you can vary it?
  2. NixHex

    NixHex musty_yugoslavian_teacher
    is a member of the Site Staffis a Forum Moderatoris a Pokemon Researcheris a Contributor to Smogonis a Battle Server Moderator
    Moderator

    Joined:
    Oct 6, 2009
    Messages:
    2,675
    More News

    This info isn't as earth-shattering as mattj's recent successes, but I have managed to extrapolate some information on when exactly the RNG starts running after it is seeded:
    The RNG Clock starts running when you press A or Start on "Press Start."
    In turn, I also verified something else:
    The Cerulean Cave, specifically where Mewtwo lies, is not a noisy area. This might be known to people but I read the entire thread and cannot find any verification of this. Here are my experiments and resulting notes.

    First, I soft-reset after button-mashing through the opening sequence at a pretty consistent rate (I consider myself an expert at hitting consistent seeds in Diamond/Plat :toast: ). I only did this twice, because I realized that I wasn't being too consistent with the timing for the actual Mewtwo encounter.

    I found it interesting that I hit a Method 3 spread, as this is only the second time I had ever done this. Notice also that through my careless button mashing, I managed to hit two very close seeds. Next, I set a fixed time, 20.00 seconds, from when I press Continue until when I activate the Mewtwo encounter. Again, I used my usual button mashing, and although it wasn't the aim of this experiment, I hit the same seed, but not frame, twice!
    Notice that the three times in bold are way different. I assumed that the reason for this would be that I spent different times on the actual continue screen each trial. So to refine my method, I decided to start a 25.00 second time from the "Press Start" Screen. Take a look at this:
    fpsn is the clock speed for my particular cartridge, found by 60*25.00/Time. This makes sense, as it is widely established that clock time varies by game to game. This also establishes that Mewtwo is in a quiet area.

    I know this information is a little bit less glorious than mattj's recent info, but I feel it clears the air a little, eliminating yet another important factor. The time between Press Start and Continue has nothing to do with seed generation! This should save some time when testing different intervals.
  3. Jono

    Jono

    Joined:
    Sep 14, 2008
    Messages:
    444
    I was just reading through and I was wondering if you new when the seed is generated yet, is it after pressing continue or later on?
  4. NixHex

    NixHex musty_yugoslavian_teacher
    is a member of the Site Staffis a Forum Moderatoris a Pokemon Researcheris a Contributor to Smogonis a Battle Server Moderator
    Moderator

    Joined:
    Oct 6, 2009
    Messages:
    2,675
    My analysis shows that the rng doesn't start until you hit start or A on the press start screen. This probably means that the seed is created at that same moment, but it could also be before that. So to answer your question, no, the seed is not created after the continue screen.
  5. mattj

    mattj blatant Nintendo fanboy

    Joined:
    Mar 30, 2009
    Messages:
    4,690
    That's one sik finding Nix. Let me see if I understand you correctly. When it comes to SEEDING (not frame advancmenents) the time between Press Start and Continue is what determines the seed? Or did I miss something?!

    Oh, and my last test before moving on to Mewtwo (just c/p'd, too lazy to CSV lolz):

    Does letting the Review play out affect the frame/seed/anything?
    Code:
    Attempt #) (Nature): /IVs/ ,  Starting Seed,   Frame
    1) (Modest): 8 / 9 / 27 / 19 -  20 / 22 / 8 ,  c285, 6779
    2)  (Serious): 7 / 22 / 0 / 31 / 14 / 21 ,  c04, 6784
    3) (Quirky): 18 / 5 / 3 / 3 / 8 / 27 ,  c291, 6767
    4)  (Rash): 4 / 31 / 19 / 9 / 13 / 29 ,  c04, 6782
    5) (Gentle): 15 / 10 / 21 / 9 / 8 / 16 ,  c297, 6776
    6)  (Calm): 24 / 18 / 0 / 28 / 14 / 13 ,  ea53, 6492 (waay early encounter. >_<)
    7)  (Jolly): 2 / 22 / 14 / 5 / 19 / 0 ,  c05, 6785
    8) (Docile): 9 / 13 / 20 / 23 / 25 / 31 ,  bfd, 6774
    9) (Impish): 0 / 26 / 13 / 2 / 27 / 30 ,  c298, 6775
    10) (Serious): 4 / 13 / 20 / 11 / 3 / 9 ,  c297, 6779
    Couple things...
    1)
    I ran the starting seeds for #s 5 & 10 through RNG reporter to get a more accurate frame, and got 6777 for #5 and 6780 for #10. Somebody before had mentioned it skipping odd or even frames. I assume this means it's not doing it here. :P
    2) They're all in the 6775ish range, so we know the frames are running on your seed during the Review at the same rate they do inside the Powerplant.


    Okay. Moving on to Mewtwo...*thankyousweetjesus*
  6. NixHex

    NixHex musty_yugoslavian_teacher
    is a member of the Site Staffis a Forum Moderatoris a Pokemon Researcheris a Contributor to Smogonis a Battle Server Moderator
    Moderator

    Joined:
    Oct 6, 2009
    Messages:
    2,675
    haha, sorry for the confusing wordage. No, the seed is planted, at the very latest, by the time you hit Press Start, and the RNG runs from there like it does in Emerald. Hence anything that happens after Press Start has nothing to do with the seed. What needs to be found is whether the seed is finished being generated the moment on which you Press Start, or if it's even before the Press Start screen altogether. Hopefully the latter, as it would eliminate yet another variable, yet I doubt this is the case... seems too "easy" to me.

    I guess how you would go about this is running your turbo until it presses A on the Game Freak star animation, then once you turn it off, wait a predetermined amount of time, say 30.00 seconds, until you hit start or A on Press Start. Then find the seed the normal way. Try it again without the 30.00 second wait and see if the seed is the same as, or even close to, the previous one. The trick is stopping the turbo right when the star animation is pressed and starting a stopwatch at the same time. I think it's worth a couple shots. Tell me what you think.

    It has no effect on the seed as it is already rolling, and thank God for that, because it's quite erratic in its length, at least as far as I noticed. As far as affecting the frame, I highly doubt it, as I mashed through it at unknown speeds and still got spreads within a 7 frame range.

    does this imply that you now have the zapdos spread you were aiming for?? and what about that voltorb?
  7. mattj

    mattj blatant Nintendo fanboy

    Joined:
    Mar 30, 2009
    Messages:
    4,690
    Oh ha, about that, we're gonna have dates and locations for the VGCs very very soon now, (maybe even this week), and I already have a good Zapdos, and Voltorb, so.... yeah I'm just moving onto Mewtwo. :X

    To be honest, seeding at the "Press Start" scene doesn't sound right to me, cuz I'm so used to seeding at "Continue" in the 4th Gen games, but your results look solid. Thanks for finding that out!

    So, I assume the way to change the seed would be to vary the time between SR and "Press Start"?
  8. NixHex

    NixHex musty_yugoslavian_teacher
    is a member of the Site Staffis a Forum Moderatoris a Pokemon Researcheris a Contributor to Smogonis a Battle Server Moderator
    Moderator

    Joined:
    Oct 6, 2009
    Messages:
    2,675
    Yeah that is what I thought, seems weird to me too, but I can't deny what I found. Also, it could be either the difference between sr and nidorengar, between nidorengar and venuzard, or sr and venuzard, or any combo of each. Maybe I can do some work documenting times and seeds and make a graph. If its linear, finding an equation for the graph would be trivial. This also seems too easy, but the fact that we have gotten seeds close to eachother might indicate a simple, and not some random ass relation
    between these variables.
  9. NixHex

    NixHex musty_yugoslavian_teacher
    is a member of the Site Staffis a Forum Moderatoris a Pokemon Researcheris a Contributor to Smogonis a Battle Server Moderator
    Moderator

    Joined:
    Oct 6, 2009
    Messages:
    2,675
    well it looks like the seed generation is oddly erratic, yet I am hitting some consistent seeds. This sets us back a bit I think, but here it goes.

    Test: Time between SR and Press Start kept constant. No button presses during this time.
    Time = 35.00 Seconds = 2100 (emloop)

    I don't know why I keep documenting Method 3 Spreads, but that's besides the point. Colored seeds are within close range of each other, while underlined indicates exact seeds. Let's analyze this closer:

    6/12 (50%) of my spreads lie between 9626 and 962d
    2/12 (16.7%) lie between 5565 and 5567.
    4/12 (33.3%) are way off, not coming close to any of the other spreads.

    This is the weird part... although I'm "choosing" the seed at a relatively close time, i'm getting way off answers, right? Well, two ranges as close as these do not resemble a random ass pattern, so it seems that a seed formula shouldn't be overly complex.

    I don't know what causes this anomaly, but 50% is a decent number (I obviously didn't do enough trials, but it takes hours as those of you doing this realize). Note again that I don't press anything until the 35:00 mark, then i let the RNG do its thing. Again, I was not aiming for identical spreads, just identical seeds. It looks like it takes exactly 30.00 from SR until you can press A/start on venuzard, so next time I will try that and see what seeds I get most often. It's time for bed now, but I hope to hear back from anyone. I still heartily believe that the seed is chosen at Venuzard, but this is where the truly hard work starts.
  10. Jono

    Jono

    Joined:
    Sep 14, 2008
    Messages:
    444
  11. mattj

    mattj blatant Nintendo fanboy

    Joined:
    Mar 30, 2009
    Messages:
    4,690

    Lol. It sounds exactly like what Steve was suggesting. Your seed is determined by initial conditions, find a seed you can hit, pick a target frame, hope for the best.
  12. flovv

    flovv

    Joined:
    Feb 25, 2010
    Messages:
    7
    About the noisy areas:

    Most of them can be turned to normal ones by saving there and reloading the game.
    It also seems that sometime if you visit a noisy area and go to a normal the frames will remain noisy.

    The earliest possible inititial seed is 3d3 or 3E1 and is stored after generation on 0x2020000.
    I can confirm that the seed is generated at the "Press Start" screen.

    Edit:
    Knowing where the seed is stored, allowed me to check faster which the first initial seeds were.
    I used autofire to start the game as fast as possible and increased one frame after finding out all seeds for that specific frame.

    You'll notice: On the same second you can get many seeds :-/
    I think somewone should trace the routine with a debugger...
  13. mattj

    mattj blatant Nintendo fanboy

    Joined:
    Mar 30, 2009
    Messages:
    4,690
    You are so awesome bro! Thanks! :D Saved in front of Mewtwo now trying 3 different methods of Soft Resetting (GBA to metronome, GBA to song, GBA Player+Turbo Controller). Getting some bleh results though. :/

    [edit]
    Oh and using that awesome info that flovv found above, someone with some math/programing skills *coughcoughmisdreavuscough* should really take a look at it and see if they can't get a lil equation figured out for it. He's got Frame 1=Seed A F2 = Seed B, etc, etc...

    Oh, and my results were'nt that bleh at all! I'm actually getting the exact same seeds as I did on that last big info dump I did, except that the frames are slightly higher (most likely because of a different Review than before). I thought there was something in your save file giving me different seeds, but it was probably just different frames because of a different Review with a different length.

    [edit 2]
    Okay here's what I did:
    Saved directly in front of Mewtwo in Unknown Dungeon on my Fire Red Cart playing it on my Hot Pink See-through GBA (lolz). Gonna use the Metronome in Magix Recording Software to help me tap to a steady beat. I'll start with the metronome set on 160 beats per minute. I'll hold down Start+Select+A+B and let go at beat #17 (the same beat I usually begin playing on when I record music) and start tapping A on beat # 33. I'll tap straight through till I encounter Mewtwo. I'll collect some SR's then run their info through Metalkid's IV Calc, RNG Reporter, and Steve's Program to get their Nature, IVs, Starting Seed, and Frame (irrelevant at the moment). If If I get at least one Consistent and Usable starting Seed, I'll then find a target frame and start pausing for it, (hopefully) using Pikatimer to help me encounter at the right moment. If not, I'll adjust my beats per minute and try to get new consistent seeds with new spreads, etc, etc...

    Soft Resets:
    160 BPM (2/4 Time, I HATE 4/4), SR (let off ABStSl) @B#17, Start Tapping A @B#33, Tap Straight Into Mewtwo:
    Code:
    [B]Att. #) (Nature) / IVs / , Starting Seed, Frame[/B]
    1)  (Jolly): 17 / 30 / 21 / 27 / 11 / 24, 966a, 596
    2)  (Naughty): 2 / 18 / 7 / 16 / 29 / 25, 9a41, 619
    3)  (Gentle): 4 / 2 / 19 / 15 / 14 / 26, 4fbb, 619
    4)  (Lax): 10 / 8 / 15 / 12 / 18 / 30, 4d4d, 595
    5)  (Serious): 24 / 23 / 28 / 24 / 10 / 31, 30e8, 594  (Took a Break)
    6)  (Docile): 19 / 11 / 5 / 13 / 22 / 17, 8935, 596
    7)  (Naughty): 24 / 20 / 21 / 19 / 28 / 22, 9ce9, 597
    8)  (Impish): 9 / 24 / 28 / 22 / 21 / 10, 9dca, 619
    9)  (Brave): 15 / 1 / 27 / 23 / 4 / 17, 2793, 597
    10)  (Bold): 0 / 13 / 19 / 6 / 21 / 18, 9a09, 619  (Took another Break)
    11)  (Docile): 30 / 30 / 21 / 2 / 14 / 7, 299e, 599
    12)  (Naïve): 24 / 31 / 30 / 26 / 24 / 16, dc13, 597
    13)  (Hasty): 2 / 1 / 31 / 9 / 28 / 10, 1d03, 619
    14)  (Timid): 17 / 5 / 20 / 11 / 22 / 9, 5034, 617
    15)  (Hasty): 12 / 11 / 29 / 26 / 30 / 7, e6b1, 620
    
    Inconsistent Seeds Much?? Yeah gonna try something different here. The Frames really were'nt all that bad, but I'm not at all happy with those Starting Seeds. I RNG ALL of my pokes tapping to the beat of this one song ("Marty" by Five Iron Frenzy). It helps me to very consistent Delays in DPPtHGSS, so.... why not try it here. :/ It might work better because I've done literally every single RNG tapping to this beat for the last... 3 months or more? I'd REEEEEALLY like to use Pikatimer to hit my frames cuz the little beeps at then end help me out a lot.

    Hold ABStSl, Start "Marty", Let off on beginning of Second Loop (5th measure?), Start Tapping on beginning of 3rd Loop (intro of Horns, 9th measure?)
    Code:
    1)  (Impish): 29 / 3 / 29 / 7 / 8 / 10, 2a07, 571
    2)  (Gentle): 7 / 5 / 5 / 1 / 7 / 25, aad2, 573
    3)  (Hardy): 11 / 6 / 8 / 1 / 15 / 20, c9e1, 574
    4)  (Docile): 18 / 8 / 19 / 1 / 16 / 2, d28d, 574
    5)  (Docile): 14 / 15 / 12 / 15 / 5 / 18, d287, 573
    6)  (Sassy): 27 / 5 / 20 / 24 / 17 / 31, d8a5, 575
    7)  (Hardy): 22 / 12 / 18 / 5 / 20 / 27, d8a5, 575
    8)  (Bold): 22 / 18 / 12 / 19 / 4 / 19, ae9f, 574
    9)  (Sassy): 15 / 0 / 30 / 7 / 23 - 24 / 22, c7a6, 574
    10)  (Hardy): 6 / 20 / 7 / 25 / 8 / 22, b590, 573
    
    The two methods above seemed to give unacceptably inconsistent results, so I decided to try the old GBA Player + Turbo Controler trick again just for reference:
    Code:
    1) (Rash): 13 / 20 / 14 / 25 / 22 / 20, c0e, 567
    2) (Modest): 29 / 8 / 23 / 12 / 27 / 5, c28e, 567
    3) (Lax): 11 / 6 / 11 / 8 / 0 / 30, c05, 568
    4) (Rash): 26 / 25 / 21 / 22 / 28 / 24, c291, 564
    5) (Naughty): 3 / 29 / 9 / 29 / 14 / 17, c04, 568
    6) (Hardy): 15 / 10 / 7 / 24 / 15 / 28, c285, 567
    7) (Careful): 27 / 24 / 19 / 11 / 17 / 3, c298, 564
    8) (Lax): 21 / 28 / 8 / 9 / 26 / 20, c05, 564
    9) (Lax): 3 / 26 / 17 / 16 / 4 / 30, c28f, 564
    10) (Brave): 25 / 28 / 22 / 6 / 14 / 23, c04, 564
    11) (Lonely): 7 / 14 / 0 / 25 / 23 / 31, 9e0a, 564
    12) (Lax): 9 / 21 / 5 / 13 / 0 / 26, bfe, 565
    13) (Sassy): 19 / 18 / 7 / 29 / 9 / 3, c04, 567
    14) (Careful): 27 / 24 / 19 / 11 / 17 / 3, c298, 564 (replica of #7)
    15) (Jolly): 10 / 30 / 28 / 5 / 2 / 18, bfe, 567
    16) (Rash): 26 / 25 / 21 / 22 / 28 / 24, c291, 564 (replica of #4)
    17) (Brave): 18 / 5 / 2 / 25 / 6 / 4, bfe, 568
    18) (Brave): 25 / 28 / 22 / 6 / 14 / 23, c04, 564 (replica of #10)
    19) (Impish): 1 / 14 / 24 / 26 / 29 / 19, c28e, 565
    20) (Rash): 23 / 6 / 14 / 22 / 19 / 26, c04, 565
    
    Wow! Didn't expect that?! It's basically RIGHT ON TRACK with the results of my last big soft reset right in front of Zapdos, but with slightly higher frames due to a noticeably longer Review, (I noticed it lagged in certain spots for some unknown reason.

    1)
    This means that YOU, YES YOU can hit these exact same seeds, probably with the exact same consistency if you use the same stuff I am (GBA Player, GS Turbo Controler).
    2) Seems like your save file has NO impact on what seeds you hit. It's all about when you seed, and probably button presses too (will be found out eventually).

    Since this last "Turbo Soft Reset" matched up so VERY well with my last "Turbo Soft Reset" I decided to merge the two to find my most common seeds (I feel confident about this). Here's what I got:
    Code:
    c04  -  13/70
    c05  -  10/70
    bfe  -  10/70
    c291  -  7/70
    c298  -  5/70
    c28e  -  5/70
    c0e  -  4/70
    ea53 or 9a9c  -  3/70
    c297  -  3/70
    c09  -  2/70
    9e0a  -  2/70
    c285  -  2/70
    bfd  -  1/70
    c07  -  1/70
    
    The ONLY significant change was that one new seed was recorded (though it's right in line with the others). Everything else was right in line. I'll use this data to go find a good target frame now for Mewtwo and start timing it...

    [edit 3]
    Target Spreads:
    TARGET SPREADS:
    Code:
    c04  Rash 25/26/27/28/28/31  F 193044 (53:37:40)
    c04  Hasty 27/29/31/25/31/31 F 634779 (176:19:??)
    
    c05  Lonely 28/29/25/26/28/31 F 79162 (21:59:36)
    
    c291  Naughty 30/31/27/25/29/31 F 370536 (102:55:??)
    c291  Rash 27/26/29/31/29/31 F492644 (136:50:??)
    c291 Rash 26/30/31/31/30/30 F78010 (21:40:16)
    While these are some decent spreads, I'm actually gonna go ahead and set my Turbo on the slowest setting and see if I can get some DIFFERENT consistent starting seeds maybe with some even BETTER spreads! :D

    Now off to Radioshack/Walmart to try to find some kind of reliable timer...
  14. NixHex

    NixHex musty_yugoslavian_teacher
    is a member of the Site Staffis a Forum Moderatoris a Pokemon Researcheris a Contributor to Smogonis a Battle Server Moderator
    Moderator

    Joined:
    Oct 6, 2009
    Messages:
    2,675
    mattj, is SR'ing the same with the gamecube controller as it is on the gba? Also, when do you start the turbo? Is it when you press A on the SR? I'm thinking of getting the gba player and turbo controller, but it seems a little steep in price just to have a non-hacked Selfdestruct Mewtwo. Might be worth it though, as I don't hack anything, and I don't consider RNG abuse cheating, or I wouldn't be helping in this research ;)

    flovv, this is some amazing info. It wouldn't seem too difficult to make some data point graphs in Microsoft Excel or MATLAB, both of which I have. I would do two sets of data: the lower value, and the higher value, for each "frame."

    Some questions for you; if you don't know, it's fine, but just curious:

    Question #1: If you get the higher value for a seed, are you guaranteed to get the higher value for the rest of the frames for that start-up, and vice versa? It'd be easy to do trend lines for the higher and lower values, if this is the case. I would do it tonight, but I'm going to a LA Kings Star Wars Night Hockey game and I won't be back until late =)

    Question #2: This sort of goes along with #1, but if I get the higher seed, is my cartridge guaranteed to only hit the higher seeds for every frame, every time I start up the game?

    Question #3: If neither of the above is the case, does each frame have 50% probability for either value, or does one have higher probability over the other?

    Again, if you don't know the answers, that's fine, but if we get lucky, it would probably be much easier to get a solid formula for a seed! Awesome findings.
  15. flovv

    flovv

    Joined:
    Feb 25, 2010
    Messages:
    7
    Question 1, 2 and 3:
    No, every frame on every startup could calculate both seeds.
    And yes, what i have seen it was a 50% probability.

    I think that there are two possibilities why there are two seeds on the same frame:
    1) The autofire is not fast/accurate enough and sometimes hits to late or something.
    2) Within a frame the button press is monitored more then one time.

    Edit: I am not really into GBA ASM, but perhaps anyone reading this?

    Here is what I've found so far:
    Click me
    This shows the seed 98DE gets written into memory and some instructions before, i cannot see if it is generated there.
  16. mattj

    mattj blatant Nintendo fanboy

    Joined:
    Mar 30, 2009
    Messages:
    4,690
    Yeah from what I can tell it's pretty much the same, it's just it's waaaaaaaaaaaaaaaay easier to get consistent delays/frames with the turbo controler because it does all the consistent button mashing for you, all you have to do is hold A.
    I wish I could post a vid of me actually doing it (it's so easy) but I don't have a decent camera. Basically, I hold down the Reset button on the Gamecube with my right hand and hover my finger over the A button on the Turbo Controler at the same time, and listen to the beat of the game music to get throuroughly synched, then when I feel I'm ready I release the Reset button (which Resets the game) AND hold A down AT THE SAME TIME.
    Oh, and are they expensive now? The controller is still 15$ retail (less used) and at least when I bought the GBA Player a few years ago it was only 12$ used at Gamestop. That's less than my 35$ USED Fire Red Cart.

    *cries to himself over all the games he traded in to get that stupid cart...*

    Okay here's the first 10 SRs using the slowest setting on my Controller. Starting with 10 just to see if it's giving "decently consistent" starting seeds or not (seems you can usually tell by 10 or so).
    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
    
    Not very happy with the consistency of those starting seeds at all (though the frames are great!) Gonna go back and try somehow timing the start of the Turbo A but back on High again. Maybe timing it to the lil gleam of the light in the startup or something...

    [edit]
    Okay, here's what I did this time. I Soft Reset, and let the game play through to the Nido/Gar fight scene, bobbed to the music to get in synch and held Turbo A on the fastest setting on the beginning of the beat of the final/held note. Got some decent results for just 10 SRs (I'm tiiiiiiiiiiiiiiiiiiiired. x_x)

    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, 609c, 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, 607c, 564
    20) (Bashful): 10 / 27 / 23 / 20 / 30 / 20, 3c45, 567
    I like these SRs much better than the other ones. Lots of doubles or "near doubles" (3c49 / 3c4f / 596d / 5964) which is a great sign for only 10 SRs and still getting used to it literally. I'll do 40 more tomorrow evening and hope for new consistent starting seeds with maybe better target spreads on them...

    Few New Target Spreads:
    Code:
    3c49, Naive 29 / 31 / 30 / 28 / 30 / 30  F1624 (4:33:73)
    3c49, Hasty 26 / 29 / 29 / 26 / 25 / 31  F213370 (59:16:16)
    
    3c4f, Naive 26 / 29 / 31 / 31 / 27 / 31  F97918 (17:11:96)
    
    596d, Hasty 30 / 27 / 28 / 29 / 26 / 31 F131381 (36:29:68)
    BY THE WAY, JUST INCASE I MISSED IT, HAVE WE COME TO AN AGREEMENT AS TO WHAT THE EXACT POINT THE GAME SEEDS AT IS?? Is it when you press A and it makes that little Roar on the "Press Start, Venu/zard Screen"?? It would REEEEEEEALLY help a lot to know that point cuz then we could actually abuse it like in DPPt, (cuz we know it seeds based on the time between SR and "Continue Game").
  17. flovv

    flovv

    Joined:
    Feb 25, 2010
    Messages:
    7
    The moment you press the button an it roars, starts the screen change and also the generation of the initial seed.
    The generation is complete 4 Frames after the screen is complete white.
  18. mattj

    mattj blatant Nintendo fanboy

    Joined:
    Mar 30, 2009
    Messages:
    4,690
    EXCELENT! and i assume that the frames start running at sixty frames per second as soon as the initial seed is generated? Or does it wait till the continue screen or the review?
  19. flovv

    flovv

    Joined:
    Feb 25, 2010
    Messages:
    7
    I've some good news, and some bad news.

    Creation of the initial seed is not complex, it's not even a formula needed.
    How does it work? After some more debugging i found out that the
    initial seed gets copied from 0x04000104 to its final position in memory (0x02020000).
    That adress is the counter of the GBA timer 2/4, which is running @ 256Hz; 65536clks.
    More about those Timers can be found here.

    The timer starts counting when the screen changes to the "Press Start"-Screen.
    This is initiated by the first button press or waiting till intro is finished.
    Once it started counting, it will do so until the initial seed has been determinated.
    A soft reset will have the same effect as if you switch off the GBA.

    Also this explains my captured initial seeds. The low ones from frame 1 to 48 had no
    other instructions at the moment the first button was pressed.
    The ones after that have a routine running which takes some cycles and therefore increase the counter.

    I think it will be almost impossible to get a desired initial seed, tough you
    can get some equal with the help of autofire. The clock of the timer is imho too high.
  20. NixHex

    NixHex musty_yugoslavian_teacher
    is a member of the Site Staffis a Forum Moderatoris a Pokemon Researcheris a Contributor to Smogonis a Battle Server Moderator
    Moderator

    Joined:
    Oct 6, 2009
    Messages:
    2,675
    Where have you been all this time? Good work man, I should have majored in CS or CpE... it's going to take me a while to wrap my head around this. I'll just use the "reactive" method, find a common seed for myself, and get my damn Mewtwo. Hopefully this will take less time to successfully pull this off than it has constantly calculating seeds. Again, good job.

    Now, the next thing we need to do is learn to RNG abuse XD so we can get Baton Pass Zapdos!
  21. mattj

    mattj blatant Nintendo fanboy

    Joined:
    Mar 30, 2009
    Messages:
    4,690
    Maybe it's just me, but that actually sounds completely abusable.

    Sounds like you're saying that it's the time between the first press of A that triggers the "Venu/zard Scene", to the next press of A that moves onto the "Continue Screen". If we had some kind of adjustable timer, we could just start it when we press A to trigger the "Venu/zard Scene" and wait XX:XX to press A again to get whatever seed we want. Then, another adjustable timer would start right after that, which would time your frame for you. Granted, you'll miss your target starting seed a lot because it's so finicky, but, meh, I've already done 200+ Soft Resets, so... what's a few more. :P

    Does anybody know if Emloop can do this? I know Pikatimer can only go down to 30 seconds for the first timer and up to 17ish minutes for the second, so that wouldn't be too practical.

    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*

    Oh, and I did 10 more SRs using that new method and got some good looking results. I'm still running the numbers, but I'll just edit them into my last post so as to not waste any space. Looks like I'm getting some new good starting seeds, and I hope there are some better spreads on them. If anybody (Misdreavus and others) are still thinking of looking into buying the gear I've got, all this data should hold true for you guys as well, so you owe me one. :PP
  22. Nexus

    Nexus Day 358: Believe
    is a member of the Site Staffis a Super Moderatoris a Contributor to Smogon
    Wi-Fi Commissioner

    Joined:
    Jun 21, 2009
    Messages:
    2,881
    from experience yes, emloop has an adjustable pretimer along with its main timer
  23. mattj

    mattj blatant Nintendo fanboy

    Joined:
    Mar 30, 2009
    Messages:
    4,690
    Gawd. More SRs then X_X

    Off to do that...

    OH AND PROBABLY ONE OF THE LAST THINGS WE NEED TO KNOW:
    What is the exact moment that the frames stop running? Is it when you press A and the pokemon makes his noise and that little box pops up, or is it when the battle actually starts? It makes a real difference.
  24. NixHex

    NixHex musty_yugoslavian_teacher
    is a member of the Site Staffis a Forum Moderatoris a Pokemon Researcheris a Contributor to Smogonis a Battle Server Moderator
    Moderator

    Joined:
    Oct 6, 2009
    Messages:
    2,675
    Well, take a look at some of the data I posted before... here's an example
    One thing I forgot to fix was my fpsn value, as in the clock frequency of my particular cart. The actual formula is 60*Time/25.00, which for this case would be 57.432 fps. Now, on to the real point:

    My time between Press Start and "Encounter" was 25 seconds. More specifically, and I should have stated this before, "Encounter" was when I pressed A after "Mew!" popped up, aka when I activate the battle. Note the frame I hit was only 1435. Doing some quick math, 1435 frames / (57.432 frames/sec) = 24.986, practically 25.00 sec. So, I believe the frames stop when you press A after "Mew!". This is really nice, because in Emerald you have to calibrate for each legendary according to the length of their cry and over-world animation.
  25. mattj

    mattj blatant Nintendo fanboy

    Joined:
    Mar 30, 2009
    Messages:
    4,690
    Thanks nix that helps. Just to verify i'm gonna do a soft reset this evening with my turbo on fast (so i know what seed i'm gonna hit pretty much) and i'll let it set on 'me w' for a while and then check the frame. I TRUST YOU but i need to see it myself too.
Thread Status:
Not open for further replies.

Users Viewing Thread (Users: 0, Guests: 0)