Also, the landscape mode is faster than the regular mode because you can blit the screen with a single memcpy (it's +10 % faster). This is something to investigate further (needs to rotate the paddle keys too ...).
Actually the rotate option left/right option does not work ( flips the display of 180 degrees instead of 90 degrees, I mean, on my Ipaq ).
To refresh the clock and bar at exit, here my tip I use: (which should be also performed when changing of task WM_FOCUSLOST (not sure for the exact name))
Grab the memory buffer (with GXBeginDraw(), copy it into a a 320x240x2 byte buffer ( but you can compress it with a rle routine to reduce memory footprint )
When returning to the GUI, copy back this buffer, and voila, everything will be restored.
Last thing again, allow an 'safe mode option' using DIB instead of GAPI. Can be convenient ..
> Thats exactly why I didn't use it either, I had no idea you could.
> All the sample apps using Gapi (that I used right after it came out) use the
> CreateWindow() function.
> I'll take a look at it and rewrite it to use that function a soon as I get a
> FYI, My first attempt at rewriting this had the full screen blacked out, however
> it would never refresh the menu bar and clock when I exited MameCE3. I always
> assumed it was becuase we were blitting to the screen directly and the OS didn't
> know that we overwrote the menubar. I also couldn't figure out how to tell it
> that I had written on the menu at the time.
> Also, (becuase of this)my blit routine in display.c does not reblit the menubar.
> It start its blit at the screenframe+=26.
> Perhaps we will get a few more frames per second after this change :)