« Dreamcast Architecture (index)

Dreamcast Architecture

Chapter 5: Audio


Table of Contents

  1. The great leap
    1. Behind the scenes
  2. Staying alive

The audio functionality is handled by a custom chip called AICA. It was designed by Sega's long-term partner and audio industry leader, Yamaha.

Image
Architecture of the audio subsystem.

This is a continuation of the SCSP found in the Saturn, in the sense that it's fundamentally the same architecture, but with modernised parts. That being said, AICA is composed of four components :

To help with development, the official SDK included multiple sound drivers for different needs (e.g. sequencing, decoding, etc.).

The great leap

We've come so far since the days of the Mega Drive/Genesis. In order to show how much progress has been made in sound synthesis, here is an example featuring two games, one for the Mega Drive and the other for the Dreamcast, that used the same musical composition.

Video
Video - Sonic 3D Blast (1996) for the Mega Drive / Genesis.
The predecessor performs FM synthesis to generate audio signals on the fly.

Video
Video - Sonic Adventure (1999) for the Dreamcast.
The new audio subsystem processes PCM samples without any hassle.

Oscilloscope display of two Sonic games.

You can also try this widget if you want to switch between the two on-the-fly:


Interactive player available in the modern edition
Audio samples
MegaDrive / Genesis: Sonic 3D Blast (1996).
Dreamcast: Sonic Adventure (1999).

Behind the scenes

Rather than dealing with hardware-specific FM arrangements, the composers of Sonic Adventure were free to produce their soundtrack in-house. It also didn't matter how many instruments the track used as, in the end, the score would always be mixed down before being exported as stereo PCM audio.

If you look at the contents of the game disc, the music is encoded in ADX, a lossy format developed by CRI Middleware. This extra layer enables the game to decode and stream audio data from the GD-ROM to the Sound IC without running out of memory or bandwidth. Furthermore, the respective driver could be implemented in many ways, as multiple approaches existed to balance the workload between the main CPU and ARM7.

Staying alive

For some reason, AICA is also responsible for providing the system with a Real Time Clock (RTC), and is connected to a clock battery to continue working without AC power.


Previous: 4. Graphics

Next: 6. Operating System


Rodrigo Copetti © 2026 RSS Feed

Switch to modern edition

Home · Writings · Support · About author · About website