Caanoo / WIZ Caanoo Sdk And Some Documentation

Simon from GPH mailed me:

I just upload toolchain for windows & linux platform to following URL.
Primary : -> News -> SDK Board Secondary : -> Caanoo SDK for Caanooo will takes few more weeks.


I just nabbed from sbock's mirror, to take a peek; in the end, using same toolchain as Pandora should work, substituting the libs of course.

The GPH SDK is a bit of a mess I found (layout in particular.) I don't use Code:Blocks or any of that business, so to integrate it into my existing makefiles was easy enough. Could just use a more recent gcc and link to their libs, but I was lazy last night and it only took 10 minutes to get up and going with their pile :)

For Linux (similar for windows (cygwin?) I imagine)

1) Extract the base "DGE" to somewhere. (Note .. do they release the source for the 'dge lib' anywhere, or just the lib bins? I didn't look too hard, but be sort of odd if they don't release the DGE lib source, but I digress.)
2) Extract the 'caanoo update' to bas eof that dir, it looks like. This adds a couple libs and some sample code.

The layout is odd, in that there is ./include and ./DGE/include and the same sort of thing for libs; it might make sense if it was divided nicely, but DGE/include and DGE/libs have a lot of stuff nothing to do with DGE so it just seems an odd division; really should just be one include and lib dir imho. More to point is theres are more like /usr/include and /usr/lib, but anyway.

In my makefiles, I include a type file that sets up the basics, which is (going from memory):

SDKBASE = /path/to/GPH_SDK that you extracted in (1)
TOOLBASE = ${SDKBASE}/tools\gcc-4.2.4-glibc-2.7-eabi\bin\arm-gph-linux-gnueabi-


CFLAGS_ADD = -I${$SDKBASE}/include -I${$SDKBASE}/DGE/include -I${$SDKBASE}/DGE/include/SDL

Then in any given Makefile, in your CFLAGS and LDFLAGS just add in the bits from above (or use them as-is.)

ie: I do something like..

.include # pull in caanoo makefile template above

that sort of thing.

For BattleJewels, I duped the Wiz platform code to a new Caanoo directory, added those what, 10 lines, to the Makefile, and *poof*, out popped BJ no problem per se.

(Audio works, touchscreen works, SDL worked; only thing that didn't work was joystick and buttons, since they're different on Caanoo.. should be a 20 min fix once I look it up. In this case it'll use SDL as I didn't have time to convert Wiz to native, but if SDL is good enough, I'll let it stand.)

I haven't used oggs; I have a homespun MIDI-renderer and my own MOD-player. (I tended to aim for very low spec devices, originally, so my music rasterizers work down to like 150mhz machines, OGG was way out then :)

Good link; for non-SDL it'd be a piece of cake (same as for Pandora really), and for SDL shoudl be pretty easy.. thankfully looks like they're going back to normals, instead of being mutants, so all good :)

I'll get a bit more time tonight or over the weekend so I'll sort out the BJ dpad and buttons, and should be good for a first release :)

(Then the hard work.. adding multiplayer head to head, for both Pandora and Wiz/Caanoo.. woot!)

On Linux, codeblock, Caanoo SDK,
neither printf() or cout<<endl
actually prints stuff in the debug window...

Is there a special option to enable to trace things in the debug window?
Stupid Q from torpor time: where are you guys getting the Caanoo libs from? I can't work out how I'm supposed to get them off my Caanoo, maybe with terminal2x or something?
The GPH SDK includes them; see above makefile bits I posted :)

If you need the "GPH SDK", parts of it are up on dl.openhandhelds, and sbock has a thread here with his mirror of all of it (more complete.)

Ah, right you are, should've looked a bit further, d'oh! $GPH_CAANOO_SDK/sys-root/ of course ..

Great stuff, time to hack ..
Added and changed some new files and documentation in English.
You also could mirror Analogstick Sample, Gravity Sample, Vibration Sample and Thread Simple. They are here: