Gameboy Programming and Gameboy Advance Development
Programming for handhelds is probably the most fun and rewarding programming you can do. You
don't have to worry about some complex API (like Win32 or DirectX) and you can program
right down to the metal. Writing code to pass things right to registers directly. On top of
all that, you get to see your code running on an actual commercial console. How often does
that happen? Another great thing about GBA development is its done in C/C++, and there are
a lot of great freeware compilers out there.
There is a lot of information about the GBA out there. Programming for the gameboy is not
extremely difficult, but there is a small learning curve in getting acquainted with the
compiler and the some of the graphics registers. To help out, we have two excellent tutorials
on gameboy programming.
- Gameboy Advance Programming this tutorial covers Nintendo's
newest system. It takes you through the steps to download the compiler, set it up, compile
your first rom, and then after all the it introduces you to the simpler graphics modes on
the gba, along with lots of sample code.
- Original Gameboy this is a step by step tutorial like the one
above but this one is a bit outdated. It is for the original Gameboy (non advanced or color).
- Finally, we provide a link here to one of the larger resources on the web for gameboy
advance programming the The Pern Project. This
tutorial doesn't talk much about getting the compiler, so we recommend the above tutorial and
then go here for more in depth information. This covers everything from putting pixels on the
screen, to doing DMA copies, having interrupts, and timers.
Games/Demos with Source Code
There are a lot of games and demos out there. The problem is that most don't come with source
code. How are you supposed to learn? To answer that question we have a couple sample games/demos
complete with source code for the hobbyists like yourself to look at.
- Tank GBA a mode 4 game where you drive a tank and avoid falling bombs.
- Skiing Advance a mode 4 game where you ski down a hill avoiding trees.
- GBA Caster a very simple, and very slow 3D ray casting engine. This is
the same method used to make the original Wolfenstein. If your interested in learning how they "faked" 3D in
older games like Wolf3D or Doom you can check out this demo.
The most commonly used compiler is put together by Jason Wilkins, you can get it at
Unofficial GameBoy Advance Software
Development Kit page.
Our personal favorite emulator would have to be VisualBoy Advance.
From the download page you can get the SDL version, and also the GDB Insight/Share files, and have
your very own source level debugger for free. Which is really amazing. The other thing you might
want to pick up would be a flash
linker and cartridge which is about $120 dollars.
The best place to go for news on the latest development information is GBADev.
You should probably check in there weekly to get the latest demos. Also you should keep your eyes open for
competitions. You could win some cool prizes like a free flash writer. Other sites include Devrs GBA
and GBA Emu. For more information on the web you can look at the resource list
located at the bottom of our GBA programming tutorial.