The Gameboy sound chip has a total of 4 sound channels;

  • 2x pulse channels (4 pulse width modes selectable in addition to full square wave)
  • 1x noise
  • 1x PCM

Emulating the two pulse channels is accomplished by putting a square wave oscillators on OSC1 and OSC2 and setting the algorithm to ring modulation. The pulse width (duty cycle) can be selected by modifying phase start of one of the oscillators. Gameboy duty cycles are Phase Start 4, 8, 16 and 24. Use 0 or 32 for full square waves. The pulse channels may be effected by AEG decay or release (but not both). When applying AEG decay or release, make sure to apply to both. Set AEG response to exponential (negative values for AEG1 Depth and AEG2 Depth).

The second pulse channel on the original Gameboy can only play a fixed frequency and cannot perform pitch sweeps (like glides)

The noise generator is easily simulated by using a single noise oscillator on OSC1 or OSC2. Use the Sample and Hold setting to change the flavor of the noise. The noise generator may also be effected by AEG decay or release (but not both).

The PCM channel is able to play back 4-bit samples that are 32 samples in length.

Start making more music with less

Pocket Animal Audio Pty. Ltd.

ABN 42 671 534 526
Woovebox is a pending trademark of Pocket Animal Audio
All product, company, and standard names are trademarks or registered trademarks of their respective holders