Jump to content
Trebor

Definitive NTSC palettes finalized - The New 62

Recommended Posts

Short and sweet with difference from previous offerings:

Final layer of A7800 NTSC palette generation applied incorporating the appropriate gamut color space and white point along with a corrected gamma curve which in turn impacted Hue/Tint begin and shift point.

 

Here are all the NTSC palettes zipped along with some captures:

ALL_FINAL_NTSC_PALETTES.zip

 

Here is the color reference chart:

post-18-0-61276400-1354040261_thumb.png

 

File details:

All palettes - the extra/overdriven ones ("EX" folder) and the plain/neutral ones ("NORM" folder) - are calculated palettes with no 'hand-picked' or 'manually manipulated' colors.

 

Both batches contains a base (‘NTSC.pal’ or ‘NTSC_EX.pal’ respectively) along with a *very* gradual - one degree shifts - to either green or red; same as would be found on a NTSC display with a TINT/HUE control.

 

The extra/overdriven palettes compared to the plain/neutral ones have a contrast increase of 20% and a saturation increase of 10%. Plain/neutral palettes have their contrast, brightness and saturation settings with no bias.

 

There are a total of 62 palettes following this pattern:

 

(MOST RED) NTSC_R15.pal...NTSC_R01.pal <---> NTSC.pal <---> NTSC_G01.pal...NTSC_G15.pal (MOST GREEN)

or

(MOST RED) NTSC_R15EX.pal...NTSC_R01EX.pal <---> NTSC_EX.pal <---> NTSC_G01EX.pal...NTSC_G15EX.pal (MOST GREEN)

 

I'm still happy to take request, but this should cover most wants as best as possible without actual NTSC generation inside the emulator itself.

 

I am working to have 'NTSC.pal’ palette incorporated into MESS as that is the most unbias with neutral settings and all other provided palettes are easily obtainable through adjustment of the provided emulator controls having the correct base in place.

 

Dig Dug and Ms. Pac-Man (from Pac-Man Collection) are showcased below utilizing the following palettes in this order:

 

NTSC_G07.pal <-> NTSC.pal <-> NTSC_R07.pal

NTSC_G15.pal <-> NTSC_R15.pal

&

NTSC_G07EX.pal <-> NTSC_EX.pal <-> NTSC_R07EX.pal

NTSC_G15EX.pal <-> NTSC_R15EX.pal

 

This is really *it* and final this time. I hope you enjoy them and find this useful.

 

post-18-0-60041400-1354040567_thumb.pngpost-18-0-06545800-1354040570_thumb.pngpost-18-0-32593500-1354040571_thumb.png

post-18-0-88666600-1354040614_thumb.pngpost-18-0-16786600-1354040616_thumb.png

&

post-18-0-06544600-1354040658_thumb.pngpost-18-0-59039900-1354040660_thumb.pngpost-18-0-17032400-1354040662_thumb.png

post-18-0-88142800-1354040686_thumb.pngpost-18-0-57117600-1354040690_thumb.png

 

 

post-18-0-96260200-1354040742_thumb.pngpost-18-0-67000100-1354040743_thumb.pngpost-18-0-32241400-1354040744_thumb.png

post-18-0-89498700-1354040772_thumb.pngpost-18-0-97645900-1354040773_thumb.png

&

post-18-0-22560200-1354040819_thumb.pngpost-18-0-05631100-1354040822_thumb.pngpost-18-0-28856600-1354040823_thumb.png

post-18-0-06875100-1354040852_thumb.pngpost-18-0-13876500-1354040853_thumb.png

  • Like 1

Share this post


Link to post
Share on other sites

I am really not a liar, but I want this correct for the community and for the sake of accuracy.

 

NTSC_ACCURATE_PALETTES_ALL_FINAL.zip

 

post-18-0-59327000-1354332253_thumb.png

 

If interested, the information to follow is why we have just one last update and there truly will be no other (Unless specific requests are posted). I put together what will hopefully be the best explanation and clearest understanding of what and how the calculated values were established.

 

Please see this: http://www.davidstri...ision_works.htm

 

Particularly, if you scroll 1/3 of the way you'll come to this illustration that highlights the following:

 

Green Video = 59

Red Video = 30

 

It leaves the middle of the road at 44.5

 

Then please see this: https://sites.google...ari7800wiki/rgb

 

Specifically, this point:

 

"More importantly is the Phase difference between color values. Ideally this would be 24 degrees, so each color would be distinct. Unfortunately, most 7800s are calibrated initially so that color 15 and color 1 are the same. It's done this way because the adjustment is visual and is quick and easy to do. Maybe it shouldn't be done like that...we're losing 8 colors from the palette. But there's no quick and easy way to precisely adjust so that color 15 has exactly 336 degrees of phase shift relative to color 1. Thus:

 

Phase = 360 / 14 = 25.714"

 

It leaves the Hue shift (Or phase) at 25.7, as tenth of a degree is the smallest increment available.

 

Visually, you can see this if you load the Atari 7800 Color Demo ROM and record the RGB values under rows 1 and F. These should be identical, while maintaining the most neutral position between Green and Red. Remember, total Green is 59 Red is 30.

 

Middle of the road is 44.5. Our Hue begin point can only be narrowed down to whole numbers though. If we plug in 45 the values are off only by 1 degree in some cases. However, once we plug in 44, RGB values in rows 1 and F match exactly. The means 44 is our neutral.

 

Red and Green from that point are then handled accordingly with increased or decreased begin point values respectively.

 

The last palette (first post in this thread) the values were very close - 45 for the beginning point and 26 for the shift as the neutral. But it is still wrong.

 

