gbadev
Game Boy Advance homebrew development forum
Member
Joined:
Posts: 24

Does anyone know?

see https://gbdev.io/pandocs/Audio_Registers.html

Member
Joined:
Posts: 24

SouNd Register fits, but I think NR is too terse for people unfamiliar with the hardware.

Administrator
avatar
Joined:
Posts: 45

I'm not sure about this one, but looks like those register names are for GB/GBC dev.

On the GBA, the sound registers are named differently (and even worse heh) - see The Audio Advance

Each channel is controlled by multiple 16-bit registers, and the convention is like so:

SOUND<n>CNT_L = sound channel <n> control (Low register)
SOUND<n>CNT_H = sound channel <n> control (High register)
SOUND<n>CNT_X = sound channel <n> control (eXtra register) (doesn't exist for every channel)

Unfortunately these tell you nothing about what the register does... you just have to know that SOUND2CNT_L does the same thing as SOUND1CNT_H, because SOUND1CNT_L is taken by the sweep feature that only exists for channel 1 (and consequently channel 2 has no _X register).

This has prompted many people to try coming up with better names, which of course nobody can agree on, so it looks like we're stuck with these :')

Member
Joined:
Posts: 24

Well, I hope it isn't so bad that there are ambiguous names floating around, which mean one register to one person and a different register to someone else.

If there aren't any like that, we could put a big table together with all the different naming standards so people can lookup the register address and see the name for their preferred style.