AuthorTopic: List of the Old Skool palettes  (Read 24255 times)

Offline Mathias

  • 0100
  • ***
  • Posts: 1797
  • Karma: +2/-0
  • Goodbye.
    • http://pixeljoint.com/p/9542.htm
    • View Profile

List of the Old Skool palettes

on: December 19, 2008, 10:29:38 pm
Where's the definitive source for all the old primitive palettes - C64, Amiga, NES, etc?

I want to experiment with them. Please advise. My best bet is just a stinkin' wiki page - http://en.wikipedia.org/wiki/List_of_palettes

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: List of the Old Skool palettes

Reply #1 on: December 20, 2008, 03:14:05 am
That wiki page is actually pretty accurate and comprehensive, though of course you should look up 'C64', 'NES', etc to get the exact technical restrictions..

There is no definitive palette for C64.

c64 palettes here:
http://www.wayofthepixel.net/pixelation/index.php?topic=1618.msg27230;topicseen#msg27230

C64, CPC, ORIC palettes here:
http://www.wayofthepixel.net/pixelation/index.php?topic=3225.0

NES here:
http://www.wayofthepixel.net/pixelation/index.php?topic=5852.0

anything else, use the search bar!
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline happymonster

  • 0010
  • *
  • Posts: 455
  • Karma: +0/-0
    • View Profile

Re: List of the Old Skool palettes

Reply #2 on: December 20, 2008, 05:03:03 pm
When you get to the 16bit consoles/computers they tended to have a palette of 512, 4096 or more colours. So really it's the 8-bit ones which are more manageable.

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: List of the Old Skool palettes

Reply #3 on: December 21, 2008, 01:35:15 am
Yes, that's listed on the wiki page.

CPC == 3 levels of RGB (3**3 == 27 colors), 16 or 4 or 2 onscreen (according to screen mode)
EGA16 == 2 levels of RGB (off/on), plus one intensity bit which adds 7f7f7f to the color == 16 colors, of which 16 can be displayed onscreen
(not necessarily in the same order or quantity. palette cycling and fading  was possible)
EGA64 == 4 levels of RGB (4**3 == 64 colors), 16 onscreen normally.
Genesis / Megadrive == 8 levels of RGB (8**3 == 512 colors), max 62 onscreen [1]
Amiga ECS == 16 levels of RGB (16**3 == 4096 colors),  2/4/8/16/32, or 64   [2]
CPC+ == 16 levels of RGB (16**3 == 4096 colors), 16/4/2 onscreen (more possible, using hardware sprites); Slightly different from Amiga ECS master palette in that the green channel uses a mildly altered intensity curve vs the blue and red channels.
SNES == 32 levels of RGB (32**3 == 32768 colors), 256 colors / scanline plus simple hardware compositing [3]
MCGA / VGA == 64 levels of RGB (64**3 == 262144 colors), 256 or 16 onscreen
Amiga AGA == 256 levels of RGB, 2/4/8/16/32/64/128/256 colors onscreen.

Onscreen color limits are per-scanline. Which doesn't necessarily mean that you could change the palette every scanline to vastly increase the total amount of displayed colors. Usually you could manage to change the palette at least twice per refresh, though.
Some games (like Switchblade on the CPC) implemented vertical text gradients by changing one palette entry every scanline.
On some systems, like PC's, this trick is very difficult to do reliably because there is no fixed hardware.

Most color systems described here tend to have a direct relation to standard sRGB. I think CPC has slightly different intensity curve than sRGB, though.

