working on a longer writeup about the three Sonic Advance games after my stream yesterday but I must say this now:
Sonic Advance 3's soundtrack is incredible
https://youtu.be/aXHIopNVYiU
like listen to this. the Game Boy Advance, a system with LITERALLY NO SOUND CHIP*, should not have been belting out this kind of track
https://youtu.be/4prp6OGPk2w
it's kinda nuts.
*except the Game Boy Color's PSG, if that counts
Oh man. The GBA, right? So you've got the PSG hardware from the OG grey-brick—two pulse channels, one of them with a hardware pitch envelope, plus a noise channel and a single sample channel—4 bits, 32 samples. This is usable for shitty drums, fat basslines, Pikachu's earsplitting screams in Pokemon Yellow, and basically nothing else.
The GBA adds two (2) 8-bit PCM channels—one for the left speaker and one for the right—and then fucks off. You get some help with DMA to the sound buffer, so actually loading the sample data isn't bad, but if you want to do something like play multiple samples at the same time? You're on your own, time to mix it in software.
Nintendo provided some libraries to make this less shitty (the "Sappy" driver), and the technical characteristics of those libraries (like the super-low default sample rate) are responsible for a lot of classic GBA sound:
But it's fun to take a walk through the GBA library and take a shot every time developers clearly say "god, fuck the PCM channels, let's just use it for gameplay SFX and maybe drums."
I can't complain about the hardware that brought us Mega Man Battle Network, though.
