GP32 dev

Here we go! This page covers the stuff I'm doing with the GP32, now that I have a working compiler thingy.

Just a simple font-drawing test. I'm using Mr.Mirko's SDK, which has a built-in 8x8 font. Even though it's a cool font, everyone's seen it already, so I'm putting two new fonts in there for my program. Like them? :) I guess GeePee32 (the emulator I'm using for the screenshots and testing) simulates the LCD colors, since the palette is supposed to be 100% white and 100% black, and in this screen they don't show up like that. Yes, I have tested another test program I made on the REAL GP32, so I know I can make a working GP32 program with this. I haven't tested this particular application on it yet, but I'd imagine it works.

Ooh! Look at that! A mouse cursor and buttons!! ^_^ Apparently I wasn't defining the palette correctly, which is why the black in the first shot didn't appear black. It's fixed now, and now there are more colors. Yes, the mouse does move. The GP32 does not have any kind of hardware acceleration for anything. The screen has to be manipulated 90% through the software. It uses a linear framebuffer, in either 8-bit or 16-bit mode. I choose 8-bit, because I needed space for 3 buffers to get flickerless sprites. They're sprites in the manner that they're independent from the bg. I have to redraw them every time I update the screen. Actually, there probably IS space for 3 buffers in 16-bit mode. See, the ram where you store the framebuffer is designed for fast access (or so I've heard), but you can put whatever you want there, not just framebuffer. Sometimes there's a soundbuffer in there. Speaking of sound, like I said, there is no hardware acceleration for anything, so there is no sound chip. Sound is accomplished via two DMAs (one for left, one for right, but you can use 1 DMA for mono sound). Sometimes, with many DMAs, the sound gets crackly or noisy, but there are many ways to fix that.

Really exciting, huh? :P Though, the visual result isn't very exciting, the process that actually GETS the display like that kinda is. The actual GUI portion of the code is starting to take form. There are routines that add objects to the GUI array (which has a typedef structure, so I can use names in order to make my life easier. :) ), and then another routine that draws the gui, in accordance to the contents of the GUI array. Personally, I really like the mouse cursor I drew (It reminds me of the Macintosh cursor because it's black with a white outline). In my adventure to learn more misc stuff about GUIs (just out of interest), I've stumbled across GUIdebook. Check it out, it's a really interesting site. :D
Drag Layout v1 -- In association with CSS