NESRGB New Firmware Palette Updates:

The place for all discussion on gaming hardware
User avatar
Link83
Posts: 342
Joined: Tue May 21, 2013 2:39 am

Re: NESRGB New Firmware Palette Updates:

Post by Link83 »

Thanks for your hard work FBX :)
Are there any comparison pictures of the three new FBX palettes? Just curious to see how they all compare/differ.
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

Link83 wrote:Thanks for your hard work FBX :)
Are there any comparison pictures of the three new FBX palettes? Just curious to see how they all compare/differ.
Comparisons wouldn't exactly be fair since each palette serves a different purpose (one is for CRT users, another is for digital display users, etc.)

I'll pick out some screenshots and post them here in a few, but again, just keep in mind the point of each palette.
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

Okay, here's a spread of the 4 palettes. Order is:

Composite Direct >>> Original Hardware >>> PVM Style >>> NES Classic

Image

Image
twipley
Posts: 6
Joined: Tue Apr 21, 2015 11:34 pm

Re: NESRGB New Firmware Palette Updates:

Post by twipley »

it is quite nice to see such screenshots, but it might -- also -- be interesting to see comparison shots between what the 'pvm-style' palette looks like, and what it would look like had it been taken under a ‘d93’ (rather than 'd65') screen condition.

so as to satisfy our endless, unquenchable curiosity :)

edit: i am, of course, only talking about an approximation of 'what it would look like'. iirc you said 'colder' earlier, but, for those not used to all this colouring stuff, they are in some pain to make something concrete in their mind, out of these abstract-some ramblings (!)
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

What you're asking would require another 30 hours of work at minimum. I'm not sure it would be worth the effort, especially since we're talking a lot more neon blue influence that already cannot be reproduced in the RGB color space.
User avatar
Unseen
Posts: 724
Joined: Sun May 25, 2014 8:12 pm
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by Unseen »

twipley wrote:it is quite nice to see such screenshots, but it might -- also -- be interesting to see comparison shots between what the 'pvm-style' palette looks like, and what it would look like had it been taken under a ‘d93’ (rather than 'd65') screen condition.
You could set your PC monitor color temperature to 9300K and look at the above images for an approximation.
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

I checked the color entries between the two modes, and there were very little changes. Most of them were in the lighter bluish-purples, and of course the grey tones were now different. Here's the approximation palette of D93:

http://www.firebrandx.com/downloads/PVM ... 0(FBX).zip
User avatar
Yamato
Posts: 69
Joined: Thu Jun 21, 2012 8:27 am

Re: NESRGB New Firmware Palette Updates:

Post by Yamato »

Flashed my RGB AV Famicom with Original Hardware (FBX) palette and it's looking fantastic on my BVM. Great job, FBX :D

Just a short side note:

The Faxanadu intro screen is a great example where the composite "color bleeding" creates new shades of color which aren't really there in the pure signal.
Look at the giant tree. This lighter grey pixels side by side to those brown pixels create an interesting dithering effect. The mixture of dark blue, brown and black pixels on the right side also creates an almost greenish shadow. It results in a somehow "organic" texture.
Although the brown tone itself isn't THAT much different (look at the city wall) the tree looks a lot more organic with composite. The grey tone is noticeably brighter though. This isn't a complaint by any means as it can not be changed with RGB color palettes. But I thought it might be interesting to share nonetheless.

I noticed it while working on my attempt to create an authentic PAL color palette. I guess the effect is similar with NTSC signals.

Here is a quick comparison between YUV palette (which is obviously close to PAL colors) on the left and a direct PAL composite capture on the right.

Image
User avatar
Tatsuya79
Posts: 149
Joined: Tue Jan 07, 2014 10:29 am

Re: NESRGB New Firmware Palette Updates:

Post by Tatsuya79 »

Yamato wrote:The Faxanadu intro screen is a great example where the composite "color bleeding" creates new shades of color which aren't really there in the pure signal.
Look at the giant tree. This lighter grey pixels side by side to those brown pixels create an interesting dithering effect. The mixture of dark blue, brown and black pixels on the right side also creates an almost greenish shadow. It results in a somehow "organic" texture.
I could reproduce that with Blargg NTSC filter. That's where emulators give you more options.
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

Yeah there are certain NTSC colors that just cannot be reproduced in RGB. Another example I often cite is the green in the border of the 2nd Contra stage. It's got a certain shade of green going on CRTs that you just cannot approximate in the RGB color space, and so it never looks quite right.

The Faxanadu intro, I think the effect is more unintentional than anything. It's just what happens with such a messy signal.
panzeroceania
Posts: 196
Joined: Mon Jul 19, 2010 8:52 am

Re: NESRGB New Firmware Palette Updates:

Post by panzeroceania »

