I could've sworn that I played Pokémon Yellow with GameYob natively on the 3DS. I remember making my own palettes for other monochrome games.
Although... pretty sure I used the unscaled option, meaning that the image was squished very small into the middle of the big 3DS screen, but it wasn't bothering me personally.
I would show it working, but for some reason it always crashes on my 3DS, now that I wanted to try again...
For DS, I actually play GB games by writing Goomba (GB emulator for GBA) to a cartridge, and shoving that into Slot-2. I actually prefer this, as the DS Lite is less heavy as my 3DS, and it has mushy buttons instead of clicky buttons. But with your DSi, and cartridges (and especially cartrirdge writers) being on the more expensive side, I'd say this is only viable if you prefer real hardware. But at that point you'd have better luck refurbishing a junk system with an aftermarket shell...
Opinion aside (as in, this is still my opinion, but I'll try to be objective), if you're on a budget, I'd say try 3DS, as it can also emulate other systems, if you want them in the future. Can also play DS and DSi natively.
And for GBA, open_agb_firm just got color correction to mimic the colors of a real GBA, so Golden Sun won't look like piss anymore (
literally), and Harvest Moon
will look more depressed,
than without correction.
And the upscaling in open_agb_firm uses some tweaked linear, so it actually looks as good as we can get it, without using pixel-perfect scaling (except 2DS, as it has 1:1 pixels, not 2:1 pixels) and subpixel scaling (untested yet on real console, as hardware limitations make us scratch our head to not add unnecessary lag, and fit into CPU budget without wasting battery for nothing).
Oh, and the best part is that open_agb_firm uses the real GBA inside of the 3DS (more specifically, the same GBA that is in a DS Lite), so it will always run at full speed with maximum compatibility. The only downside is that GBA Video, and some other obscure games don't work without patches, as there is no gyroscope, light sensor, or any of that fancy stuff connected to the cartridge emulator. But every game up to 32MB works, and even EEPROM and RTC games work out of the box, as Nintendo made them supported, *in hardware*.
Some naughty homebrew may not work, as they set cartridge speed to 2;1, which the 3DS doesn't support (only down to 3;1 speed is supported), but those types of homebrew have bigger issues preventing them to work on real hardware anyways, so this limitation is usually a non-issue.
And if you're *really* on budget, I'd say make the most use of your DSi. I don't remember GameYob being *that* bad.
Or if none of these sound convincing, I've used to plug a Sony PS2 controller with multiple adapters into my Android 2.2.2 tablet, and play old games that way
Grips, and all that exist, not all of them are that bad. Although in my case I just had it on my lap, as I have a high discomfort tolerance for various reasons.