« Game Boy Advance Architecture (index)

Game Boy Advance Architecture

Chapter 5: Audio


Table of Contents

  1. Functionality
    1. Direct Sound
    2. PSG
    3. Combined
  2. Best of both worlds

Gone are the days of repetitive sounds. The GBA now features a two-channel sample synthesiser capable of playing rich audio streams. If that weren't enough, the original Game Boy sound system can also be used.

Functionality

Let's break down each audio component. I will be using Sonic Advance 2 as an example.

Direct Sound

Video
Video - Oscilloscope display of the PCM channels.

As indicated earlier, the GBA comes with a revamped audio system called Direct Sound. It plays stereo Pulse-Code Modulation (PCM) samples . In other words, straight-out recordings that are no longer limited to a predefined set of waveforms. Behind the scenes, the audio data is fed into a 16-byte First In, First Out (FIFO) queue, and a Digital-to-Analogue Converter (DAC) turns it into audible sound.

Conversely, the audio samples don't share the quality of CD audio, I'm afraid, as this console must remain affordable. The DAC can only operate 8-bit signed samples (i.e. values between -128 to 127). This is half the resolution of typical CD audio (16-bit), which introduces significant noise. Nevertheless, games can choose the sampling rate: the technical limit is 65 kHz (for reference, CD audio is 44.1 kHz), although higher rates are possible at the expense of sample resolution . Even so, all these options require large cartridge sizes and plenty CPU cycles, so not every game will spend the same amount of resources to feed the audio circuitry.

On the other hand, to avoid bottlenecking the CPU, each audio channel comes equipped with a Direct Memory Access (DMA) unit and a timer, which help to transfer audio data and keep the queue in sync, respectively.

PSG

Video
Video - PSG-only channels.

While the Game Boy subsystem won't share its CPU, it does give out access to its legacy Programmable Sound Generator (PSG).

For compatibility reasons, this is the same design found on the original Game Boy. I've previously described it in the respective Game Boy article and analysed each channel in particular.

Now, its job is to complement Direct Sound. The majority of GBA games used it for accompaniment and effects. Although many also optimised their music for the new channels and left the PSG unused.

Combined

Video
Video - Final result. Tada!

At the end of the process, all channels are automatically mixed and output via the mono speaker and the stereo headphone jack.

Cycling back to the Direct Audio channels, I still haven't explained where the PCM data originates. Unlike some home consoles of the 5th generation capable of reproducing high-fidelity samples, the GBA offers neither the storage medium nor the necessary hardware resources to stream CD-quality music. So, how do games take advantage of it? Well, much like the Nintendo 64, they employ music sequencing: games store small instrument data, and the main CPU lends some of its cycles to sequence and mix melodies in real time (similar to MIDI). The result is then continuously streamed to the sample channels .

This technique wasn't an afterthought, by the way; in the 'Operating System' section of this article, you will find that the BIOS ROM already provides an audio sequencer to assist developers with this task.

All in all, this should give you an idea of how powerful the ARM7TDMI is!

Best of both worlds

While the diversity of the audio subsystem may be a challenge to music composers, some games ended up leveraging the PCM-PSG duality and 'alternated' the leading chip depending on the context.

For instance, in Mother 3, the player can enter two different rooms: one relatively ordinary and the other with a nostalgic setting. Depending on the room the character is in, the same score will sound modern-ish or 8bit-ish.

Video
Video - Normal room, uses only the PCM channels.

Video
Video - Nostalgic room, the PSG leads the melody while the PCMs provide only the bass.

Oscilloscope display during a game of Mother 3 (2006).

Previous: 4. Graphics

Next: 6. Operating System


Rodrigo Copetti © 2026 RSS Feed

Switch to modern edition

Home · Writings · Support · About author · About website