As for the Zigzagoon encounter, I use that to verify my SID (and not the frame). If the Zigzagoon is shiny, that means I got the desired SID. I'm only using the .lua script from this thread. (last page, posted by Hozu himself)
EDIT: According to my own research through TAS, when I hold A at frames 42303-40307, after around 80 frames, frame jumps to 42425 and then another 4 frames to 42429. If frame 42429 (after the 4-frame increase) in that same run determines SID, then I know why. If not, then I'm still trying to figure things out.
EDIT 2: I use Researcher (16BitHigh, *1 in Custom1) to find the suitable SID. Retrieved the Column1 and pasted into Microsoft Excel and searched from there. But what I said above may be the issue.
SID is set sometime after you press A at the last line, not sure when but it was ~80 frames for me too iirc.
The best way is just to figure out what SID you are getting and how far away it is from your desired SID, then advancing accordingly, I don't think I've had any problems that way.
EDIT: How are you checking your SID? I just read something about you trying to catch a zigzagoon, you should be using RSEdecode or Enciclopedia Pokemon (or even a code).
Just a quick question regarding cutoff points for SID abusing in Emerald. I know SID is determined somewhere after I press A on Birch's last line (at start). Is the SID determined the moment the screen turns black? Or is it determined when the frame jumps by around 30 (after 80 frames have advanced after pressing A)?
I still get undesired results after some number of attempts.
You must just be unlucky then :/
And if you're impatient to go for higher spreads I would suggest going into a battle and letting the frame advance in there if you aren't already, it usually skips every other frame for me which essentially cuts waiting time in half, just keep the lua script open and paste the current seed and previous seed into RNG reporter and search for your target spread to see if it's working, there should be a 2 frame difference between the two.
Oh, hm...yeah, I was trying to mention something like that, but that's actually exactly what I did. There are plenty of good IV spreads to choose; it's just that I'm not too much into IV's that are, say, 24 or below in not-so-useless stats (though there may be exceptions).
Not really sure what you're saying, but if you reset enough or don't care about absolute perfection you can find stuff <5000000 no problem.
All you need to do is savestate before you set your name, then proceed until the last line and check the frame with a lua script, plug that into RNG reporter and search for whatever you're going for, if you find something then savestate and abuse your SID, if not go back to the first state and set your name again for another seed.
Speaking of "random seeding", does it basically mean searching for the best possible frames in RNG Reporter? If so, I actually did it, but the target frames are in the 5000000+ mark, in which I could be completely impatient.