I may not have permission to do this but I really don't want to lose this amazing guide, if ShadowHunter makes a new thread and posts that guide there I'll remove this topic, if someone doesn't want me to post this thread anyway, I'll remove it.
Guide originally written by ShadowHunter, all credit goes to him. ShadowHunter
I recently wandered into 3rd Gen RNG, it seems that LG/FR RnG is not as known and I just want to compile all the information I gathered.
Introduction: Why RNG 3rd Gen?
Though Game Freak Introduced Plat/HG/SS to pushed out the reliance of 3rd Gen games, but some features and pokemon are exclusive to the 3rd Generation.






Notable Exclusive moves:
Detailed Version here
Mew: Softboiled, Hypnosis, Fake out
Mewtwo: Selfdestruct, Mega Kick, Counter
Deoxys: Counter
Regi-Trio: Sesmic Toss
The most important thing is that,
shiny Mew and Deoxys can
only be obtained in 3rd Generation games.
Prerequisites:
1) Download VisualBoyAdvance 1.0.8.3 or VBA-M, Google it up, Set the settings to the following to maximize speed
- Select No throttle (Under Options --> Frame Skip)
- Select Priority: Highest (Under Options --> Priority)
- Select Speed up Toggle (Under Options --> Emulator)
- Select Filters to normal and turn off sound
2) A Reliable computer
If you can't get over 600% speed in VBA, do not attempt because this projects can take weeks to accomplish with a slow computer.
3) Download the
OLD PokeRNG (Wichu has it)
LinkThis checks the your current frame. We will only be using "Method 1" "Seed 0".
4)
Shiny Bit XoR Calculator
MegaUpload LinkThis checks if the ID/SID combination produces near flawless shiny spreads
5) Download RSEdecode aka RSE.exe
Link- This checks the IV of the pokemon you captured.
- Visual Instructions on Youtube
6) Download RNGreporter (Mingot's Sig)
- Not mandatory, but it can check fram & shininess (but it is slow when it scans above 100 million frames)
Choosing The Perfect or Ideal Spread:
1) How to get a desired ID/SID combination.
It is not possible to RNG a specific ID/SID at the moment, you just have to test your luck.
You chance of landing on a particular spread is exactly 1 in 8192.
There are 67 perfect spreads, so chances of landing on a perfect spread is 57/8192 (some ID/SID contains 2 perfect spreads)
However, there are over 3000 30 IV+ spread, and over 11,000 29 IV+ spread.
This means, you are bound to get a "somewhat decent"
shiny spread within couple tries, and a "decent" spread within many tries.
All Method 1 Perfect IV PIDs,
Don't worry I have this in the BitXor Calculator
Trainer ID and Secret ID Creation:
The 2 screenshots show when Trainer ID and Secret ID are created.
We will be abusing ID / SID generation with VBA save states. (File --> Save File)
Make a save state at the Name setup screen if you want to SR for a ID.
To control the SID generation, you have to make a save state 1 dialog before this because there is nothing to press for this one.
What you can do is, lock in just make a save state 1 dialog before the 2nd Picture to just SR the SID.
2) Checking your ID, SID, there are 3 methods:
AR Code I noticed that the ones that check Trainer ID Card gives the incorrect SID.
RSEdecode you have to pick up your first pkm for this to work, but it is 100% accurate
Pal Park is just extremely long as you have to go through the requirements of Pal Park, At least 6 pkm in your PC, and positioned in a PkmCenter etc. etc. etc.
3) Matching your ID, Secret ID to useful spreads.
There are basically a chain of bit XoR calculation,
Deducing your secret ID, however
I made an excel file (
Requires MS Office 2007 & Macros enabled) that does all that work for you and populates any decent
shiny spreads.
If you have office 2003 or disabled macro this will NOT work
Bit XoR Calculator MegaUpload Link
Features:
1) Check for any useful
shiny useful IV spreads with a given ID/SID Combination.
The spreads already listed can be customized and are not limited to the listed spreads.
2) 3rd Gen
Shiny Egg Finder, by archiving all ID/SID entered, can quickly determine if you already have a save file where an Egg can possibly be hatched
shiny.
3) Calculator for calculating frames to either real time or game time.
4) Binary Calculator, XoR Calculator, Hex-to-Binary, Dec-to-Binary Calculator. You don't need any of these because I wrote the code in Visual Basic to calculate everything.
5) An Emerald focused
Shiny Spread Table, where it searches for more flawed spreads in lower frames. *Coming Soon*
In Emerald, some spreads are possible but not plausible to achieve, this spread table enables the user to choose their maximum frame and searches for the highest spreads within the parameter.
Just enter the ID and Secret ID under Column B & C respectively, then go Menu (Top Left) and press "Update Method 1
Shiny Search"
A number will be automatically generated in column A, this number is for personal archive purposes.
If for any reason you want to change any elements on the spreadsheet, you should use the "Rerun" button as it will do a complete scan instead of updating missing ones.
If nothing shows up in Column E & F, then it means that particular spread has no decent spreads. Then go back create another ID/SID combination.
If you got a decent spread(s) from the ID/SID combination, save the spread both the excel file and the VBA sav.
Go (or Warp) to the necessary legend. (Must be a Legend or a Method 1 Pokemon)
1) Save in front of the legend. (Actual .sav file)
Note down the In-Game save time
2) Create another Save State.
3) Catch the Pokemon (Masterball is fine)
4) Open up RSEdecode
Using RSEdecode Youtube Tutorial Link
RSEdecode is to check the IV and the PID of the pokemon, which is important.
1) Put the desired PKM to check for its IV
in the 2nd Slot
2) Create a folder in C drive and call it rsedecode
3) Click Tool --> Memory Viewer, Click 32 Bit and
Click Go on top right
4) Click save, you will see a pop-up
5) For Address, it is different depending on the game:
Emerald
Party Slot 1 - 20244EC
Party Slot 2 - 2024550
Party Slot 3 - 20245B4
Party Slot 4 - 2024618
Party Slot 5 - 202467C
Party Slot 6 - 20246E0
Ruby/Sapphire
Party Slot 1 - 3004360
Party Slot 2 - 30043C4
Party Slot 3 - 3004428
Party Slot 4 - 300448C
Party Slot 5 - 30044F0
Party Slot 6 - 3004554
Fire Red/Leaf Green
Party Slot 1 - 2024284
Party Slot 2 - 20242E8
Party Slot 3 - 202434C
Party Slot 4 - 20243B0
Party Slot 5 - 2024414
Party Slot 6 - 2024478
Size: 64, then click Save in rsedecode
6) Save as monster.dmp in C:/rsedecode
7) Press Start --> Run --> CMD, type cd \rsedecode, follow by typing "rse".
This will give you the IV of the pokemon, now plug the data into
PokeRNG
Using PokeRNG
All Legends are generated via method 1 seed 0.
1) Enter 1 for Method 1
2) Enter Nature Make sure NATURE IS CAPITALIZED
3) Enter 0 for Not
shiny
4) Enter 0 for Hidden Power
5) Enter 1 Make sure you are looking for
exact IVs
6) Enter in the IVs
7) Then hit 0 for ave IV, 0 delay, 0 start, 0 end
The resulted generated are contained a text file (spreads.txt) and a csv file where you saved the PokeRNG.exe. (the csv file doesn't get updated all the time).
All you need to do is look for the frame of the pokemon you caught.
If the Frame that you caught the pokemon on is within 150 million frames away, you may consider using it. What it means is that you will let the emulator run for X amount of hours to advance 150 million frames.
If it is significantly higher than 150 million, go back to step 1 under "
Go (or Warp) to the necessary legend".
Note that 60 frames advances per second, while using VBA 10x speed can advance up to 600 frames per second. You need to basically let the VBA "Sit" to advance to your target frame.
This is an example
Quote:
Results:
4130910329F 7481697c (NAUGHTY, ability 0) 8/19/15/14/10/27 (Seed: 00000000 Frame:
4130910329) HP GROUND 69
Target Frame 4197705711 - Actual Frame 4130910329 =~ 66 million frames
By Plugging into my integrated function on my BitXoR Calculator
I yield 309h 14m 16s.
Earlier I have noted down the In-game save time.
Say if I saved right in front of Mewtwo @ exactly 10h 00m, you will hit the frame approximately at 319h 14m
So one way to keep track of time is Previous Game Time + Time for Frame Advance = Target Time*
*If you need to advance more than 999 hours, obviously this will not work as the clock's limit is 999 hours
It takes VBA approximately 24-48 hour to advance depending on how fast your computer runs.
The slower your computer runs VBA, the longer it takes to reach your target frame. The difference is not in minutes, but in
days.
Time Reference:
You can tell that advancing millions of frames can take a while, and the speed of VBA is crucial the frame number increases.
Refining to the actual frame:
1)
Make frequent saves and make sure you name files differently.
If you go over and accidentally overwritten your only file, you lost everything and back to step 1.
Probably save once every couple hours, and every hour when it is getting close, power surge, frozen comp, anything can happen.
2) Use RSEdecode + PokeRNG to check where you are, repeat those 2 steps again
Just create a save state, catch the pokemon, upload to RSE and execute, then plug IV to PokeRNG to get your frame, then continue your save state.
3) With the in-game clock method, you should hit the approximate frame within the minute.
If you cannot use the in-game clock method, you can approximate with the "frame to realtime calculator" in BitXoR calc app
4) Once you are within 0-500 frames, you need
precise measurements
- a) PAUSE the game (Control + P)
- b) Load up the game, at normal speed (100%)
- c) Press Unpause (Control + P) and A to engage the legend immediately
Find out the exact frame, then reload the game state.
- d) Press "Next Frame" (Control + N)
This will fine tune to the exact frame, as hitting "Next Frame" advances 1 frame.
Hit it as many times as you need to hit your target frame, but it is wise to make a save state about 10 frames away from target just incase.
- e) When you are on your target frame, unpause and quickly engage
You should hit your shiny pokemon now.
If you didn't, here are the possible reasons
You had the wrong secret ID (
RSE decode is 100% accurate, some AR codes aren't)
You were a few frames off.
You didn't read this guide carefully.





Happy 3rd Gen Shiny Hunting, Good Luck!
FAQ:
Can you teach me?
If you have any questions, you are free to PM me.
If you have never RNG'd before, please do not attempt. Try Emerald RNG or 4th Gen RNG first
How to get a Shiny Mew?
It can be done on Emerald, however, the Old Sea Map was never given out outside of Japan, so legit in-game mews can only be Japanese.
Can I do this via an actual cartridge?
(Short answer) No, this is for emulator / ROM only
(Long answer) This is extremely hard (close to impossible) to do with an actual cartridge,
You can use gameshark to write a save state, transfer it to a VBA and continue with the routine.
Can I use this guide to RNG method 1 from Emerald / Ruby / Sapphire?
You can take this concept and use it on Emerald, use that Emerald always start on Frame 0, which has its pros and cons.
I
believe Ruby / Sapphire PRNG structure would take asimilar approach, I am not exactly sure.
So you can get these Pokemons on VBA Emulator, how do you transfer it to the Real game?
There are couple ways, the easiest is to use Desmume Emulator, which means that you need an 4th Gen ROM.
The second way is to convert the save file to use EZ Flash 3-in-1 to do a Pal Park
The last way, is to have 2 GBA, a Link cable and a memory card, transfer it to an actual cartridge.
Buggery Questions, Please don't PM me questions like:
"What pokemons are you working on?" or "Can I have a Selfdestruct Mewtwo?"
No, I no longer expose my projects
"Can you get me a [Insert Shiny Pokemon]?"
No, the guide is here, do it yourself
if you read the complete guide (which probably you haven't), it takes days upon days for a project.
I can't guarantee I can hit that specific flawless spread within hours, or if I ever will get that spread.Emerald projects, can take months like I said, many are possible but not plausible as it requires you to idle in VBA 1000-3000 hours.
Other Readings:
Bozo's Shiny Egg Guide PID Hex to Binary
RNG manipulation in FR/LG