> In a typical scenario, I load the palette as bg_palette,
> characters in bg vram, and map in BG3. But when the graphic is
> rendered on the gba, I always find the first character of the BG
> as the background (instead of the maskcolor). In the process of
> trial and error, I have confused myself to such an extent of what
> is what.
>
If I'm reading you right, I'm guessing that you are seeing the first
character in your character table repeated across the display? If
that's the case, then it's behaving as expected, assuming you
'cleared' the map by setting it all to zeros - that means each cell
displays character zero.
If I've got it wrong, which is likely, see if you can reduce your
problem to as few lines of code as possible, post the code, explain
what you want it to do and what you really see, and if nobody else
beats me to it, I can probably help you ;)