psycopathicteen wrote:
Code:
ppppllllhhhh
p: phase
l: lower bound (0 is -.333, 15 is 1.333)
w: higher bound (0 is -.333, 15 is 1.333)
lidnariq wrote:
- three bits of phase information (none, 6 from a half of the NES palette, one for averages of luma for extra greys)
- three bits of luma_1 (maybe 0,2,4,6,8,10,12,14)
- two bits of luma_2 (maybe 1,5,9,13)
You only need half the phase information here because part of it's encoded in whether luma_1 > luma_2 or vice versa.
I dunno, these kinds of methods seem like, although powerful, they'd be a complete pain to work with. How would you fade palettes and do other similar calculations? It'd be more messy than how the palette is right now.
I think the best method would be to keep what the NES already has, except add 2 bits for saturation. This might not seem like much, but 0 saturation means you have a grayscale, so you can free up hue x0 and xD, in addition to potentially adding more hues.
If you don't want to change the clock signal, you can keep the NES's palette the exact same, but with the extra saturation bits, think of it like you're choosing from 4 different sets of x0 and xD columns (not literally, just when generating color, because x0 and xD are used for the chroma wave's peaks), where one set is how the NES is right now, another set has x0 and xD as the same, and the other two sets are two intermediates.
In the actual palette itself, column x0 can act like a grayscale column where the high 4 bits select a luminance, so 00 would be black, F0 would be white, and 10, 20, ..., D0, E0 would all be grays. If that's too much, then just using the 2 luma bits is enough; you'd get black, white, and two grays, with the saturation bits having no effect. However, desaturated colors would also produce 4 different grays of their own (doesn't contain black or white though, which is why I suggest a dedicated grayscale column), so you'd actually have 8 grays to choose from, although not linearly mapped.
This would be much easier to work with because hue, luma, and saturation are all simple ranges. Plus, fading the palette to grayscale would be as simple as fading it to black.