Sonic and Sega Retro Message Board: Genesis colors? - Sonic and Sega Retro Message Board

Jump to content

Hey there, Guest!  (Log In · Register) Help
  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

Genesis colors? Which is the correct one? (5 pics)

#1 User is offline MainMemory 

  Posted 23 October 2009 - 07:42 AM

  • Every day's the same old thing... Same place, different day...
  • Posts: 3193
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
So, I've noticed that there are at least 3 different ways that Genesis colors are interpreted on a PC.
First, we have Gens, Gens+, and GSavestate, using a max of 255 (FF):

Then, we have Gens/GS, Sonic CD PC, the wiki, SonED, and every other Sonic hacking tool, using a max of 224 (E0):


Note: this screenshot was taken in 256 color mode.
Then, we have Sonic & Knuckles Collection and the hidden bitmaps for Sonic CD PC, using a max of 238 (EE):


I restored this one by copying the palette already present in the file to the correct position.

So, which of these is "right"? None of them? All of them? Does it matter?

#2 User is offline Mr. Mash 

Posted 23 October 2009 - 08:21 AM

  • All fanbases are awful
  • Posts: 1440
  • Joined: 26-July 08
  • Gender:Male
  • Project:drawing
  • Wiki edits:6
I'd say it probably doesn't matter too much, given the way TV's vary.

#3 User is offline GerbilSoft 

Posted 23 October 2009 - 06:13 PM

  • RickRotate'd.
  • Posts: 2022
  • Joined: 11-January 03
  • Gender:Male
  • Location:USA
  • Project:Gens/GS
  • Wiki edits:158
