Article History
 
 
 
Discussion
 
2707 views
 
82% Opilion
GameBoy Advance View HTML Version
 

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]
'[b]CPU:'[/b] 32 bit ARM7TDMI at 16.8 MHz. 8 MHz '[[Z80] processor for backwards compatibility with Game Boy cartridges.

'[b]Internal Window RAM (IWRAM):'[/b] 32kb.
'[b]External Window RAM (EWRAM):'[/b] 256kb.
'[b]Video RAM (VRAM):'[/b] 96kb.


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

'[b]Sound'[/b] 
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 that two channels. 

See '[l[https://www.copetti.org/writings/consoles/game-boy-advance/[this article] from Rodrigo Copetti for more information related to the GBA's specifications.

'[#[Development]
'[t[b1]Communities for GBA development:'[/t]
- '[l[https://gbadev.net/[gbadev]  
- '[l[https://www.gbadev.org/[gbadev.org]

'[t[b1]GBA libraries'[/t]
- '[l[https://github.com/GValiente/butano[Butano]: a high level C++ library
- libtonc with devkitARM (C/C++): see the GBA Programming guide '[l[https://gbadev.net/tonc/[Tonc]
- libgba: a C library bundled as a component of '[l[https://devkitpro.org/wiki/Getting_Started[devkitPro]
- '[l[https://www.problemkaputt.de/gbatek.htm[GBATEK]: for low level programming
- much more examples on '[l[https://gbadev.net/getting-started.html[gbadev] 

'[t[b1]Audio related'[/t]
- Chris Strickland's GBA Audio Programming tutorial
'[ul[* '[l[https://www.gamedev.net/articles/programming/general-and-gameplay-programming/audio-programming-on-the-gameboy-advance-part-1-r1823/[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 '[l[https://sourceforge.net/projects/devkitadv/files/[here]]
- '[l[https://deku.gbadev.org/program/sound1.html[Sound on the Gameboy Advance]: a tutorial to program a sound mixer converting '[[.mod] songs into GBA readable files

'[t[b1]Further resources'[/t]
See '[l[https://github.com/gbadev-org/awesome-gbadev[Awesome Game Boy Advance development], a curated list of development resources for Game Boy Advance.

'[#[Competition]
There is no battle format specific to the Game Boy Advance yet, but a request was made: see '[l[https://battleofthebits.com/academy/GroupThread/38237/Format+request+-+gba/[this thread]. 

Music made for the GBA can still be used in '[[wildchip (format)], '[[fakebit (format)] and '[[allgear (format)].

'[#[Tools]

'[t[b3]For music creation'[/t]

'[t[b2]Trackers'[/t]
- '[[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)
- '[l[https://www.gbadev.org/tools.php?showinfo=187[BoyScout] (Windows)

'[t[b2]Module conversion tools'[/t]
- '[[Maxmod]: converts .s3x, .xm, '[[.mod] and .it files to .gba roms, can only use the PCM channels
- '[[Krawall]: converts .s3x and .xm files to .bin roms, can only use the PCM channels
- '[l[https://github.com/AntonioND/gbt-player/tree/master[GBT Player]
'[ul[* A tool to convert .s3x and '[[.mod] files to .gba roms
* Is only able to use the PSG by itself, but when using a .s3x 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 '[l[https://github.com/AntonioND/gbt-player/tree/master/gba/examples/combined_maxmod[here] for information.]

'[t[b2]Other tools'[/t]
'[t[b1]'[l[http://www.nanoloop.de/two/index.html[nanoloop two]'[/t]
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.

'[t[b1]Sappy Sound Engine'[/t]
Game Boy Advance games often used a sound engine called MusicPlayer2000 (or m2k). It is also known as "Sappy" (named by a program that could convert them to midi), which was somewhat similar to the midi standard. 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.


'[t[b3]To rip music from games'[/t]

'[t[b1]'[[UnkrawerterGBA]'[/t]
A program working on games developed with the '[[Krawall] sound engine, can extract .s3x and '[[.mod] files from GBA roms.


'[#[See Also]
referencing to:
- Battle Formats
'[ul['[[wildchip (format)]
'[[fakebit (format)]
'[[allgear (format)]]
- Consoles
'[ul['[[Game Boy]
'[[Game Boy Color]]
- File Formats
'[ul['[[.mod]]
- Helper Tools
'[ul['[[Krawall]
'[[Maxmod]
'[[UnkrawerterGBA]]
- Sound chips
'[ul['[[Z80]]
- Trackers
'[ul['[[Furious Advance Tracker]
'[[M4G Tracker]]

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