Per the documentation on the 7800 and the other last pieces of information obtained, the correct values should be 44 and 25.7. The Hue Begin point is off by 1 degree and the shift is off by 0.3 degree in the last batch of palettes I posted. It may seem small, but still it is significant and accuracy takes precedent.

 

Nevertheless, this is it. Per all available documentation - especially the ones focused on the 7800 – This is the closest to perfect accuracy palettes obtainable. Included are the ‘Standard/Normal’ palettes with no bias, as well as ‘Extra/Overdrive’ palettes with a 20% increase to contrast and also 20% (instead of just 10% from the last round) to saturation.

 

Additionally, this time instead of a range of 1-15, we’ll stop at 1-10 for red and green bias. If there’s a request for the additional red and green bias, they certainly can be produced, just ask.

 

Screenshots to follow hold a similar pattern to last time.

 

I truly hope it is clear to everyone as to why so many NTSC palettes have been generated, and why this is now the very last batch needed…Enjoy them! Again, requests are welcomed for adjustments to Saturation, Contrasts and/or Brightness if desired.

 

post-18-0-55457900-1354332479_thumb.pngpost-18-0-80356600-1354332467_thumb.pngpost-18-0-62367300-1354332468_thumb.png

post-18-0-20928700-1354332502_thumb.pngpost-18-0-80826000-1354332503_thumb.png

&

post-18-0-05188000-1354332524_thumb.pngpost-18-0-08396800-1354332525_thumb.pngpost-18-0-88001900-1354332525_thumb.png

post-18-0-76621900-1354332544_thumb.pngpost-18-0-61139300-1354332545_thumb.png

 

 

post-18-0-08402000-1354332560_thumb.pngpost-18-0-13278400-1354332561_thumb.pngpost-18-0-93725600-1354332561_thumb.png

post-18-0-89878300-1354332588_thumb.pngpost-18-0-67605700-1354332589_thumb.png

&

post-18-0-45645200-1354332624_thumb.pngpost-18-0-20668400-1354332625_thumb.pngpost-18-0-76956800-1354332625_thumb.png

post-18-0-41020100-1354332654_thumb.pngpost-18-0-18074200-1354332655_thumb.png

Share this post


Link to post
Share on other sites

