Known as "Project Atlantis" during the development the Game Boy Advance or GBA as it is frequently abbreviated to is a piece of hardware designed to replace the Gameboy Colour, it was released in Japan on the 21st March 2001, in North America on the 11th of June 2001 and in Europe on the 22nd of June 2001, later it was launched in the Chinese mainland on the 8th of June 2004.
There are multiple pieces of hardware as well as emulators that are able to run GBA code. See Category:Emulation if you wish to know more about GBA (and other) emulators.
Hardware supporting GBA code
Game Boy Advance (original model)
Originally sold at $100 USD upon release in North America and prior to the release of the Game Boy Advance SP the GBA was the fastest-selling game console in history.
Numerous people criticised the original GBA models for not adopting a lighted screen, Nintendo would rectify this with new iterations of the console and some users would in the case of the "afterburner" modification.
This model is now discontinued but still available in shops all around the world.
Game Boy Advance SP
In early 2003, Nintendo upgraded the Game Boy Advance giving it an internal front-light that can be turned on or off, a rechargeable lithium ion battery, as well as a folding case approximately half the size of the GBA. It was designed to address some common complaints with the original GBA although the removal of the headphone port caused some complaints (you can get an adaptor however).
Later around the same time as the release of the Game Boy micro, Nintendo released a new backlit version of the SP. The switch that controls the light now toggles between "normal" (which itself is already brighter than a Nintendo DS's screen), and "bright," an intense brightness level similar to LCD television sets. It cannot be turned off while the system is on. It also features an improved battery life.
Game Boy Player
The Game Boy Player is a device made for the GameCube which enables Game Boy, Game Boy Color, or Game Boy Advance cartridges to be played via the Gamecube on a television.
It connects via the High Speed (Parallel) port at the bottom of the GameCube and requires use of a boot disc to access the hardware.
It is essentially a Game Boy Advance but it is unable to make use of the GBA video carts (without cheating) as videos themselves would low quality if viewed on a Game Boy Player (try playing Kingdom Hearts: Chain of Memories and viewing the cut scenes) and also for copy prevention reasons.
Caitsith2 has however made some action replay codes to enable the GBA video ROMs to work caitsith2's GBA video codes however given the size of the image and the size of your TV it is still really not worth it.
Game Boy Micro
In September 2005 Nintendo released a second redesign of the Game Boy Advance supposedly aimed at the more fashion conscious gamer and women. It is called the game boy micro although nearly always abbreviated to GBM.
This model uses the horizontal orientation of the original Game Boy Advance models and is much smaller.
The Game Boy micro also offers customisation by enabling the user to have/switch between several coloured faceplates, a feature Nintendo advertised heavily around the micro's launch.
Unlike the previous models it does not support Game Boy or Game Boy Color titles, EZFlash product and flash cart users can however make use a modified version of Goomba a game boy emulator for the GBA called Goomba Color with support for the colour version even available through the rombuilders in EZClient.
See the Nintendo DS article for more information on it but it does run GBA code although much like the Micro is not able to make use of Game Boy (GB) or Game Boy Color (GBC) titles, EZFlash product and flash cart users can however make use a modified version of Goomba a game boy emulator for the GBA called Goomba Color with support for the colour version even available through the rombuilders in EZClient. Workable DS code GBC emulators are not around just yet.
The wide use of flash carts and multiboot cables and general ease of use thereof has enabled homebrew code to become very prolific and varied, with emulators and multimedia being the focus of most of it, most emulators use ASM for their code and their exists hundreds of open source projects should you wish for some example code.
The links below should help you get started if you wish to program for the GBA
The GBA uses an ARM7TDMI processor which is suited to both C and ASM coding methods.
- EZFlash products use a different form of Real time clock which may cause issues with some of the tools/demos out there.
If you are coding for the EZ3 and wish to use the PSRam section or do other things with it (access the NAND section...) the EZTeam released a SDK (software development kit) which contains libraries and things you will need/desire to take advantage of it. (two known uses of EZ3 SDK Darkfaders EZF3me loader (old NDS homebrew loader for the EZ3, and later versions of Flubba's PCEAdvance a PC-engine emulator use the EZ3 to add CD support)