What you'll need:
Nintedo DS Lite and/or original nintendo DS.
Pokemon Blue/Red/Yellow (first generation)
Pokemon Crystal/Silver/Gold (second generation)
A Nintendo DS that can connect to the internet.
A Nintendo 3DS...
Two Gameboy Advanced SP's.
How to do it from First Gen/Second Gen to Firered/leafgreen:
First, play-through Gold/Silver/Crystal or Yellow/Red/Blue.
Trade via-link-cable and GBA-SP to Firered/Leafgreen whatever Pokemon you caught in Yellow/Blue/Red Gold/Silver/Crystal etc.
Then, to migrate your Pokemon to your DS games such as Diamond/Pearl/Platinum/HG/SS... You need to enter the Pokemon HeartGold/SoulSilver and/or Pokemon Diamond/Pearl/Platinum game
into the DS slot and then enter the Firered/Leafgreen games into the GBA slot in your ORIGINAL NINTENDO DS OR NINTENDO DS LITE.
Then, take your heartgold/soulsilver/diamond/pearl/platinum and with your 3DS and DS Lite connect them to your Pokemon Black and White or Black and White 2
And eventually you can trade the Pokemon!
If you need any help with this then let me know! Currently, I can't do any of this because I need to get a DS Lite and link cables, and I need to go to an area that's Wi-Fi has a WEP code, because my Pokemon Heartgold won't connect to my internet security system.
Also, I apologize if I hadn't posted this in the right topic or not if so, please move it to the right one?