Do you develop for other things?  

GameBoy Advance Dev'rs  
"News & info related to GameBoy Advance software & hardware development."
Got info to post?
What's New?
 What's New?
 C Compilers
 Tile/Map Other
Asm Code
C Code


2001-08-19 - DivX ;-) for GBA - Posted by: Jeff Frohwein
Here is Milhouse's port of OpenDivX to the GBA platform. It currently runs at about 1 FPS. Included is an example ROM & GCC src code.

2003-08-14 - GBA 3D Engine (Yeti3D) - Posted by: Derek Evans
GBA 3D engine (Yeti3D) Announcing the opening of the Yeti3D website and first official source code release. The engine is written completely in C/C++ and now fits into IRAM. For extra speed, I'm now rendering at 120x80 using a rotated, stretched mode 5. I'll be adding variable LOD this week which should really improve the speed. Derek Evans

2001-08-20 - ODivX v0.11 - Posted by: Jeff Frohwein
I've taken the DivX ;-) GCC GBA port by milhouse and done some optimizations (i.e. critical thumb C code in IWRAM, hardware divide, etc) and this ROM runs at ~2 FPS. I would guess that it could go up to 4-5 FPS by hand-optimizing some of the many IWRAM routines in ARM asm. Here is the source code. (BTW, in the included .avi file, there are ~480 frames with each frame using ~800 bytes on average.)

2004-01-01 - Super Frame v0.1 - Posted by: Matt Glazar
Super Frame is a software frame switcher, compatible of storing about 10 different frames.

2001-09-17 - ZGraph3D - Posted by: Igor Siemienowicz
ZGraph3D is a C++ library for creating 3D graphics using GCC and SabreWulf's libgba library. Current status is 'early pre-release' (r0.0.2), and it has been made available for people to play with. ZGraph is free software under the terms of the GNU Lesser GPL. Ideally, ZGraph3D will be a collaborative effort, so anyone who would like to lend a hand, please drop me a line.


2002-08-30 - Crtls v1.28 - Posted by: Jeff Frohwein
Here is my version of crt0.s and lnkscript for GCC. These are common files required by any GCC project. v1.2 includes support for C++, interrupts, and overlays. "u32 mylabel = 0;" type initialized data is now put in RAM, unlike v1.0 crt/ls files on this site.

2001-07-15 - FastIntDivide - Posted by: Jeff Frohwein
Here is a fast integer divide subroutine for GCC which calls the fast division code in GBA BIOS by using an SWI assembly instruction.

2001-02-24 - - Posted by: Jeff Frohwein
Lots of good sources here.

2002-05-03 - Interrupts & GCC - Posted by: Jeff Frohwein
Check out the 'leet' & 'sprites' demos on Pete's page for examples of using GCC + interrupts when used along with the crtls (crt0.s + linkerscript) package.

2001-11-24 - Multiboot Client Demo - Posted by: Jeff Frohwein
Here's a short GCC demo program to send a small program from one GBA to another using multiboot. The slave GBA will automatically execute the program that is sent to it.

2001-05-02 - Paul Hsieh's Square Root Page - Posted by: Jeff Frohwein
Here are some fast methods for calculating square root. The first method is table-based and for input values < 256 the table look up is as simple as "return sqq_table(x) >> 4;".

2002-08-30 - SGADE - Socrates Gameboy Advance Development Environment - Posted by: Jeff Frohwein
A collection of generic code for the Gameboy Advance. Also contains much requested demo's and source code for doing 16-bit multiplayer communications between GBA units.

2003-12-14 - Sponge v0.4 - Posted by: Matt Glazar
Sponge is a compression tool for Gameboy Advance. In Squeeze4 takes bit(0, 1, 2 and 3) of byte(1) and merges it with (bits(0, 1, 2 and 3) of byte(2)) shift(left, 2). This basically halves the size of the data.

1. Nearly halves the size of tile data<BR> 2. It shrunk my ROM from 23.1K to 7.7K!!!<BR> 3. Isn't very costly to the processor<BR> 4. Can be used for saves ( level data ? )<BR>

See a problem with these pages? Send email to