Factoring in the formulated brightness, tint/hue, contrast, and saturation figures provided in the 7800 technical document linked (https://sites.google...ari7800wiki/rgb) in the prior post, we have this last single palette we will call 'EXACT'.

 

The NTSC_A7800_EXACT palette can be derived from the previous batch with the following method:

 

Take NTSC_ACCURATE_R04...

 

Modify Saturation -26.77%

Modify Contrast +5%

 

=NTSC_A7800_EXACT

 

The NTSC color palette attached matches the values provided in the documentation with only hundredths of a degree or percentage variance:

NTSC_A7800_EXACT_PALETTE.zip

 

Here is the respective color chart:

post-18-0-23389700-1354547355_thumb.png

 

As always, any request for brightness, contrast, saturation or red/green push for the NTSC palette is welcomed.

 

Finally, below is most of the NTSC library with the NTSC_A7800_EXACT palette applied.

 

*SPECIAL NOTE & THANKS: It just came to my attention this morning that the technical document reference in the above link was put together by Eric Ball; unless there is another Eric Ball with such a passion and interest in the Atari 7800, a huge *thank you* and gratitude goes to our very own GroovyBee for providing just exact calculations and explanations. It is an enormous assistance in providing the best possible color palette (options) outside of actual NTSC color generation within an emulator.

post-18-0-88739500-1354547389_thumb.png

post-18-0-03538600-1354547391_thumb.png

post-18-0-81569300-1354547391_thumb.png

post-18-0-78222000-1354547392_thumb.png

post-18-0-73396900-1354547393_thumb.png

post-18-0-23886000-1354547394_thumb.png

post-18-0-75406000-1354547394_thumb.png

post-18-0-86835100-1354547395_thumb.png

post-18-0-81486600-1354547396_thumb.png

post-18-0-80640800-1354547397_thumb.png

post-18-0-57148700-1354547428_thumb.png

post-18-0-83378500-1354547429_thumb.png

post-18-0-69977000-1354547430_thumb.png

post-18-0-57208100-1354547431_thumb.png

post-18-0-07624400-1354547432_thumb.png

post-18-0-16202500-1354547433_thumb.png

post-18-0-17481300-1354547434_thumb.png

post-18-0-12006600-1354547435_thumb.png

post-18-0-12931700-1354547436_thumb.png

post-18-0-22889500-1354547437_thumb.png

post-18-0-72373100-1354547453_thumb.png

post-18-0-82106500-1354547454_thumb.png

post-18-0-63189800-1354547455_thumb.png

post-18-0-58097700-1354547456_thumb.png

post-18-0-56676200-1354547457_thumb.png

post-18-0-55725700-1354547458_thumb.png

post-18-0-55096800-1354547459_thumb.png

post-18-0-57000700-1354547460_thumb.png

post-18-0-61371000-1354547461_thumb.png

post-18-0-56022700-1354547462_thumb.png

post-18-0-34636600-1354547480_thumb.png

post-18-0-39455900-1354547481_thumb.png

post-18-0-17711400-1354547482_thumb.png

post-18-0-24965600-1354547483_thumb.png

post-18-0-18544600-1354547484_thumb.png

post-18-0-21106700-1354547485_thumb.png

post-18-0-20547600-1354547486_thumb.png

post-18-0-21509900-1354547487_thumb.png

post-18-0-22031300-1354547488_thumb.png

post-18-0-30086300-1354547489_thumb.png

post-18-0-27189800-1354547508_thumb.png

post-18-0-28474500-1354547509_thumb.png

post-18-0-06527700-1354547510_thumb.png

post-18-0-60907400-1354547510_thumb.png

post-18-0-57582900-1354547511_thumb.png

post-18-0-65472600-1354547512_thumb.png

post-18-0-65253500-1354547513_thumb.png

post-18-0-65454900-1354547514_thumb.png

post-18-0-63209500-1354547515_thumb.png

post-18-0-66829700-1354547516_thumb.png

post-18-0-05514100-1354547536_thumb.png

post-18-0-12865000-1354547537_thumb.png

post-18-0-90139100-1354547537_thumb.png

post-18-0-95941100-1354547538_thumb.png

post-18-0-93262500-1354547539_thumb.png

post-18-0-88899200-1354547540_thumb.png

post-18-0-46033300-1354547541_thumb.png

post-18-0-46399400-1354547542_thumb.png

post-18-0-03104100-1354547543_thumb.png

post-18-0-58318100-1354547543_thumb.png

post-18-0-15012900-1354547558_thumb.png

post-18-0-20900800-1354547559_thumb.png

post-18-0-99788700-1354547559_thumb.png

post-18-0-98042300-1354547560_thumb.png

post-18-0-95964700-1354547561_thumb.png

post-18-0-54708900-1354547562_thumb.png

post-18-0-50534200-1354547563_thumb.png

post-18-0-54253600-1354547564_thumb.png

post-18-0-49261500-1354547565_thumb.png

post-18-0-03108300-1354547566_thumb.png

post-18-0-64442500-1354547588_thumb.png

post-18-0-67596000-1354547589_thumb.png

post-18-0-46803500-1354547590_thumb.png

post-18-0-49551300-1354547591_thumb.png

post-18-0-49465700-1354547592_thumb.png

post-18-0-45668200-1354547593_thumb.png

post-18-0-99440600-1354547593_thumb.png

post-18-0-54816900-1354547594_thumb.png

post-18-0-14510000-1354547595_thumb.png

post-18-0-73686500-1354547595_thumb.png

post-18-0-59820500-1354547615_thumb.png

post-18-0-36427400-1354547616_thumb.png

post-18-0-06339600-1354547617_thumb.png

post-18-0-81674900-1354547617_thumb.png

post-18-0-58708100-1354547618_thumb.png

post-18-0-23698800-1354547619_thumb.png

post-18-0-77759600-1354547619_thumb.png

post-18-0-33150200-1354547620_thumb.png

post-18-0-51356700-1354547630_thumb.png

post-18-0-41777800-1354547631_thumb.png

post-18-0-01954400-1354547632_thumb.png

post-18-0-91851100-1354549036_thumb.png

post-18-0-27149400-1354549038_thumb.png

post-18-0-99501800-1354549038_thumb.png

post-18-0-73927300-1354549039_thumb.png

post-18-0-28534400-1354549040_thumb.png

Edited by Trebor

Share this post


Link to post
Share on other sites

*SPECIAL NOTE & THANKS: It just came to my attention this morning that the technical document reference in the above link was put together by Eric Ball; unless there is another Eric Ball with such a passion and interest in the Atari 7800, a huge *thank you* and gratitude goes to our very own GroovyBee for providing just exact calculations and explanations. It is an enormous assistance in providing the best possible color palette (options) outside of actual NTSC color generation within an emulator.

I suppose you meant to thank our very own EricBall, which is Eric's username here. GroovyBee's name is Mark.

Share this post


Link to post
Share on other sites

I suppose you meant to thank our very own EricBall, which is Eric's username here. GroovyBee's name is Mark.

 

Yikes! Same last name, different first. Sorry, Eric! Of course, the special thanks and gratitude still apply.

The information you provided, Eric, is awesome!

Share this post


Link to post
Share on other sites

Trebor, could you share the mathematical formula behind, say, the NTSC.pal palette? I'd like to make sure that I understood your explanation correctly.

Share this post


Link to post
Share on other sites

Trebor, could you share the mathematical formula behind, say, the NTSC.pal palette? I'd like to make sure that I understood your explanation correctly.

 

The math is best expressed here: https://sites.google...ari7800wiki/rgb with the data plugged into an NTSC color palette generator program.

Edited by Trebor

Share this post


Link to post
Share on other sites

I see. I'm asking because the article you linked says that the phase of the colorburst is 180°, therefore the "starting hue" (ie. hue for colours $10..$1f) should also be 180° (in YUV colourspace and with the "default" tint setting); however analysing your NTSC_A7800_EXACT.pal file it seems like it was generated with the "starting hue" closer to 163°. I don't understand the reason for this discrepancy, or how this value was chosen.

Edited by Kr0tki

Share this post


Link to post
Share on other sites

Interesting...I'm thinking perhaps your measurement may be closer to 165 and the difference between 180 and 165 is 15, which accounts for the 15 degree shift ("red push") for NTSC (?)

 

I believe the NTSC generator program automatically performs this adjust and I think it is found in some other emulators which provide NTSC emulation as well.

 

Granted, it could be argued that this adjust should be implemented after the palette is generated, but we're back into the territory of it being best to have full NTSC generation and controls within the emulator itself.

 

IMHO, the vast majority of NTSC televisions (Traditional CRT) had this red push which could be reasoned is indeed the original intent/design/display these games were meant to be played and viewed on.

 

Either way, I much rather see all emulators adopt NTSC color generation and controls rather than having any sort of fixed palette.

 

Please see three additional palettes below. The difference amoung them from the previous is as follows: Full 17 degree red push, an exact neutral between red and green, and 17 degree green push. I chose 17 degree based upon your 163 measurement from 180, Let me know if any of these seem better for you. I placed their respective color charts below as well along with the prior chart with no adjustment. Hope this helps.

 

NTSC_A7800_EXACT_VARIETY.zip

 

post-18-0-74359700-1354717125_thumb.pngpost-18-0-31753900-1354717134_thumb.pngpost-18-0-00968200-1354717145_thumb.png

 

post-18-0-99333800-1354717334_thumb.png

Edited by Trebor

Share this post


Link to post
Share on other sites
Interesting...I'm thinking perhaps your measurement may be closer to 165 and the difference between 180 and 165 is 15, which accounts for the 15 degree shift ("red push") for NTSC (?)

You tell me. After all, it's you who generated the palettes. Have you used the value 165° conciously, or is it some side effect?

 

I believe the NTSC generator program automatically performs this adjust and I think it is found in some other emulators which provide NTSC emulation as well.

What program do you have in mind? I thought it was your custom algorithm. I would like to look at this program myself.

 

IMHO, the vast majority of NTSC televisions (Traditional CRT) had this red push which could be reasoned is indeed the original intent/design/display these games were meant to be played and viewed on.

Is this prevalence of red push documented somewhere? From all I've found on Google, It looks like it is common for newer (>= 1990s) TV sets.

 

Let me know if any of these seem better for you.

Thanks. It's not the issue of the palettes being better for me - I don't own a 7800 so I can't compare them to the real thing. I am interested in this issue because I've implemented palette generation in Atari800. The red push is not taken into account in Atari800, and in effect the default palette looks much like your NTSC_A7800_EXACT_17GREEN-COLORCHART.PNG screenshot (with the angle of hue $1x being exactly 180° in YUV colourspace). I just want to know why the angle of hue $1x is different in your palettes, that's all.

Edited by Kr0tki

Share this post


Link to post
Share on other sites

There is not an option to push red in the NTSC palette generator software, which is proprietary and I am not at liberty to share it unfortunately. A friend provided it to me after expressing my frustrations over the problems with the a7800 colors under emulators. I'll see if he can provide more details.

 

For another example, Nestopia has the 15 degree push if you check under its Video option, Advance settings. It also contains a "Consumer" or/and "yellow push" which I believe is to better represent Japanese televisions.

 

If the red push looks or is incorrect, there are a slew of other palettes generated that have neutral and green push settings in this thread. That's just the problem with palettes and palette generation, everyone's set, experience, and/or preference can be very different.

 

It's very cool that you have implemented palette generation in Atari800. I'm personally a user of kat5200, which performs NTSC video options as well. Honestly though, I'm more of a C64 fan as the Commodore line of computers is what I grew up with (Vic20 was my first computer) prior to my first PC (A "turbo" XT 4.77/10Mhz). I have issues with the palettes and color generation in WinVice too..But that's another story..lol.

 

If the 17GREEN looks much like your default palette than it is likely the NTSC generator is adding that 15 degree red push. For the record, then, I would presume that should be the default or best available for the 7800 if users find the NTSC_A7800_EXACT to be too red or do not have or use to a red push.

 

Wish I could provide more on why the angle of hue is different. However, as you mentioned if NTSC_A7800_EXACT_17GREEN is showing you the angle of hue $1x being exactly 180 degree in YUV colorspace, than I guess the aforementioned red push is the answer.

Share this post


Link to post
Share on other sites

Let's backtrack as there is some confusion under both what has been done and a mix up with the information provided.

 

To the point...NTSC_A7800_EXACT_NEUT.pal should be the default palette. It is being renamed here and posted as NTSC_A7800_FINAL.pal with its respective color chart.

 

NTSC_A7800_FINAL.zip

 

post-18-0-73612900-1354804021_thumb.png

 

Previous to my #2 post (http://www.atariage....2/#entry2649359) in this thread, the work done was among 4 Atari 7800 machines. 2 with RF output, 2 modified with Composite Out against several displays - 8 total in fact.

 

The best possible palette selection was done by comparing both the actual hardware and the generated emulated palette on the same displays to come to a near to exact match of colors. What finally ended up being the selected point of reference was 45 for the beginning and 26 as the shift. It made the most sense to me since the colors appear to match exact while the reference of beginning points within a typical NTSC display ranged from 30 to 60. 30 favored the red, 60 favored the green. 45 is smack in the middle of it. Phase shift 26 seemed to allow the 45 to reflect proper against all available 7800 games. That is how NTSC.pal was derived in post number 1. Then you had R15 thru G15 to select between 30 (RED) <-> 60 (GREEN). The EX versions were provided for people who wanted more contrast (120%) and saturation from (110%).

 

Now enter post #2 into the equation.

 

Point 1: If you check the link for how television works you come to a portion which breaks down the green and red percentage of Y. What I noticed is red still shows 30, but green only bumps to 59 (Instead of my previously informed 60). That would mean then that middle would not be 45 but 44.5.

 

Point 2: Per Eric's technical document on the 7800 color 1 and 15 should match exact (For most 7800's) and the color phase is 25.7.

 