FBX wrote:
The two flesh tones just need the green value slightly lowered I believe. The rest of the highlighted entries are colors that fall outside the range of RGB, and so an approximation must be made.
When you say out of range what do you mean? Do you mean outside of sRGB / rec709 color gamut?

Could you work in rec2020, prophoto, Adobe RGB, or DCI P3 if you needed a wider RGB color gamut?
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

panzeroceania wrote:
FBX wrote:
The two flesh tones just need the green value slightly lowered I believe. The rest of the highlighted entries are colors that fall outside the range of RGB, and so an approximation must be made.
When you say out of range what do you mean? Do you mean outside of sRGB / rec709 color gamut?

Could you work in rec2020, prophoto, Adobe RGB, or DCI P3 if you needed a wider RGB color gamut?
I mean analog RGB range. You know, what NESRGB outputs for example. Some of the colors, like the SMB sky for example, get clipped in direct captures, causing the purple tinge to show up while clipping the blue channel. To give you an idea of what the SMB sky would be like if analog RGB could do the same space, you'd have the blue channel set to something like 325 instead of the normal max 255. Switching between RGB and NTSC, I can actually see the blue channel get much more intense in NTSC, even though I've already maxed out the blue channel in RGB to 255.
panzeroceania
Posts: 196
Joined: Mon Jul 19, 2010 8:52 am

Re: NESRGB New Firmware Palette Updates:

Post by panzeroceania »

I'm wondering if this is a limitation of the NESRGB, or your capture card.

Analog RGB (RS-170 RGB) actually has much more bandwidth than composite color (RS-170A) and if you're using the same monitor, then whatever phosphors that monitor has (P22, SMPTE C, EBU, or proprietary) would be the same, leaving the source device (NESRGB) or capture device (your capture card) as the only remaining bottlenecks for color.
copy
Posts: 232
Joined: Fri Apr 29, 2016 10:38 pm

Re: NESRGB New Firmware Palette Updates:

Post by copy »

This graph posted earlier implies the NESRGB stores color in the sRGB (computer monitor) format, not RS-170 RGB:

nakedarthur wrote:I don't think this is any sort of mystery though is it? It's not over-saturated, NTSC just has a wider range of visible color than RGB.

white = NTSC
black = RGB

Image
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

panzeroceania wrote:I'm wondering if this is a limitation of the NESRGB, or your capture card.

Analog RGB (RS-170 RGB) actually has much more bandwidth than composite color (RS-170A) and if you're using the same monitor, then whatever phosphors that monitor has (P22, SMPTE C, EBU, or proprietary) would be the same, leaving the source device (NESRGB) or capture device (your capture card) as the only remaining bottlenecks for color.
All I know for sure is, 255 on the blue channel does not reach the same intensity as the NTSC version. At least a good 25% shy in fact.
panzeroceania
Posts: 196
Joined: Mon Jul 19, 2010 8:52 am

Re: NESRGB New Firmware Palette Updates:

Post by panzeroceania »

Before we go any further we need to measure the NES primary colors / chromacities and plot them on CIE 1976 or CIE 1931, we can't assume that the NES adheres to the color primaries suggested in 1953 by the 2nd NTSC, or that it uses SMPTE C color primaries, the only way to know for sure would be to measure it ourselves. I'm not sure what the best way to measure it is though without introducing a capture card or monitor which could skew the data.

However it's done, once we know the gamut that the NES operates in, we can work on a better way of replicating it.

EDIT:

This may also just boil down to imprecise computer conversation between color models. Wikipedia says this about YUV (from PAL) which is similar to YIQ used in NTSC
Y′UV is not an absolute color space. It is a way of encoding RGB information, and the actual color displayed depends on the actual RGB colorants used to display the signal. Therefore a value expressed as Y′UV is only predictable if standard RGB colorants are used (i.e. a fixed set of primary chromaticities, or particular set of red, green, and blue).

Furthermore, the range of colors and brightnesses (known as the color gamut) of RGB (whether it be BT.601 or Rec.709) is far smaller than the range of colors and brightnesses allowed by Y′UV. This can be very important when converting from Y′UV (or Y′CbCr) to RGB, since the formulas above can produce "invalid" RGB values – i.e., values below 0% or very far above 100% of the range (e.g. outside the standard 16-235 luma range (and 16-240 chroma range) for TVs and HD content, or outside 0-255 for standard definition on PCs). Unless these values are dealt with they will usually be "clipped" (i.e., limited) to the valid range of the channel affected. This changes the hue of the color, so it is therefore often considered better to desaturate the offending colors such that they fall within the RGB gamut. Likewise, when RGB at a given bit depth is converted to YUV at the same bit depth, several RGB colors can become the same Y′UV color, resulting in information loss.
All that said, this should be a solvable problem for RGB on an analog CRT display, having colors clipped should be avoided and fixed, we just need to determine the source of the problem.

