Anyway, if you know a way to simply just draw to the screen please post it
The GBA has 6 'modes' you can use while drawing to the screen. Look at sections 4, 5, and 6 in the CowBite spec, and that'll tell you all about drawing on the GBA. Come to think of it, read through the entire CowBite spec. Memorize it. Print it out and keep it on your bedside table. =)
In short, in modes 0, 1, and 2, you draw sprites by putting the sprite picture in memory, and then you have to *tell* the gba that that you want a sprite on screen by setting the appropriate registers in the OAM (if you just went ???, don't worry, it all makes sense after you've read through CowBite). You can't simply 'draw' to the screen in these modes. You're limited to 128 sprites per frame, of which 32 can be scaled and rotated (I'm almost positive I'm right on those numbers, but it's been over a year since I've worked wit h the GBA; I may be off).
Then there's modes 3, 4, and 5. In these modes, you
can draw directly to the screen, but you'll you have work with the limitations of the GBA. You'll have to handle your own transparency when you draw to the screen, since the GBA will only do transparency for you if you're drawing sprites with the OAM. Since the GBA doesn't have enough video ram to double buffer at full-size in 16bit mode, you're either to have to draw in 8bit (which presents its own problem, since the port size to VRAM is 16bit only, which means that if you want to draw a single pixel, you'll have to read the 16bits out of memory (two pixels), AND the old pixel out and OR the new pixel in, and then write the 16bits back to VRAM. Which is slow.
What I'm trying to do here is to gently nudge you in the direction of using modes 0, 1, and 2, because in those modes you're going to be using all the 2D abilities of the GBA to its fullest (the GBA is one of the most amazing 2D consoles out there when you use its built-in sprite rendering hardware through the OAM). You won't have direct access to the backbuffer in these modes, but you will be able to draw 128 sprites per frame, with no slowdown whatsoever. And that's pretty darn fast. =)
I found my compiler at last, and I'm going to be posting it to this forum once I put together a simple example project which will give you an idea of how to create programs for the GBA.