The Wikipedia entry mentioned that Game Boy Advance has 15 bit RGB, which is 32768 colors.
That’s so many colors I can’t even copy and paste the palette into my reply. So here’s a link to a Github gist.
The soft cap on palette length in Aseprite (and GIMP) for indexed color mode is 256 colors. So palettes for a specific game on the GBA might be more practical if you can find one of them.
Another option is to work in the default 24 bit RGB (plus another 8 for alpha), then quantize to 15 bit.
This is a Lua script that generated the palette:
local sprite <const> = app.sprite
if not sprite then return end
local floor <const> = math.floor
local n <const> = 2 << (5 - 1)
local palette <const> = Palette(1 + n * n * n)
palette:setColor(0, Color { r = 0, g = 0, b = 0, a = 0 })
local m = 0
local i = 0
while i < n do
local blue <const> = floor(0.5 + 255.0 * i / (n - 1.0))
local j = 0
while j < n do
local green <const> = floor(0.5 + 255.0 * j / (n - 1.0))
local k = 0
while k < n do
local red <const> = floor(0.5 + 255.0 * k / (n - 1.0))
local aseColor <const> = Color { r = red, g = green, b = blue, a = 255 }
m = m + 1
palette:setColor(m, aseColor)
k = k + 1
end
j = j + 1
end
i = i + 1
end
sprite:setPalette(palette)