EDIT2:

The second page of this article also talks about basic colors and how certain systems have issues going outside basic colors.

http://nemesis.lonestar.org/reference/i ... rimer.html
To allow images to be displayed by both SVGA and higher-end equipment (notably color systems built by Sun, Apollo, Apple, IBM and others), a standardized list of 216 colors was developed that would be available by default on several major operating systems when the video was operating in a mode that only allowed 256 different colors to be displayed. This helped insure that colors displayed by one system could be identical when a limited pallete of simultaneous colors was available on some other system, and this interoperability was instrumental in making early web browsers work well on different types of computers and operating systems.
The Basic 216 colors represent all numerical combinations that can be produced from the Red, Green and Blue intensity values of hexadecimal 00, 33, 66, 99, CC and FF, beginning at Black (000000), incrementing through each combination, as in 000033, 000066, 000099, 0000CC, 0000FF, 003300, 003333, until finally reaching White (FFFFFF).
For example, FFCC99 is one of the basic 216 colors, while FFCC75 is not, and FFCC75 may not display as expected on a video system with limited color "depth". When directed to display a color other than one of the basic 216, limited video color systems will usually pick the closest of the 216 set and use that value instead, so FFCC75 would probably be displayed as FFCC66.
Even in modern video cards that can display several million different colors at the same time, that may only be true at lower video resolutions, such as 640x480 or 800x600. Increasing resolution to 1600x1200 or other high sizes may reduce color depth of a given video display system back down to 256 possible colors, causing the Basic 216 system to be applied again.
Since it is possible for a web browser to be running on a system that can only display 256 colors that may be trying to display your web page, this can cause problems when a non Basic 216 color is specified. In that event, a darker or lighter color than specified may be displayed instead, and that substitution could cause the luminance rule to be violated on that display, which would make text difficult to read on that system.
A similar problem exists when computer video is converted into NTSC or a MPEG video format. Color depth is drastically reduced by chrominance bandwidth limits in NTSC, and by compression filters in MPEG encoders. Subtle differences in color shades will be completely lost, so using values outside the Basic 216 is usually a futile effort, with FFCC99 and FFCC98 and even FFCC82 all looking identical on a NTSC or HD video display.
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

In other news, I've lined up an on-loan Nt mini that will help me finish fine-tuning the Original Hardware palette. For those that might not know yet, the advantage of the Nt mini is it allows loading of custom palette files without needing a firmware update. Combined with this, the Nt mini also sports the full range of output options: composite, S-video, component, RGB, and HDMI. This will allow me to hook it up to my PVM and cross-reference each color with an original NTSC NES deck until the fine-tuning is completed.

The Nt mini was shipped out today, so when it arrives in the mail, I'll post updates here as usual. I'm super excited to get this going!
User avatar
austin532
Posts: 842
Joined: Wed Mar 12, 2014 12:44 am
Location: Arizona, US

Re: NESRGB New Firmware Palette Updates:

Post by austin532 »

Something I find interesting in Ducktales is the curtains actually have polka-dots on them. Using a stock NES as well as the Original Hardware and Composite Direct palettes they tend to blend in. With the PVM palette though they are much easier to see.
Framemeister 240p scanline settings: http://shmups.system11.org/viewtopic.ph ... start=9600
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

austin532 wrote:Something I find interesting in Ducktales is the curtains actually have polka-dots on them. Using a stock NES as well as the Original Hardware and Composite Direct palettes they tend to blend in. With the PVM palette though they are much easier to see.
The Nt mini is scheduled for delivery on Tuesday. I'll be doing extensive testing of the palettes when it arrives. I'll keep a note about your finding in Ducktales and compare it as well.
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

Nt mini arrived, and I spent last night zeroing in on the darkest row of colors. They look perfect now. I'm going to start the 2nd row of colors when I wake up later today.

Just want to say the Nt mini is working beautifully for this task! It's making it MUCH easier to compare and add in color tweaks as I go.

I'll keep you all posted on my progress.
panzeroceania
Posts: 196
Joined: Mon Jul 19, 2010 8:52 am

Re: NESRGB New Firmware Palette Updates:

Post by panzeroceania »

Sounds good! Glad to hear it's working as expected. Looking forward to more updates
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

It's going every bit as well as I hoped! 2nd darkest row polished. Palette is now 50% complete!

Edit:

3rd row completed. This one was a serious challenge. All colors dialed in, except the SMB sky color entry and the one to the right of it had to be approximated (their saturation falls outside the range of the RGB versions).

Only one row to go (the lightest colors), and I'll knock it out tomorrow. Then comes in-game tests, though I already took a sneak peek at Castlevania and Contra, and was thrilled with the results!
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

