Game Boy Advance
This successor to the popular Game Boy can run almost all legacy GB software (that is, software developed for Game Boy and Game Boy Color machines) and new software developed for the more advanced capabilities of the system. It has hardware support for simple 2D operations using graphical elements called sprites. It can scale, rotate, sum-blend, and alpha-blend sprites against a background (with one alpha value for the whole screen, not the alpha-blending of image edges you see in the PNG format), and it can change the scaling and rotation of sprites and the background on each scanline to give a pseudo-3D effect.
It has a custom 32-bit 16.8 MHz ARM processor based on a RISC architecture, which is much more compatible with the C programming language than the 8-bit Z80 compatible processor used in older Game Boy models. The ARM processor can run both 32-bit ARM and 16-bit "Thumb" instruction set encodings. The system also contains an 8.4 MHz Z80 compatible processor to provide support for legacy GB software; however, both processors cannot be active at the same time.
The LCD display is capable of a maximum of 240x160 pixels in 15 bit color (32768 colors). This display includes more pixels than Game Boy's 160x144; when playing legacy games, the user can press the L or R button to switch the display between 160x144 with a black border and scaling to 240x144 pixels. Early games had very dark color palettes because the display in the development kits was much brighter than the one in the production units; the production display has a gamma value of 4. Newer titles use gamma correction in their palettes.
The GBA's picture generator has six display modes (three tiled and three bitmap) and 96 KB of dedicated RAM. In tiled display modes, the system can manage four pixel-to-pixel layers, two pixel-to-pixel layers and one affine layer, or two affine layers, and it uses 64 KB of RAM for tile and map data and 32 KB for sprite cel data. In bitmap modes, it can display one large 16-bit bitmap, two 8-bit bitmaps (with page flipping), or one small 16-bit bitmap (with page flipping), and it uses 80 KB of RAM for tile and map data and 16 KiB for sprite cel data. In all modes, it can show up to 128 sprites (individually controllable small moving objects) of 8x8 up to 64x64 pixels in either 4-bit or 8-bit indexed color. Each sprite can be drawn using either direct pixel mapping or affine mapping; it's possible to fit more direct sprites on a scanline.
The interface from the GBA unit to the ROM cartridge includes only a 24-bit address bus multiplexed with a 16-bit data bus. (Mattel's Intellivision console had previously used a multiplexed bus.) This setup limits the directly addressable memory to 16 binary megawords (that is, 256 binary megabits or 32 binary megabytes), but bankswitching hardware on the cartridge can extend this by controlling the ROM's upper address lines from software, effectively switching other parts of the ROM into the GBA's address space. Still, as of 2003, no published GBA titles have such bankswitching hardware because 32 MiB of ROM is still too expensive for the price point at which most GBA games are sold.
The GBA also has a serial port for connecting to other GBA units in a setup similar to a token ring network over a bus physical topology. A GBA can also receive up to 256 KiB of bootstrap code through the port, even when no cartridge is present (sometimes known as multiboot or netboot). This is used for multiplayer GBA connections, where multiple GBAs can play with only one cartridge; one GBA with a cartridge sends boot code to the other cartridge-less GBAs. The serial port can (with a suitable cable) also connect to a standard RS-232 serial port for debugging purposes and (hypothetically) Internet play, although a TCP/IP stack has yet to be implemented in a GBA game.
By early 2002, hardware became readily available for moving user code onto GBA hardware. For example, as of December 2001, a flash memory cartridge plus writing hardware could be had for less than $200 US, and a $50 device emulates a netbooting master. By April 2003, the prices had come down to under $100 for the flash cartridge and writer and $30 for the boot cable. Because of this, a homebrew software development community has sprung up; see ( http://www.gbadev.org ). Nintendo, however, has a history of viewing such devices as piracy tools, since they can be used to copy cartridges containing copyrighted software. In February of 2002, Nintendo began sending threatening letters to some United States resellers of such devices. Previous lawsuits had banned the importation of similar devices for the 8-bit Game Boy.
Game Boy Advance SP
In early 2003, the Game Boy Advance received an upgrade. Nintendo implemented an internal light, a rechargeable lithium ion battery (similar to that of most mobile phones), as well as a folding case approximately half the size of the GBA. Nintendo removed the headphone jack, which had previously been on all GB models, but headphones can be used with adapter. This folding case design is presumably to protect the screen. The new model is called the Game Boy Advance SP, in which SP stands for special. Nintendo moved away from a statement made before the original Game Boy Advance was released, in which they stated that the Game Boy Advance would not have an internal light or a rechargeable battery due to cost issues. Because of technological advances since the original model came out, it was possible to adapt the new version to include an internal light and a rechargeable battery and yet launch at the same price the original had launched at in 2001 ($99.99). However, some suspect that the real motivation may have been a need to respond to Triton Labs' Afterburner aftermarket internal light kit, which proved that the original GBA could easily support an internal light without a major drop in battery life expectancy. In September 2004, Nintendo announced that the Game Boy Advance SP's price would drop to $79.99.
Game Boy Player
In mid-2003, Nintendo released the Game Boy Player, which allows Game Boy and Game Boy Advance games to be played on the Nintendo GameCube (GCN). It uses the same color palette as built into the cart. The unit connects to the bottom of the GameCube.
Although a large number of games have been released for the Game Boy Advance, relatively few are considered classics. The system has developed a reputation in some quarters for poor quality games, generic platformers, mode 7 racers or unsuccessful attempts to push 3D onto the system. Many of the best reviewed games are ports from Nintendo's back catalogue.
However, there are a few standout original titles, including:
- N-Sider - Nintendo fansite database
- eLook Game Boy Advance Cheats
- Console Database - Game Boy Advance Info and Game Cheats