My software 'PixLab' supports quantizing accurately to these colorspaces, and I can easily provide lookup-tables for this (it's surprisingly tricky to do correctly). I could provide palettes, however: 4096-entry palettes? not practical. IMO 256 is about the limit of managability, like happymonster says.


[1] two 16-color palettes for background tiles, and 2 15-color palettes for sprites ( the 16th entry represents transparency)
[2] any hex color #RGB is a color from the Amiga master palette, and any hex color #RRGGBB where the two R,G,B digits match.
64-color mode was EHB 'extra half-brite' mode, where you could not choose the extra colors, the extra bitplane just specified 'halve the intensity of the color of this pixel' where a bit was set. If you pick a 32-color palette, then copy it and apply Levels 0..128 to the copy, you
will have a result that may be right (documentation on this is not clear; it just says 'halve intensity' -- is the resultant intensity quantized to the 16**3 limits of Amiga OCS or not?)
Details about HAM modes intentionally omitted.

[3] any hex color #RRGGBB where the second R,G,B digits are one of (0,8) is a color from the SNES master palette.
This means that #f8f8f8 is the closest to white you can come.

EDIT: Updated according to saimo's post about AGA and my info about Genesis, SNES.
EDIT2: Updated according to saimo's later post.
EDIT3: added CPC+ info
« Last Edit: July 09, 2010, 12:45:24 am by Ai »
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline Mathias

  • 0100
  • ***
  • Posts: 1797
  • Karma: +2/-0
  • Goodbye.
    • http://pixeljoint.com/p/9542.htm
    • View Profile

Re: List of the Old Skool palettes

Reply #4 on: December 21, 2008, 10:57:46 pm
Yes Ai, I'm familiar with the search bar. I could google keywords I hope would lead me to the correct information or I can come to the experts, who may choose to advise me or completely ignore my posts. I appreciate the help thus far.

After investigating the links given and reading up on the matter, it seems that these old systems are capable of many more colors than I thought  -BUT-  are only allowed to display a certain amount simultaneously, for instance - the whole 8x8 block restriction thing.


Yet, does this image really depict ALL possible colors for the Commodore64?
http://upload.wikimedia.org/wikipedia/commons/e/ef/Screen_color_test_Commodore64_Multicolor.png



Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: List of the Old Skool palettes

Reply #5 on: December 22, 2008, 02:04:56 am
What has google to do with anything? I meant the search bar here.

C64 has a master palette of 16 colors, of which 16 may be displayed simultaneously. So yes, that image does display roughly all the possible colors. There were various tricks that could give the impression of more colors, but that's all really; there were just 16 colors.
(As I said before, the exact definition of those colors is not known because AFAIK it was fairly dependent on the display you were using, the exact color that a particular palette entry rendered as.)
http://www.studiostyle.sk/dmagic/gallery/gfxmodes.htm

SMS has 32 from master palette of 512, IIRC
per : http://en.wikipedia.org/wiki/Sega_Master_System#Technical_specifications
apparently it actually has 16 for sprites, 16 for bg, which is taken from an overall palette of 64 (this 64-color palette doesn't appear to be easy to find; I'll guess it's rather like the EGA64 palette, since it has 2 bits each for R,G,B; it might have a different gamma from EGA64.)
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline ptoing

  • 0101
  • ****
  • Posts: 3063
  • Karma: +0/-0
  • variegated quadrangle arranger
    • the_ptoing
    • http://pixeljoint.com/p/2191.htm
    • View Profile
    • Perpetually inactive website

Re: List of the Old Skool palettes

Reply #6 on: December 23, 2008, 09:37:59 am
Indeed, the C64 only has 16 possible colours, they can all be on screen at the same time, but it depends on the gfxmode how many can be in a character (8x8) pixel block.

There are 2 main modes, Char and Bitmap - and two submodes kinda, hires (or singlecolor) and multicolor.

- In Hires Bitmap you have the full resolution of 320x200 with any 2 colours per 8x8.

- In Mcol Bitmap you have a reduced horizontal resolution of 160x200 with doublewide pixels, so a character has 4x8 widepixels instead of 8x8 singlepixels.
  In this mode one colour is fixed for the whole image, this is called the background color and it can be any of the 16. Then in each character block you can  use an additional 3 colours.

In Charmode you can mix hires and mcol chars, but the restrictions are much more severe.

The background colour is fixed, hires chars can have that bgcolour and one additional colour (if they are mixed with mcol chars the additional colour can only be colour 0-7, if you only use hires chars any colour can be set for the additional ones.) Mcol chars have 2 fixed colours for all chars and then one additional colour per char selected from colours 0-7 on top of the global background colour.

The top palette is the C64 one with the correct colourorder. Bottom one is the VIC20 palette, tho that one is much more inaccurate.




In the above image you can see the order regarding brightness and the lumapairs (there are 7 pairs where 2 colours share the same lightness value, on a monochrome monitor you can only see 9 distinct colours in total. If colours of the same luma are alternated in horizontal lines you get a new colour. This only works on PAL systems tho and not on NTSC ones. This is due to how the PAL signal is encoded. It also depends which colour is on odd and which on even lines. So technically each lumapair can yield 2 additional pure colours.

So in the end you have 16 original colours + 14 colours from the lumapairs. There are some less pure colours of the 2 lumapairs which have a smaller gap in brightness than the others (light blue / grey, green / light red). Mixing between those 2 pairs yields OK results but the colours are not totally pure, stripes can be seen.

There are more things that can be done on the C64 graphically involving advanced hackmodes, so I wont go into that.
Mcol and Hires Bitmap modes are good fun if you wanna think a bit more about where to place pixels.
There are no ugly colours, only ugly combinations of colours.

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: List of the Old Skool palettes

Reply #7 on: December 25, 2008, 10:28:37 am
correct SNES info is now posted at
http://www.wayofthepixel.net/pixelation/index.php?topic=7368.msg87616#msg87616

In short, for each channel of (R,G,B), two-digit hex codes ending in 0 or 8 are snes colors.
f8 is the maximum value.
Thus, SNES' 15bit RGB colorspace is markedly different from the standard PC 15bit hicolor, which includes the full range 0..255.

Genesis/Megadrive info:
The same 'no hot colors' scaling applies for Genesis as it does for SNES. Thus, these are the possible intensities in hex:

00 20 40 60 80 a0 c0 e0

Simple, yes ? :)
These 8 intensities combine into 512 colors, 8*8*8, of course.
« Last Edit: December 25, 2008, 11:25:48 am by Ai »
If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.

Offline saimo

  • 0010
  • *
  • Posts: 164
  • Karma: +1/-0
    • R37R34M
    • View Profile
    • RETREAM

Re: List of the Old Skool palettes

Reply #8 on: December 26, 2008, 02:55:32 pm
MCGA / VGA / AGA? == 64 levels of RGB (64**3 == 262144 colors)
AGA palette was 24-bit, so you could write:
AGA == 256 levels of RGB (256**3 == 16777216 colors)
The 262144 figure relates to Amiga's HAM8 mode - but that's a different story.

saimo

Offline Ai

  • 0100
  • ***
  • Posts: 1057
  • Karma: +2/-0
  • finti
    • http://pixeljoint.com/pixels/profile.asp?id=1996
    • finticemo
    • View Profile

Re: List of the Old Skool palettes

Reply #9 on: December 27, 2008, 09:41:12 am
Thanks saimo, I fixed that.

I feel suspicious about Ptoing's white in that C64 diagram, because as far as I know,  sRGB white (#ffffff) is a color that would damage old CRT TVs such as the ones that C64s would usually display using. You can see that later systems like SNES still took care to avoid hot colors.

It *is* within the YCbCr gamut, which is the digital equivalent of the YPbPr system used by the C64, it just seems like such a color could not have actually been used
I'd suggest a color more like #e6e6e6 instead of that fierce white.

If you insist on being pessimistic about your own abilities, consider also being pessimistic about the accuracy of that pessimistic judgement.