gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

C/C++ > most complete libc ?

#11092 - MattyMatt - Thu Sep 25, 2003 9:56 pm

Which is the most complete libc.a and libm.a in DevKit-Advance-R5-Beta-3 ?

Size and speed are not most important at the moment, as I am porting a large games lib (Allegro) and I just want to get it working. It can be optimised later.

#11095 - tepples - Thu Sep 25, 2003 11:38 pm

Allegro for GBA? Good luck. Last time I checked, Allegro was designed with PCs in mind, relying on being able to write bytes to VRAM and having no concept concept of "tiles" or "hardware sprites," so everything's going to be really slow. If you really want to port Allegro to a handheld, I'd suggest porting it to the GP32 instead, which I've read looks more like a PC.

The libc.a and libm.a you get in DevKit Advance are Red Hat Newlib. All four versions (arm, thumb, arm+interwork, thumb+interwork) are functionally the same, except compiled slightly differently. On the GBA, you're usually going to want to use the thumb+interwork version.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#11101 - MattyMatt - Fri Sep 26, 2003 1:59 am

Allegro will work quite well in mode 3 & 4. the only drawbacks are the ram size and cpu speed but they aren't a killer problem. There are a hundred people writing tile engines for Allegro already and if Allegro esentially works they may be tempted to write platform specific parts for their games.

I am doing a GP32 port, and a PSX one too. I got fed up with getting unpredictable results on everybody's PCs. What stopped me on the PSX one was gaps in the libc there too. I'm doing GBA before GP32 because it gives me a chance to test the compiler on its intended target.

Cheers for the info on the libs. I worked out what the 4 versions were but I didn't know it was Red Hat. It looks like I need to pad it out myself and submit patches to them.