Just 3ds so far, but it supports from generations 1 to 7
Generation 1-3 can be used with Virtual Console or through Twilight Menu
Generation 4-5 can be used with Twilight Menu
Generation 6-7 can already be managed when you get your starter.
The pokemon can't be managed from the start. You have to get your starter first. That's how I changed my starter pokemon to a level 100 kyreum.
You must have custom firmware installed. To start, follow the directions here.
https://3ds.hacks.guide/