Results: Sticking with 25.7 as the phase shift, if my hue begin point is 45 there is a slight variance - sometimes as little as 1 or 2 for R or G between the colors of 1 and 15. I found the same for 44, but the difference were for less colors in the set of values. 44.5 is the middle of 30 and 60 and it appeared 44 worked better than 45. Phase shift 25.7 is in place and all the colors appear correct as well on various displays.

 

So where did the NTSC_A7800_EXACT come into play with its setting instead of NTSC_A7800_EXACT_NEUT which is the technically correct choice? Looking back at what I did, it is either one or both of these things: I grabbed the IRE 40 (From Eric's tech doc) and applied it incorrectly as a beginning point or/and I grabbed an incorrect neutral from a previous palette.

 

After doing dozens upon dozens of palettes and some of this work being done on little sleep (Was sick for a nice spell as well), human error is bound to enter the equation...lol.

 

However, with that stated the numbers plugged into NTSC_A7800_FINAL.pal (aka NTSC_A7800_EXACT_NEUT.pal) are as follows:

 

Begin Point = 44

Phase Shift = 25.7

Color/Saturation = 0.22

Contrast = 0.05

Brightness = 0.00

 

Again, the begin point is as close to the middle of red and green (44.5) that the color generator can obtain, while providing Colors 1 and 15 matching as exact as possible (Only a value of 1 difference between some set of values for either R or G); which is key for most Atari 7800 configurations per Eric’s tech doc.

 

The only thing better, and I would again have to ask my friend for this, is the possibility of breaking down the begin point to tenths or at least .5. A begin point of 44.5 may provide an even better match of colors under 1 and 15 while being the exact middle of 30 (red) and 59 (green).

 

I don't believe I answered this directly previously, but it has been broken down somewhat in this and previous explanations - This is how NTSC.pal (From post #1) was formulated:

 

Begin Point = 45

Phase Shift = 26

Color/Saturation = 0.30

Contrast = 0.00

Brightness = 0.00

 

The palettes here are for the 7800 specifically. What makes the 7800 unique (among other things) respecting color is the internal dial knob inside the console that controls color phase shifting/hut/tint values. That is something that I am sure is not factored into forming a palette for the A800.

 

I hope this was more helpful and informative and covers your curiosity. :)

