Guide
Neo Geo palettes, and why you only get fifteen colours
The Neo Geo holds 256 palettes of 16 colours in its own palette RAM,
separate from video memory — two banks of them, one usable at a time. Every sprite
points at one palette. Index 0 is not a colour, it is transparency, so what you actually
draw with is fifteen.
The short version
- 256 palettes, 16 entries each, in dedicated palette RAM — and two banks, only one live at a time.
- Index 0 is transparent on this machine — not index 15, as on CPS1.
- A sprite selects one palette; every tile in it shares those colours.
- Palette RAM is separate from VRAM — on this machine the VRAM holds no graphics at all, the tiles live in ROM. Colours can change without touching a single tile.
- Two entries are spoken for: the first colour of a bank is the reference colour and must stay pure black, and the last is the backdrop behind everything.
- Around 3840 colours can be on screen at once, out of 65 536 possible.
Fifteen colours is the real number
It sounds like a rounding error and it is not. Losing entry 0 removes the slot most people
instinctively use for the darkest tone — the outline. A sprite that reads as
“sixteen colours” on your canvas arrives on hardware with its outline colour
eaten, or with two shades collapsed into one, depending on how the quantiser resolved it.
The fix is not technical, it is procedural: decide which fifteen you are spending before
you shade, and treat index 0 as the hole your background shows through. Pixel artists who
have worked on other 4bpp hardware usually have the habit already; the trap is assuming
the transparent index is in the same place. It moves from machine to machine.
One palette, many sprites — and what that buys you
Because the colours live in their own RAM rather than in the tiles, you can repoint or
rewrite a palette at any moment without redrawing anything. That is the mechanism behind
most of the effects the console is remembered for: water that ripples by cycling a handful
of entries, a sky that shifts from afternoon to dusk, a character that flashes white on
impact, a fade to black that costs nothing per sprite.
It also means palettes are a budget of their own. Two hundred and fifty-six sounds
generous until a stage has a parallax skyline, a foreground, four enemy types and a HUD
— each wanting its own ramp. Palette planning is level design work, not an export
setting.
Keeping a slot for the HUD
This one is not a convention, it is the hardware: fix tiles can only use the first
sixteen palettes. Everything drawn on the fix layer — the score, the timer,
the health bar, every character of text — is competing for those sixteen slots with
nothing else. Sprites may use any of the 256; the HUD may not.
So reserve deliberately. Neo Studio holds back four slots
(12–15) for the HUD and project palettes skip them, so a readout never loses its
colours because a stage filled the table. Whatever tool you use, decide early which of the
low sixteen belong to the interface.