It's finished!

I'm proud to say this is my finest palette work! Thanks to the Nt mini, I was able to fine-tune the colors to beautiful accuracy! It looks nothing short of perfect when I screen-swap on the PVM from the unmodded NES to the mini, with the exception of 4 colors that have the blue channel boosted out of range of RGB. On these, I had to just give it as close an approximation as I could, but not being able to boost the blue channel beyond 255 made it impossible to reproduce the same effect. It just so happens all 4 colors are grouped right next to each other:

Image

It becomes quite clear why the SMB sky appears so blue on CRTs: The NES hardware simply drives the blue voltage way up on those 4 entries, while the ENTIRE rest of the palette does not have this issue.

Here's the link to the palette so you can give it a try on your PVMs using the Nt mini:

http://www.firebrandx.com/downloads/NTS ... 0(FBX).zip


I'm going to take a break and then see about getting new NESRGB firmwares going. Also as you can see from the link, I've change the name to "NTSC Hardware (FBX)" to specify the hardware region.

Enjoy!
User avatar
PascalP
Posts: 175
Joined: Tue Mar 31, 2015 7:56 pm
Location: Netherlands

Re: NESRGB New Firmware Palette Updates:

Post by PascalP »

Very nice job!

How close is this to your previous round of palettes?
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

PascalP wrote:Very nice job!

How close is this to your previous round of palettes?
Depends on the goal of the palette. This one is to provide CRT users with a palette that looks as close to identical to a real NTSC NES as possible. My previous effort on this end was "Original Hardware", which was decent but not 'perfect'. This time around, I got to use the Nt mini to fine-tune each color entry until there was virtually no difference when comparing to unmodded NES feed on a PVM.
User avatar
austin532
Posts: 842
Joined: Wed Mar 12, 2014 12:44 am
Location: Arizona, US

Re: NESRGB New Firmware Palette Updates:

Post by austin532 »

What equipment would you need to dial in those 4 colors? You've come so close to 100% this thing it would be a shame to stop now. I've ran into several games that use that color 35 purple while testing out the palettes. The title screen for Deja Vu uses both the 35 purple and 51 light pink.
Framemeister 240p scanline settings: http://shmups.system11.org/viewtopic.ph ... start=9600
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

austin532 wrote:What equipment would you need to dial in those 4 colors? You've come so close to 100% this thing it would be a shame to stop now. I've ran into several games that use that color 35 purple while testing out the palettes. The title screen for Deja Vu uses both the 35 purple and 51 light pink.
It's impossible. Those 4 colors send a blue voltage higher than the rest of the palette, and well outside the maximum blue range of analog RGB. If you try to mimic the hue + saturation, the colors must be significantly darker compared to the rest of the row. So the only recourse is to approximate an unsaturated version that remains consistent in brightness to the rest of the row.

The other method is direct capture, which clips the blue channel in those entries and you end up with the infamous purple tinge in the SMB sky for example, but is not accurate to what it looks like on CRTs.
austin532 wrote:The title screen for Deja Vu uses both the 35 purple and 51 light pink.
You'll be pleasantly surprised at how accurate it looks on a PVM if you try the palette out with an Nt mini. Here's the screen in digital RGB using the same palette:

Image
User avatar
austin532
Posts: 842
Joined: Wed Mar 12, 2014 12:44 am
Location: Arizona, US

Re: NESRGB New Firmware Palette Updates:

Post by austin532 »

I wonder if the Famicom has the same voltage issue.
Framemeister 240p scanline settings: http://shmups.system11.org/viewtopic.ph ... start=9600
User avatar
FBX
Posts: 2347
Joined: Wed Feb 18, 2015 10:18 am
Location: DFW area, Texas
Contact:

Re: NESRGB New Firmware Palette Updates:

Post by FBX »

I'm sure I can ask my friends at MLiG to check, but they are road-tripping in L.A. for an on-site documentary.

Anyway, to give you an idea of how close I was dialing in these colors on the latest palette: I got to where I could even spot the brightness difference depending on how long the NES was turned on. A freshly turned on vintage NES shows darker colors than one left on for 10 minutes for example (independent of the CRT warm-up). I used the 10 minute 'warm-up' as a bench before comparing each color.
User avatar
austin532
Posts: 842
Joined: Wed Mar 12, 2014 12:44 am
Location: Arizona, US

Re: NESRGB New Firmware Palette Updates:

Post by austin532 »

I'm also friends with MLiG but yeah they are busy this week. If there is a difference between the NES and Famicom it would be interesting.

I'm no expert with hardware but if the NES has to warm up like a tv to change colors then that sounds like something is wrong.
Framemeister 240p scanline settings: http://shmups.system11.org/viewtopic.ph ... start=9600
Post Reply