It depends on how you interpret the color values. Technically, a CRAM value of 0xEEE should map to 100% brightness (RGB #FFFFFF). The reason why Gens/GS (r7_pre4 and earlier) doesn't is because it uses simple bitshifting. The end result is that "full brightness" isn't full brightness.

Gens/GS r7_pre5 scales 0xEEE to RGB #FFFFFF by default. There's an option in the Color Adjust window to disable this feature (labelled "Scale Colors") if you prefer the old scaling method (0xEEE -> RGB #E0E0E0).

Fun fact: If your desktop color depth is set to 24/32-bit and you run a DirectDraw, OpenGL, or Direct3D app that uses a 16-bit framebuffer, the 16-bit colors will be scaled such that maximum brightness maps to maximum brightness. That is, RGB16 0xFFFF maps to RGB24 0xFFFFFF instead of 0xF8FCF8.

#4 User is offline Jayextee 

Posted 23 October 2009 - 06:28 PM

  • Comic Mischief
  • Posts: 3052
  • Joined: 22-October 07
  • Gender:Male
  • Location:Kathmandu, Nepal
  • Project:Who knows? Toss a coin, will ya?
  • Wiki edits:27
Can't comment on 'correct' but the E0 one is more pleasing to my overly-brightness-sensitive eyes.

#5 User is offline PsychoSk8r 

Posted 23 October 2009 - 06:40 PM

  • HighKnights
  • Posts: 2573
  • Joined: 11-July 07
  • Gender:Male
  • Location:Walsall, UK
  • Project:30 Day Project: Revisited.A New Release!
  • Wiki edits:19
QUOTE (Jayextee @ Oct 24 2009, 12:28 AM)
Can't comment on 'correct' but the E0 one is more pleasing to my overly-brightness-sensitive eyes.

I agree completely here. I'm sure E0 is the accurate value anyway.

#6 User is offline MainMemory 

Posted 23 October 2009 - 06:47 PM

  • Every day's the same old thing... Same place, different day...
  • Posts: 3193
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
What I really don't get is why SEGA can't pick one value and stick with it.

If you compare the S3K shots, there's definitely a noticeable difference.

->$E0 is value*$10, ->$EE is value*$11, ->$FF is value*18.214285714285714285714285714286?
This post has been edited by MainMemory: 23 October 2009 - 06:51 PM

#7 User is offline nineko 

Posted 23 October 2009 - 06:51 PM

  • I am the Holy Cat
  • Posts: 5302
  • Joined: 17-August 06
  • Gender:Male
  • Location:italy
  • Project:I... don't even know anymore :U
  • Wiki edits:5,251
I know it's NOT correct, but I'd go with $EE. Just multiply the genesis color by $11. This gives you a linear scale, which is important in my opinion. $E0 gives you a linear scale too but it's dark :x

#8 User is offline MainMemory 

Posted 23 October 2009 - 06:54 PM

  • Every day's the same old thing... Same place, different day...
  • Posts: 3193
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
QUOTE (nineko @ Oct 23 2009, 06:51 PM)
I know it's NOT correct, but I'd go with $EE. Just multiply the genesis color by $11. This gives you a linear scale, which is important in my opinion. $E0 gives you a linear scale too but it's dark :x

I think the real question here is, if it isn't correct, why did SEGA use it? And you could use $12 and get a max of $FC.

#9 User is offline Andlabs 

Posted 23 October 2009 - 07:06 PM

  • 「いっきまーす」
  • Posts: 2175
  • Joined: 11-July 08
  • Gender:Male
  • Project:Writing my own MD/Genesis sound driver :D
  • Wiki edits:7,061
Get Chaotix on real hardware. In the color test, set the Mars values of one bar to the max. Set the corresponding Genesis colors to the max. Compare. I can't provide a pic atm though.

Note that the brightness of your TV won't really matter unless it's so dark that those colors just blend together.

#10 User is offline Chilly Willy 

Posted 23 October 2009 - 08:38 PM

  • Posts: 738
  • Joined: 10-April 09
  • Gender:Male
  • Project:Wolf3D MCD
QUOTE (MainMemory @ Oct 23 2009, 05:54 PM)
QUOTE (nineko @ Oct 23 2009, 06:51 PM)
I know it's NOT correct, but I'd go with $EE. Just multiply the genesis color by $11. This gives you a linear scale, which is important in my opinion. $E0 gives you a linear scale too but it's dark :x

I think the real question here is, if it isn't correct, why did SEGA use it? And you could use $12 and get a max of $FC.


"SEGA" doesn't multiply anything... we're talking HARDWARE here. A palette entry of 0xEEE sends the three bits making each E to a 3 bit digital to analog converter, where a "white" voltage is the reference. A palette entry is (in binary) b2b1b0-g2g1g0-r2r1r0- where b2b1b0 is the three bit value of blue, g2g1g0 is the three bit value of green, and r2r1r0 is the three bit value of red, and - is an ignored bit. So 0xEEE is the brightest white and 0x222 of the darkest gray without being black.

#11 User is offline MainMemory 

Posted 23 October 2009 - 10:29 PM

  • Every day's the same old thing... Same place, different day...
  • Posts: 3193
  • Joined: 14-August 09
  • Gender:Not Telling
  • Project:SonLVL
  • Wiki edits:1,339
QUOTE (Chilly Willy @ Oct 23 2009, 08:38 PM)
QUOTE (MainMemory @ Oct 23 2009, 05:54 PM)
QUOTE (nineko @ Oct 23 2009, 06:51 PM)
I know it's NOT correct, but I'd go with $EE. Just multiply the genesis color by $11. This gives you a linear scale, which is important in my opinion. $E0 gives you a linear scale too but it's dark :x

I think the real question here is, if it isn't correct, why did SEGA use it? And you could use $12 and get a max of $FC.


"SEGA" doesn't multiply anything... we're talking HARDWARE here.

I'm talking about S&K Collection, which multiplies by $11 to get the RGB values, as you can see in the screenshot.

#12 User is offline ICEknight 

Posted 25 October 2009 - 04:33 PM

  • Posts: 8952
  • Joined: 11-January 03
  • Gender:Male
  • Location:Spain
  • Wiki edits:18
Couldn't resist asking the developer of Genesis Plus for Wii, since he's always pushing for maximum accuracy.

Here's his answer about it, and about how it's done in his emu.

#13 User is offline nineko 

Posted 25 October 2009 - 04:38 PM

  • I am the Holy Cat
  • Posts: 5302
  • Joined: 17-August 06
  • Gender:Male
  • Location:italy
  • Project:I... don't even know anymore :U
  • Wiki edits:5,251
Haha it turns out my random guess was just right in the end :]

#14 User is offline Overlord 

Posted 25 October 2009 - 06:03 PM

  • Cat-herder
  • Posts: 13844
  • Joined: 12-January 03
  • Gender:Male
  • Location:Berkshire, England
  • Project:VGDB
  • Wiki edits:3,204
QUOTE (ICEknight @ Oct 25 2009, 09:33 PM)
Couldn't resist asking the developer of Genesis Plus for Wii, since he's always pushing for maximum accuracy.

Here's his answer about it, and about how it's done in his emu.

Speaking of, it IS an accurate emu - I installed Homebrew Channel on my Wii this afternoon and put this emu on to test it - it's only the second emulator I've ever used (after Fusion) to get the horns right on Micro Machines 2...

#15 User is offline GerbilSoft 

Posted 25 October 2009 - 07:09 PM

  • RickRotate'd.
  • Posts: 2022
  • Joined: 11-January 03
  • Gender:Male
  • Location:USA
  • Project:Gens/GS
  • Wiki edits:158
I updated Gens/GS to support this color scaling method in addition to the original two. This method is now called "Full with S/H", and is the default. The other methods are "Raw" (0xEEE -> 0xE0E0E0) and "Full" (0xEEE -> 0xFFFFFF).

This will be included in Gens/GS r7 Final.

  • 2 Pages +
  • 1
  • 2
    Locked
    Locked Forum

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users