The Nintendo NES generated a NTSC and PAL video directly from its PPU (Picture Processing Unit). It did not do so in common colour spaces like YIQ, YUV or RGB, and then encode them later, like many later popular consoles and computers.
There is some debate about accuracy of palettes, and I wanted to find out for myself with the help of some hardware and tools I'm familiar with through my work on film and VFX.
Why?
The more I learn about colour science in my work and in my hobbies, the more "by eye" colour matching and calibration always dissatisfies me, because your brain lies to you about colour.
I like measurements and numbers. I like colour science. I like old video games. This covers all three.
I am a terrible software developer (go on, laugh at the code I publish). But I love open source and video game preservation, so this is my small way of contributing back.
A device that objectively measures light wavelengths and amplitudes and reports them back to a computer.
It is very accurate for measuring colour specifically - several hundred times more than your eyes for a variety of reasons.
It's a bit rubbish at measuring very low light values, however even the NES's darkest colours don't fall into these problem areas.
Spectrometers (sometimes called spectrophotometers) are more accurate devices than colorimeters, but also cost 50-100 times as much for the given accuracy. As I am not a squintillionaire, I only have a colorimeter.
What is the dE / Delta E value you use?
We plot colours on a 3D graph as a way to represent them easily.
A dE of 2.0 or lower is considered to be "not noticeable without close inspection", and the target dE of most professional display calibrators and production/TV/film/VFX studios.
A dE of 1.0 or lower is considered to be not noticeable at all.
Don't fall into the trap of obsessing that "dE 0.5 is better than dE 0.9". You honestly can't tell. Don't go all audiophile on me.
Why can't I just use my eyes?
See the Colour Science video above. It explains why your brain lies to you about colour. Naughty brain.
You might even think that certain repeated colours look different sometimes. See? Your brain lied to you again. Check results with a colour picker tool.
The different backgrounds help your critical analysis
Black is better for darker colours
White is better for brighter colours
Greys help mid tones. Specifically, on an sRGB calibrated screen with a Gamma curve of 2.2, middle grey represents 50% "lightness".
Is this the new bible on NES colour?
No. This is merely a comparative measurement, with far too much variability to be considered that.
Luminance levels vary wildly between real NES hardware models, let alone FPGA systems and emulator/computer output, which likely affects these results. I do my best to minimise that impact (see the page titled Method).
Each display contains a chip that decodes composite video into useful information for the display (typically RGB). Different chips do slightly different things. I'll do my best to note the display make/model for each comparison I do.
Can your findings be used to make new "perfect" NES palettes?
No. These are relative measurements on a given display, and only valuable as a comparison between two colours.
There are much smarter people than I doing work on measuring NES video co-ordinates on vectorscopes measuring electrical signal outputs directly, as well as calculating internal NES voltages with respect to CMOS voltage curve characteristics. That work will yield much more objective results.
At best, these results I'm presenting can assist palette creators to see where they need to tweak values, but again this is relative to a given display.
At worst, this is all useless, and just a bit of fun for me.
Which NES colour palette is the best?
I'm not going to make that call, nor could I even if I wanted to.
I'll give numbers, stats and rendered comparisons, with the caveat that it's all relative to certain displays/chips, and you can make up your own mind.
This is stupid and your results don't change my mind on what I like.
That's not a question.
Play whatever like, however you like. There's no wrong way to play a video game IMHO.