(It seems hackaday.io ate all of my images... oh well)
RAD uses a tile-based rendering system. Everything on screen is either a background tile or a sprite tile. Each tile has attributes, one of which is a palette ID pointing to one of 4 palettes of 16 colors each.
Palette entries are 8 bit, using the RRGGGBBS encoding.
This encoding gives us a 256 color subset of the 512 color RGB333 color space where red and blue share the lowest weighted bit. It requires a 9 bit DAC and 9 output pins from the FPGA.
We considered other encoding schemes like RRGGBBSS and RRRGGGBB, but we settled on this one because it gave us real neutral grays and a good assortment of hues.
This is the main RRGGGBBS palette and it's associated color spectrum :
For comparison, here is the Sega master system RGB222 palette sorted by hue with associated spectrum :
I don't have a spectrum for it, but here is the gamma correct NES palette for reference :
Our rejected alternatives :
RRGGBBSS, a 256 color subset of the 4096 color RGB444 space. Lots of shades but many missing hues. Very crunched reds. Requires a 12 bit DAC (3 more resistors not a big issue. 3 more output pins from the FPGA... more problematic).
RRRGGGBB, terrible grays. Otherwise a pretty good assortment.
photondreams
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.