If your 3DS doesn't have CFW not to worry, its possible to hack and install CFW on any 3DS today relatively easy.
In this tutorial I will teach you how to easily inject a GBA rom so it can be loaded from the 3DS home screen, this will work on any 3DS console which is running CFW. What interest me about this is that its now possible to play all the core Pokemon games on the 3DS, from Red and Blue to Ultra Sun and Moon. Something to keep in mind as with the DS / DS Lite link cable support is not possible, however if you wish to trade Pokemon for example you can backup your save, do the trading on an emulator then restore the save to your 3DS as a work around. The only games which will not work are games where the cartridge contains special hardware, which very very few games do. It was recently discovered how to load GBA games with 128k save support and in addition RTC (real time clock) support, meaning its now possible for the 3DS to perfectly play the vast majority of GBA games. The only thing been emulated is the actual GBA cartridge slot. With CFW (Custom firmware) this means we can package our own GBA and load them on the 3DS, having them play exactly the same as on a real GBA. The Nintendo 3DS actually has all the hardware inside to natively play GBA (GameBoy Advanced) games without using emulation.