Game Boy Advance
Game Boy Advance is a handheld video game console from Nintendo. 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 KiB 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 KiB of RAM for tile and map data and 32 KiB 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 KiB 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. In single-cartridge multiplayer play, a GBA can also netboot up to three other GBA units, where the machine with the cartridge sends up to a 256 KB executable image to the internal RAM of the other machines. 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 on the GBA.
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 $200200 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 abused to copy cartridges containing proprietary commercial 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.
In early 2003, the Game Boy Advance received an upgrade. Fulfilling the wishes of gamers everywhere, Nintendo implemented an internal light, a lithium ion battery (similar to that of most mobile phones), as well as a folding case approximately half the size of the GBA. Unfortunately, Nintendo removed the headphone jack, which had previously been on all GB models. This folding case design is presumably to protect the screen. The new model is called the "Game Boy Advance SP". The SP stands for Special.