Edited by Trebor

Share this post


Link to post
Share on other sites

*THE* new 62:

NTSC_A7800_FINAL_62_PALETTES.zip

 

End of the road folks. I stated the new 62 in the title of this thread and providing exactly that here. There is no question of the Phase Shift/Hue Shift being 25.7 (Which is the most important factor, IMHO). Also the measured color/saturation values along with contrast are also in place.

 

What has come into question is where to begin the hue. Colorburst 180, a true neutral between green and red percentage of Y, some other factor like...

 

...Personal taste come into the picture which can serve as a tint/hue adjustment to this begin/start point value. So, it is all being provided in this zip.

 

NTSC_A7800_FINAL still has the start point at 44. However, 25 plus green, and 25 plus red increments are included. If someone would like to measure which of these palettes have the colorburst at 180 for $1, feel free to do so and share. I presume it will be somewhere between NTSC_A7800_FINAL_G14 and NTSC_A7800_FINAL_G21, but I'm done with any further measurements and testing of my own.

 

Funny enough, I am sure some would swear their television is providing more of a NTSC_A7800_FINAL_R07 or NTSC_A7800_FINAL_R22 even.

 

In any event, you have the FINAL with the 25 green, and 25 red increments. That provides a total of 61 palettes. For the 62 palette I took the FINAL bumped contrast up another 10% (Total 115%) and doubled saturation (From 22 to 33) and placed the word PLUS at the end of it.

 

Requests will still be fulfilled if posted to this thread, but palettes of my own initiative are done.

 

Thanks for reading, and as always hope you enjoy and find these palettes useful.

Share this post


Link to post
Share on other sites

Did I mention I am 'borderline' OCD? Sometimes it is a good thing.

 

Starting with Eric Ball's excellent documentation what a typical NTSC A7800 outputs for

