A month ago I picked up the Gameboy Development Kit. It came with a compiler, an IDE, and some graphics programs. This is the origional Gameboy, by the way. Now, if you've ever played a Gameboy game programmed with C(probably not) you'll realize why the Gameboy is programmed with assembly. Obviously, a C Gameboy program is VERY slow.
Then there is actually writing the code. Now, I'm all for libraries to help me out when I am making a computer game(Allegro anyone?), but when I'm working on a GB program, I'd rather just do it myself than deal with some poorly documented set of functions that are more confusing than directly dealing with hardware. Unfortuently, I got the latter. I mean, how hard could it be? It's only four colors!
Anyway, so I'm looking through the documentation when I see the function for drawing a rectangle. The description of the function was "Draw a rectangle". I put it in my code and lo and behold, it drew a rectangle with a huge vertical redraw line creeping down the GB emulator screen. That's pretty much as far as I got in terms of programming for the origional Gameboy.
Now I'm working with the GBA, and it is alot better. Using C dosen't horribly destroy the speed of the GBA, which is great, and it's very fun to work with the GBA, as opposed to it's older brother.
Later I found out that an RPG was made for the origional GB with C, and it won a contest(or got 2nd place, I can't remember). Go figure.