Caanoo / WIZ Caanoo Sdk And Some Documentation


Simon from GPH mailed me:

I just upload toolchain for windows & linux platform to following URL.
Primary : http://dev.fungp.com -> News -> SDK Board Secondary : http://dl.openhandhelds.org/ -> Caanoo SDK for Caanooo will takes few more weeks.


*boggle*

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.

jeff
 
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 config.mk 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-

CC = ${TOOLBASE}gcc

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

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 config.mk # pull in caanoo makefile template above
CFLAGS = -Wall ${CFLAGS_ADD}
LDFLAGS = ${LDFLAGS_ADD} -lSDL

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.)

jeff
 
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!)

jeff
 
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.)

jeff
 
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.
 
Back
Top