video (https://sites.google...ari7800wiki/rgb):

 

Contrast = 0.0526

Brightness = 0.0

Color = 0.2162

Phase = 25.714

Colorburst/Hue/Tint = 180 degress

 

Following now is a raw and exact palette of what comes out of an NTSC A7800 with

variances of a few hundredths to thousandths.

 

The attached NTSC_A7800_RAW palette provides the following:

 

Contrast = 0.05

Brightness = 0.00

Color = 0.22

Phase = 25.7

Begin Hue/Tint $18 = 179.927063726 = ~179.93 degrees

 

NTSC_A7800_RAW_PALETTES.zip

 

If you are utilizing an emulator without NTSC/video controls and filtering the palette

may appear pretty rough and maybe even ugly for some games and you have no way to

adjust it. However, all values, including tint/hue, are accurate. For a properly

calibrated NTSC display you will see exactly what a NTSC A7800 is intended to show.

 

That being stated, additionally attached is a 'softer' version (NTSC_A7800_RAW_ADJ) with the following

adjustments that may appear better for you if the RAW output is too intense:

 

Contrast -11%

Brightness +06%

Color -50%

 

Color Charts for NTSC_A7800_RAW & NTSC_A7800_RAW_ADJ:

 

post-18-0-94942300-1355234201_thumb.pngpost-18-0-86486000-1355234202_thumb.png

 

A tremendous thank you and expression of great gratitude to Kr0tki. His input

including direction and help with calculating the hue begin point is enormous. It

assisted in finally being able to provide what the NTSC A7800 outputs raw without any

bias or subjective influence. He went the extra mile in answering additional questions

and provided guidance via PM. Thank you again Kr0tki. My original intent was to

obtain exactly what has been accomplished here.

 

Here are some comparison shots, NTSC_A7800_RAW on left and NTSC_A7800_RAW_ADJ on right:

 

post-18-0-13661900-1355234224_thumb.pngpost-18-0-20840600-1355234225_thumb.png

post-18-0-08079100-1355234226_thumb.pngpost-18-0-13757800-1355234227_thumb.png

post-18-0-18465700-1355234228_thumb.pngpost-18-0-24464600-1355234229_thumb.png

post-18-0-70302500-1355234234_thumb.pngpost-18-0-71618700-1355234235_thumb.png

post-18-0-68523600-1355234236_thumb.pngpost-18-0-52551000-1355234237_thumb.png

post-18-0-26014800-1355234304_thumb.pngpost-18-0-27436200-1355234307_thumb.png

post-18-0-41223300-1355234309_thumb.pngpost-18-0-12338800-1355234312_thumb.png

post-18-0-17898800-1355234313_thumb.pngpost-18-0-42230000-1355234314_thumb.png

post-18-0-76760600-1355234315_thumb.pngpost-18-0-80944800-1355234316_thumb.png

post-18-0-85684700-1355234318_thumb.pngpost-18-0-94196500-1355234320_thumb.png

 

Enjoy everyone, and as always requests are welcomed.

 

Regards,

Robert Tuccitto

[Trebor]

 

P.S. For those interested in the math and want to double check here it is - And again,

thank you to Kr0tki for helping me know and understand the formulas involved.

 

$18:

 

R 143

G 165

B 29

 

U=-0.14713*(R/255)-0.28886*(G/255)+0.436*(B/255)

V=0.615*(R/255)-0.51499*(G/255)-0.10001*(B/255)

 

U=-0.14713*(143/255)-0.28886*(165/255)+0.436*(29/255)

U=-0.14713*(0.5607843137254902)-.28886*(0.6470588235294118)+0.436*(0.1137254901960784)

U=-0.0825081960784314-0.1869094117647059+0.0495843137254902

U=-0.2198332941176471

 

V=0.615*(143/255)-0.51499*(165/255)-0.10001*(29/255)

V=0.615*(0.5607843137254902)-0.51499*(0.6470588235294118)-0.10001*(0.1137254901960784)

V=0.3448823529411765-0.3332288235294118-0.0113736862745098

V=0.0002798431372549

 

angle = atan(V/U) if U>= 0 *False*

angle = 180° + atan(V/U) if U < 0 *True*

 

angle = 180° + atan(0.0002798431372549/-0.2198332941176471)

angle = 180° + atan((0-0.0012729788650901))

angle = 180° + -0.00127297817748055

 

-0.00127297817748055 radians = -0.072936274 degrees

 

angle = 180° + -0.072936274

angle = 179.927063726

angle = ~179.93

 

$18 is showing ~179.93 degrees.

 

It is less than 0.07 or 7/100 of one degree away from an exact 180 degree hue/colorburst.

Edited by Trebor

Share this post


Link to post
Share on other sites

No more updated palette(s), that last one is truly "it".

 

Only offering more of an explanation here in understanding why it is the case. The Colorburst/Tint Value was extracted from $18 and shown above. That is almost smack in the middle of the palette begin point. So, what if we extracted the value one column over favoring just slightly the 'lighter' side with $17 instead of the 'darker' side with $18 (The exact middle would fall between those two values). Here is how the math works out for $17:

 

$17 under NTSC_A7800_RAW:

 

R 125

G 147

B 11

 

U=-0.14713*(R/255)-0.28886*(G/255)+0.436*(B/255)

V=0.615*(R/255)-0.51499*(G/255)-0.10001*(B/255)

 

U=-0.14713*(125/255)-0.28886*(147/255)+0.436*(11/255)

U=-0.14713*(0.4901960784313725)-0.28886*(0.5764705882352941)+0.436*(0.0431372549019608)

U=-0.0721225490196078-0.1665192941176471+0.0188078431372549

U=-0.219834

 

V=0.615*(R/255)-0.51499*(G/255)-0.10001*(B/255)

V=0.615*(125/255)-0.51499*(147/255)-0.10001*(11/255)

V=0.615*(0.4901960784313725)-0.51499*(0.5764705882352941)-0.10001*(0.0431372549019608)

V=0.3014705882352941-0.2968765882352941-0.0043141568627451

V=0.0002798431372549

 

angle = atan(V/U) if U>= 0 *False*

angle = 180° + atan(V/U) if U < 0 *True*

 

angle = 180° + atan(0.0002798431372549/-0.219834)

angle = 180° + atan((0-0.00127297477758172))

 

angle = 180° + -0.00127297408997879

 

-0.00127297408997879 radians = -0.07293604 degrees

 

angle = 180° + -0.07293604

 

angle = 179.92706396°

 

 

In summary:

NTSC_A7800_RAW.pal

 

$17 = 179.92706396°

$18 = 179.927063726°

 

Both are showing less than 7/100 of a degree - 0.07 - away from 180. No other Hue begin point comes as close. For the record too, if you have downloaded the NTSC_A7800_EXACT palettes or NTSC_A7800_FINAL palettes the following is true:

 

NTSC_A7800_RAW.pal = NTSC_A7800_EXACT_G17.pal = NTSC_A7800_FINAL_G13.pal

 

Indeed, the 7800 palette seems to favor green as raw output (IMHO); relatively strongly, from what I would consider a neutral begin point. But the math does not lie, and personal/subjective preferences aside, the colors from the above palettes is what comes from the raw video output of an NTSC A7800.

 

Interestingly enough, but not surprising, it goes back to those composite mod discussions too, where there were some claims that Commando looked too green and it took a very strong hue/tint adjustment to the television to bring the soil to a brownish/red-brown color. The mod (http://www.atariage....25#entry2542959 and Yurkie) is correct*, and yes, the green output is very strong on a A7800 for some games (Whether we like it or not...lol). Thankfully, we can adjust tint (if desired).

 

There is no need to provide tint/hue shift "RAW" palettes unless you are looking for something specific incorporating a brightness, contrast, and/or saturation along with it. As referenced above, the "EXACT" and "FINAL" palettes already have those in place.

 

*Commando with the technical/mathematical correct color palette under ProSystem:

post-18-0-93133000-1355335275_thumb.png

Edited by Trebor

Share this post


Link to post
Share on other sites

Some may be interested in wanting this so I have put together a proper "Studio Swing" palette based on the RAW data. For the curious "Full Swing" sets the lowest black level to 0 and highest White level to 255. "Studio Swing" brings the reference to 16 and 235. 16 is not an option though for the palette creation. The closest we can come is either 15 or 18. So, 15 is being utilized.

 

Using an emulator like ProSystem without video tuning or filtering, it is quite possibly the most aesthetically pleasing palette for the games. Many colors 'pop' in a way that I cannot precisely describe while providing a very nice contrast and overall brightness to the display.

 

I'm posting a color chart but sparing any further screenshots, the loading on this thread is bad enough as it is...lol. If interested, and want something that is closer to TV accurate while maintaining a close accuracy to the RAW output of the 7800 - this may be your best bet for the ProSystem emulator.

 

NTSC_A7800_RAW is the most accurate but NTSC_A7800_STUDIO_SWING may be the best balance between accuracy and eye-pleasing.

 

Last note, the difference between this and the previously posted RAW adjusted one is the other set black to 15 as well, but kept white at 255. NTSC_A7800_RAW_ADJ is sort of a hybrid "full swing" and "studio swing" palette.

 

NTSC_A7800_RAW_STUDIO_SWING.zip

post-18-0-18064900-1355368684_thumb.png

Edited by Trebor

Share this post


Link to post
Share on other sites

I have just compared the EXACT palette to the RAW STUDIO SWING and for me the EXACT palette is better on the Pro System..the colors are brighter and the lines are clean and crisp...I never knew that the 7800 could look so good...too bad that one cannot use these palettes on real hardware.

Edited by NIKON

Share this post


Link to post
Share on other sites

I have just compared the EXACT palette to the RAW STUDIO SWING and for me the EXACT palette is better on the Pro System..the colors are brighter and the lines are clean and crisp...I never knew that the 7800 could look so good...too bad that one cannot use these palettes on real hardware.

 

NTSC_A7800_EXACT.pal contains the proper phase shift, brightness, contrast, and saturation of the raw video output of a 7800, but has a strong "red" push. Similar results could be obtained with real hardware, if you have a HDTV that is properly NTSC calibrated and afterward the hue/tint is strongly slanted towards "red". The HDTV would also need to have a very good upconversion of lower resolution signals and ideally your A7800 should have a good video mod, not just RF. Or you can purchase a *good* video converter box that would automatically provide a super-sharp, crisp video from the A7800 to the HDTV.

 

On a CRT, the intended features like color bleeding and artifacting among other things, are present, but it could look somewhat in the ballpark after being properly calibrated and then strong slanted 'red'.

 

As mentioned earlier, the "EXACT" palette that is true to the raw video output of an NTSC A7800 is NTSC_A7800_EXACT_G17.pal. Not necessarily what it may look like on your (or someone else's) television, but what the system actually puts out pre-display adjustments and personal settings applied to it.

 

IMHO, the sharpness, 'blockiness' of the ProSystem emulated video is one of its biggest problems. NTSC filtering would really help the video output.

 

Regardless, I've posted all these palettes in hopes to cover all (Or at least many of) the bases. My own personal goal was to achieve exactly what the NTSC A7800 output as raw video and we have that (NTSC_A7800_RAW). Everything else is similar to making display adjustments after the fact; which is great because it allows most, if not all to have similar adjustments they would make to their own actual displays with the original hardware.

Edited by Trebor

Share this post


Link to post
Share on other sites

Too much green, huh? Most NTSC users are probably saying that (myself included) when looking at what the NTSC_A7800_RAW.pal file shows as the accurate color palette for an NTSC A7800.

 

So, what is wrong with it? Some of you may be swearing up and down and looking at your 7800 via CRT Traditional TV and thinking, it is wrong. The math is off or something else.

 

The math isn't wrong, but something else is...What we have created is an RGB accurate palette for the RAW video coming out of an NTSC Atari 7800. The NTSC_A7800_RAW file provides exactly that BUT that is not the color palette the majority of us ever saw. If we played our Atari 7800 on digital televisions via DVI or HDMI, that is what we would have likely seen. However, we connected our 7800's via RF to analog televisions. And what happened to that raw video palette is a conversion to YUV. The NTSC Atari 7800 is meant to be seen via a YIQ/YUV color palette and not an RGB one.

 

Do we have an emulator that properly supports YUV if we feed it the raw video values? Yes we do...Hello, MESS...

 

Three sets of screenshots here folks. Left side is that NTSC_A7800_RAW palette displayed in its RGB Raw mode. Middle is that NTSC_A7800_RAW RGB palette converted to YIQ/YUV. And on the right is the YIQ/YUV display with all the bells and whistles with some custom adjustments. All three sets of captures are from MESS using the same NTSC_A7800_RAW.pal as the raw values:

 

post-18-0-22226900-1355690264_thumb.pngpost-18-0-37996800-1355690267_thumb.pngpost-18-0-84518600-1355690273_thumb.png

post-18-0-88656100-1355690274_thumb.pngpost-18-0-44327400-1355690279_thumb.pngpost-18-0-39139100-1355690286_thumb.png

post-18-0-05938500-1355690312_thumb.pngpost-18-0-32725100-1355690315_thumb.pngpost-18-0-66218000-1355690321_thumb.png

post-18-0-06250200-1355690335_thumb.pngpost-18-0-22860900-1355690337_thumb.pngpost-18-0-49997800-1355690339_thumb.png

 

So, what does that mean for emulators like ProSystem that do not provide NTSC display options - especially YIQ/YUV output? In general, as you can clearly see by the screen captures, the palette overall is more RED, less GREEN. This goes back to what was previously mentioned before. There is indeed a RED push.

 

If you’re grabbing raw video and displaying an Atari 7800 via RGB, then you don’t see it. However, seeing that raw video converted to YIQ/YUV (The palette seen on traditional CRT televisions) it is more than clearly abundant. Grab one of the EXACT/FINAL palettes posted before (Also as mentioned earlier, the phase shift of 25.7 is the most important factor), that are closer to the neutral position designated or favoring more RED, and you are in the ballpark of a YIQ/YUV color palette - The intended palette of an NTSC A7800.

Share this post


Link to post
Share on other sites

Trebor: I've been playing with my 7800 quite a bit over the weekend while building some carts. Unfortunately, where I'm living now only has one of those crappy new LCD TVs. I don't know if I'll ever be willing to switch over to these things from a CRT; I just hate them. Anyway, I was noticing how accurate your new palettes are. Despite the picture looking absolutely horrid on this TV, the colors are spot on your new palettes. I've had to adjust the tint all the way to the red to get it to look like it does on my CRT though. This just goes to support your last post about YUV and RED push.

  • Like 1

Share this post


Link to post
Share on other sites

For 7800 game developers looking for a correct(ed) color chart - Here it is - The NTSC_A7800_RAW palette with YIQ/YUV enabled:

 

post-18-0-74878500-1355707829_thumb.png

 

You will notice there are quite a few different RGB values within each color block instead of the usual one RGB value per block.

Share this post


Link to post
Share on other sites

Atari 7800 Tower Toppler never looked better emulated.

 

Left side is NTSC_A7800_RAW RGB palette as can be seen in MESS (With YIQ/YUV emulation disabled) and unfortunately the only option for ProSystem.

Right side is NTSC_A7800_RAW RGB palette with YIQ/YUV enabled for proper NTSC display emulation:

 

post-18-0-49652200-1355798066_thumb.pngpost-18-0-46281000-1355798072_thumb.png

post-18-0-28531600-1355798073_thumb.pngpost-18-0-46557900-1355798076_thumb.png

post-18-0-38181800-1355798077_thumb.pngpost-18-0-45168200-1355798082_thumb.png

Share this post


Link to post
Share on other sites

What MESS are you using, where do you get it, and how do you set the video options? I have MESS 0.147b (with MESSui) and I don't see any video options related to this.

Share this post


Link to post
Share on other sites

MESS version I am using is actually 0.143u3 custom with the correct palette fix NTSC_A7800_RAW in place. The latest relese 0.143u4 unfortunately does not contain this latest update, but 0.143u5 will.

 

You can actually see the change to the source here: http://mame.dorando.at/svn/?rev=19608

 

However, in the meantime, you can grab the latets SVN version as the bleeding-edge available update here: http://bobz38.free.f...build/index.php

 

Unfortunately, it has not been updated just yet. Either when that is updated or when the official 0.143u5 is out you need to enable both HLSL effects and YIQ/YUV emulation. You do that by changing the 0 to 1 in the mess.ini file (Just open in in Notepad).

 

This is the section of the mess.ini file you want to focus on:

 

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable			 1
hlslpath				 hlsl
hlsl_ini_read			 1
hlsl_ini_write		 1
hlslini				 %g
hlsl_prescale_x		 0
hlsl_prescale_y		 0
hlsl_preset			 -1
hlsl_write			
hlsl_snap_width		 2048
hlsl_snap_height		 1536
shadow_mask_alpha		 0.0
shadow_mask_texture	 aperture.png
shadow_mask_x_count	 320
shadow_mask_y_count	 240
shadow_mask_usize		 0.09375
shadow_mask_vsize		 0.109375
curvature				 0.0
pincushion			 0.0
scanline_alpha		 0.0
scanline_size			 1.0
scanline_height		 0.7
scanline_bright_scale	 1.0
scanline_bright_offset 0.0
scanline_jitter		 0.0
defocus				 0.0,0.0
converge_x			 0.0,0.0,0.0
converge_y			 0.0,0.0,0.0
radial_converge_x		 0.0,0.0,0.0
radial_converge_y		 0.0,0.0,0.0
red_ratio				 1.0,0.0,0.0
grn_ratio				 0.0,1.0,0.0
blu_ratio				 0.0,0.0,1.0
saturation			 1.0
offset				 0.0,0.0,0.0
scale					 1.0,1.0,1.0
power					 1.0,1.0,1.0
floor					 0.0,0.0,0.0
phosphor_life			 0.0,0.0,0.0
yiq_enable			 1
yiq_cc				 3.59754545
yiq_a					 0.5
yiq_b					 0.5
yiq_o					 0.0
yiq_p					 1.0
yiq_n					 1.0
yiq_y					 6.0
yiq_i					 1.2
yiq_q					 0.6
yiq_scan_time			 52.6
yiq_phase_count		 2

 

Notice both the lines:

hlsl_enable 1

&

yiq_enable 1

 

Also make sure the other values under yiq match up, Especially the accurate 'yiq_cc 3.59754545'. That is the correct color carrier frequency for NTSC signal processing which takes those RAW RGB accurate values (Which as noted was updated relatively recently), coming from the 7800 and turns them into the colors/display we would see on our traditional CRT televisions.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...