So I'm finally getting around to developing my own Palette/Sprite Editor. (Currently prototyping in Python using the PyQt library. Since I run Linux I intend to make it cross-platform.) One of the things I'm currently trying to address is determining how best to represent (or approximate) 9-bit RGB/BGR values as modern day 24-bit RBG values.

I was curious if there was an established community standard when representing Genesis/MegaDrive colors on modern hardware? (Gotta tread lightly, don't want to start another Colors War... Haha!)

I can replicate the Regen emulator's color representation by scaling values by 32. This gives a "pure white" of 0xE0E0E0. (Gens/GS gives 0xE0E8E0 for whatever reason... All green values seems to be off scaled in Gens/GS compared to Regen.)

Kega-Fusion's color representation can be replicated by the following:
mapped_color = (value * 32) + value. This gives a "pure white" of 0xE7E7E7.

Tests on the video timings back in 2010 suggest that the color stepping/scale is actually 34: viewtopic.php?p=10067#p10067 This would give a "pure white" of 0xEEEEEE.

In the picture below I'm using the TANGLEWOOD 0.8.01 Demo as a color reference between the emulators and the official clip of the demo on YouTube: https://www.youtube.com/watch?v=59KW8xT74eo (Not sure if the Demo was captured live or emulated.)

The video DAC part is figured out pretty much. There's 17 taps on a long resistor structure and each tap is turned on with a control signal to enable certain level on the color channel output. 15 MD mode levels plus two SMS mode exclusive levels.