Pokemon

Emulators

I suggest the following emulators:

GBA

VBA-M

Multiple Instance Multiplayer

If you want to play with two instances on the same computer (trading between two games), see Trading Pokemon with yourself.

GCN/Wii

Dolphin

3DS

Citra

WiiU

Cemu