Game Boy Color Audio

The Game Boy Color's sound is the Game Boy's, unchanged: one sound unit with four channels, two pulse-wave squares, a programmable wave channel and a noise channel, mixed to two output sides under a shared master control. The colour hardware and the faster processor do not change the audio, so a Game Boy tune plays the same. See the Game Boy Audio page for the full channel detail.

Game Boy Color Audio

Overview

Four channels play at once, each written through its own registers: two square channels, one of them with a frequency sweep, a wave channel that plays a 32-sample waveform held in RAM, and a noise channel for percussion and effects. Each channel has a length counter and a volume envelope, and every channel can be sent to the left, the right or both outputs.

PropertyValue
Channels4
Square channels2 (channel 1 has a sweep)
Wave channel1, a 32-step 4-bit waveform
Noise channel1, a pseudo-random generator
OutputTwo sides, per-channel panning

The four channels

The channels match the Game Boy one for one. Channel 1 is a square wave with a duty cycle, a volume envelope and a pitch sweep; channel 2 is the same square without the sweep; channel 3 plays a short wave table loaded into wave RAM; channel 4 is noise with a selectable clock.

ChannelKindExtra
1SquareDuty, envelope, sweep.
2SquareDuty, envelope.
3Wave32-sample 4-bit table.
4NoiseEnvelope, clock divider.

Master control

Three master registers sit over the channels: one sets the left and right output volume, one routes each channel to each side, and one powers the sound unit on and reports which channels are sounding. Turning the power off clears the channel registers, so a driver enables the unit before writing any voice.

Sequencer commands

A tune is stored as a stream of sequencer commands that set a channel's pitch, volume, duty or wave and trigger a note, stepped in time. The stored format is shared across the chiptune machines; see the Sequencer storage for the command layout.