Article History
 
 
 
Discussion
 
2844 views
 
95% Opilion
GameBoy Advance
 

::|CONTENTS

  1. Specifications
  2. Development
  3. Competition
  4. Tools
  5. See Also
The Game Boy Advance was the successor to the Game Boy and Game Boy Color, released in 2001, and soon after succeeded by the Nintendo DS in 2004. It was backwards compatible with Game Boy and Game Boy Color games.

Specifications



CPU: 32 bit ARM7TDMI at 16.8 MHz. 8 MHz Z80 processor for backwards compatibility with Game Boy cartridges.

Internal Window RAM (IWRAM): 32kb.
External Window RAM (EWRAM): 256kb.
Video RAM (VRAM): 96kb.


Display: 240x160 pixels.
Color Palette: 15 bit BGR, with 512 simultaneous colors in "character mode" and all available colors in "bitmap mode".

Sound
The GBA has all channels from the Game Boy (2 pulse, 1 noise, 1 4-bit waveform), provided by the Z80 chip. This chip is sometime called a PSG (Programmable Sound Generator) when referring to its audio capabilities. This naming will be reused in the rest of the article.

The GBA also has two channels for playing PCM samples, they form together a 8-bit DAC for stereo audio called Direct Sound. This system is almost always used with an audio mixing software (such as MusicPlayer2000, Krawall or Maxmod) in order to play songs originally composed using more than two channels. These mixing software are often referred as sound engines.

See this article
by Rodrigo Copetti for more information related to the GBA's specifications.

Development



Communities for GBA development:
- gbadev

- gbadev.org


GBA libraries
- Butano
: a high level C++ library
- libtonc with devkitARM (C/C++): see the GBA Programming guide Tonc

- libgba: a C library bundled as a component of devkitPro

- GBATEK
: for low level programming
- much more examples on gbadev


Audio related
- Chris Strickland's GBA Audio Programming tutorial
    * Tutorial page

    * It uses "Jason Wilkins Unofficial GameBoy Advance Software Development Kit", aka DevKit Advance. The link in the tutorial is broken but you can download the library here

- Sound on the Gameboy Advance
: a tutorial to program a sound mixer converting .mod songs into GBA readable files

Further resources
See Awesome Game Boy Advance development
, a curated list of development resources for Game Boy Advance.

Competition



Music made for the Game Boy Advance can be used in its dedicated format: gba (format)

It can also be used in wildchip (format), fakebit (format) and allgear (format).

Tools




For music creation

Trackers
- Furious Advance Tracker (GBA rom): A stripped down LSDJ clone for GBA. Has a github that hasn't been updated since late 2018.
- M4G Tracker (GBA rom)
- BoyScout
(Windows)

Module conversion tools
- Maxmod: converts .s3m, .xm, .mod and .it files to .gba roms, can only use the PCM channels
- Krawall: converts .s3m and .xm files to .bin roms, can only use the PCM channels
- GBT Player
    * A tool to convert .s3m and .mod files to .gba roms
    * Is only able to use the PSG by itself, but when using a .s3m module, it can be combined with either Maxmod or Krawall so that you can compose your song using all the Game Boy Advance channels, see here
    for information.


Other tools
nanoloop two

The second edition of the nanoloop line, developed by Oliver Wittchow. It's designed more akin to a step-sequencer than a traditional tracker, and as such is more suited to beat production.

Sappy Sound Engine
Game Boy Advance games often used a sound engine called M4A (or AGB MusicPlayer2000). It is also known as "Sappy", named after a program used to convert ROMs to midi.
Some information on the engine can be found here:
- http://web.archive.org/web/20221119023845/https://www.romhacking.net/documents/%5b462%5dsappy.txt
- https://loveemu.github.io/vgmdocs/Summary_of_GBA_Standard_Sound_Driver_MusicPlayer2000.html

Sappy can be used in combination with mid2agb, an utility to convert midi files agb files.
These two tools seem to be popular among the ROM hacking community to rip and modify the music of GBA roms. Please consider providing more information as well as a working downloading link if you are familiar with them.

Other sound engines
Many more sound engines were used by video game studios to develop commercial GBA games. Unfortunately in most cases, these sound engines were never publicly released. As far as we know, the only exception is Krawall, which became open source in 2013.

You can find a list of GBA sound engines on this GitHub Gist page
. For each sound engine, it also aim to provide additional information as well as useful links!


To rip music from games

GBAMusRiper
A tool to rip sound fonts and midi files from games made with the M4A sound engine.

UnkrawerterGBA
A program working on games developed with the Krawall sound engine, can extract .s3m and .xm files from GBA roms.


See Also



referencing to:
- Battle Formats

- Consoles

- File Formats

- Helper Tools

- Sound chips

- Trackers

 
C A T E G O R I E S
 
 
Consoles
 
 
Sound Chips