Dogway's grading shader (slang)

Ah ok, I see it now.

Speaking on this, my next question has to do with P22. So after some research I see P22 is the US standard that consumer crts and arcade monitors used, my question has to do with Phosphor settings -1 (P22-80s) and 1 (P22-90s). What exactly does the “80s” and “90s” stand for? At first I thought it meant it represented a Phosphors used on a “1980’s” and “1990s” tv but something tells me that’s not what that means lol.

Also what would be a recommended combo to use to get a standard “warm” and “cool” image using srgb? For example I use Phosphor setting at 0 and white point at 7500k for a standard warm look (I think this white point looks the most balanced between 6500k and 8500k). For cool I was planning to use your default 8500k or maybe around 8800k.

I realized the more I played with the new settings that the difference is too great, so yes I do have to go forward into this without trying to compare this new grade to the old one. I use to use the digital settings on the old grade, now I use nothing but the new analog settings on new grade and man does it make things look sexy. Combined with that new base mask setting that guest.r just added into his shader I’ve been having fun in the last few days in the lab tweaking.

2 Likes

Well, there might be standards but back then it was more, not unlike today, each manufacturer improving the colorimetry by phosphor chemical improvements, first with Conrac Corp., then Sony, etc.

P22 used some known chemicals which were refined later with “tinted” variations to deliver more pure colors, these were around the 90s and so that’s where the naming came from. For some reason Japanese phosphors I think didn’t evolve much so P22-80s and P22-90s is for Europe and USA. There, as happens also today, displays weren’t never sold on D65 regardless of the impering standard. Real temperatures were more along ~7100K for USA and ~6900K for Europe.

Check here for the chemicals of each and my sources.

Also similar to how today music production is tested on AirPods, developers back then used consumer CRTs along their typical PC monitor to check the output, so for the Japanese case where temperature was so high that reflects on the colors of their games as well. You don’t need to be super accurate with the kelvins though, they could deviate ±500K, so 8800K is fine for NTSC-J, 7100K or 7500K is fine also for NTSC-U or PAL.

I can’t recommend you a warm or cool temperature because it depends on the embedded temperature of the content. D65 is considered neutral and D75 cool, but if the game was developed with a D75 CRT then D65 would look warm and D75 neutral.

As I found out though is that PVMs and BVMs mostly used EBU tech gamut phosphors (so PAL phosphors). So if you are shooting for that look go ahead. On temperature I’m not sure if PVMs were calibrated to D65.

Yes, also excited to test that “black” phosphors. It throws another myth out of the window with CRTs having pitch blacks.

4 Likes

That’s interesting information right there. I like probably many others always assumed crt accurate temperature was 6500k. I probably won’t aim for 100 percent accuracy with the temperatures but something close enough will do. I wish I could find a temperature list like the one from this post here but for the US and Pal temperatures, that would give a basic outline on crt temperatures to kind of go off.

Yeah I’ve still be experimenting, new grade really is a different kind of beast, old tricks I used in previous presets don’t translate the same on new grade so I’m taking my time just playing around finding a new but similar look. I see that when shooting for a “cool” image turning up the crt beam blue setting helps a bit. I’m still not getting the whites to look as “blueish” as I would like, maybe I have to dial down the other two crt beams or something, I’ll experiment again later.

Yeah I’m just going for the consumer crt look, not really a fan of the pvm/bvm look even though my aperture grille presets look close to a pvm look.

3 Likes

Yes, for some reason I also got fond of that electric blue look, you can use CRT beam, but as a result whites would look dimmer, you can compensate that by increasing your display brightness. Alternatively you can use the White Tint Blue, that will keep the brightness.

These are some settings that I tried:

g_U_MUL = "0.900000"  // Adding some desaturation helps...
g_V_MUL = "0.950000"  // ...to mimic chroma signal loss
g_CRT_br = "0.700000"  // lowering Beam red to between 0.7 and 0.9

And can also include white point to increase it a bit more. It depends on your target look.

You can search for CRT measurements around the net based on western units and make an image of what was the most common. D65 is a standard… but on paper. Go to a store and watch the displays, they don’t get any lower than 7000K. There lies the reason display calibration is now a familiar topic for the techy people since 5-7 years ago, and why now some brands include a “Cinema” mode that turns the TV to D65.

4 Likes

That was my issue right there. Raising that blue beam setting was making the whites appear dull and I couldn’t figure out how to keep the brightness. I’ll be trying out your suggestions later when I get home and report back on my findings.

Yeah I’ll search around again later. That Japanese list is perfect and to the point, I want something just like that, I’m sure it’s out there somewhere.

On another note I’m glad to finally talk to you about this shader, I’ve been using grade for months now but never got a chance to talk to the creator of it. Not only is this a good conversation I’m also being educated more on this new grade which will help me in tweaking my presets and other users playing around with new grade as well so thank you for guiding me along.

4 Likes

Thank you @Dogway, those “crt beam blue” and “white-blue tint” settings definitely helped in giving the image a cool look. I also put the "crt beam read down to .80 but I might go back and put it down to 0.70. or 0.75, at 0.80 skin tones appear a bit reddish even though it still looks nice in its own way I guess. I mixed and matched some of the settings you suggested up above plus some others and whipped up my first Slot Mask “cool” presets.

I’ll post up a media fire link in my thread to try out the samples.

4 Likes

Thanks for the feedback it made me review my old preset (Darkstalkers is one of my fav games lol)

So I’m using an ancient crt-guest-dr-venom shader, here I post the one with my old grade, and then with the new one trying to mimic the feel of the older one. I do like the look of a battered monitor that is being played 24/7 every day.

Old

New

Here the main settings, not displayed are as defaults. Since red is lowered in 2 places, CRT Beam Red and White Red Tint, I had to compensate brightness loss with brightness 0.2, it’s a “gain” operator, but don’t worry, it won’t clip because my implementation is a rolloff gain. By the way I think I’ll reduce saturation a tiny bit.

Next stop, port to new crt-guest hehe

g_CRT_l = "2.500000"
g_signal_type = "0.000000"
g_crtgamut = "1.000000"
g_space_out = "-1.000000"
g_GCompress = "1.000000"
g_Dark_to_Dim = "1.000000"
g_CRT_br = "0.800000"
g_CRT_bg = "1.000000"
g_CRT_bb = "1.000000"
g_lum = "0.200000"
wp_temperature = "10004.000000"
wlr = "0.850000"
wlg = "1.000000"
wlb = "1.000000"
rg = "0.000000"
rb = "0.000000"
gr = "0.000000"
gb = "0.000000"
br = "0.000000"
bg = "0.055000"
5 Likes

I’m replying to your post from my thread over here at your thread just to keep the grade discussion going.

Man you don’t know how grateful I am to here the creator of grade himself give my preset such kind words, you just put a battery in my back to continue going to make my next update pack better than all my previous ones, thank you man.

Actually I didn’t see your comments on P22J but from what I’m reading here 10000K is high up there, I believe Japan always used higher white point temps in their displays though so that’s understandable. I will give that white point setting a try when I eventually get to tweaking the P22J phosphor setting to make my Japanese white point presets.

In my previous packs I lazily just used the same white point settings across the board for P22, P22J and PAL depending on the cool/warm temperature I was going for, this time around I want to try matching a little accurately closer the correct white point settings for each region/temperatures.

You’re welcome man, I’m glad I was able to wake you out of your slumber and get you back into tweaking, it’s tweaking season and I’m finally back in the lab myself after having not posted anything new since May.

Nice, I see the difference right away with yournew pic, colors pop out at you more. Man your new grade is the future, when tweaked right it just makes games look all kinds of sexy. In fact there have been been 3 game changers this year alone when it comes to shaders, guest.r adding in magic glow, you revamping grade and now that new base mask setting guest.r just added, can’t forget the mask zoom setting as well.

Nice, I’ll give your preset a spin later tonight. I’m glad you brought up the crt beam red and white red tint, I lowered crt beam red in my “cool” P22 preset because at default skin tones were looking really reddish and saturated. I plan on putting together a “warm” version next and I want colors to look natural with a white point temperature set to 7100K, do you recommend I also lower crt beam red when going for the “warm” look as well?

1 Like

As a local saying goes (or maybe I made it up), “not all gardens are roses”, some guys at Dolphin are not as enthusiastic with accurate color renditions.

I still have a few more things to do in other fronts but from time to time I will be catching up and update my presets, specially the crt-guest. Do you happen to know the difference between the “advanced” and the “hd” presets? I know that “advanced” is the old crt-guest-dr-venom, but for future proof (my TV -but not my monitor- is still 1080p) I’m configuring everything for 4K, so “advanced” or “hd”?

About phosphors I have to tell you that for example at D65 you will notice that P22J is warmer than other phosphors, that tells that that P22J is designed for cooler temps, there’s some leeway but I would never use P22J for lower than 8000K or PAL for higher than 7500K

I think at D65 everything would look already warm enough. Not my taste but PVM accurate? You can lower CRT Beam Red for phosphor and Beam power decay emulation though, I would just try to get the skin tones more natural within the warm look.

2 Likes

I always forget the technical differences between the two, I chose based off of eyeballing, the hd version just looked smoother to me going back and forth between the two so I went with that one plus I like that the interlaced mode is defaulted to setting 4 which is the setting I like the most. I’m sure @guest.r can give you a more accurate answer on the two though but they’re both indeed the latest versions of the guest.r shader. Old guest shader had been discontinued for a few months now.

Thanks for the insight, I will be using all the information you give me when I make my P22J presets. Right now I’m still tweaking my cool variant of the P22U version, haven’t even attempted a warm variant cause I just been having fun with the cool preset. I need to literally stop playing games and get to work if I want to finish my next update lol

1 Like

The ‘HD’ version is better equipped to handle greater input resolutions, including pre-scalers. ‘HD’ and ‘standard’ versions are quite similar feature-wise.

If i go into details, the ‘HD’ version is missing TATE mode, rolling scanlines, raster bloom and the smart filtering feature. If you don’t rely on these, you might use the ‘HD’ version for any content. All versions are suitable for any reasonable output resolutions, but sometimes, if performance is an issue, ‘fast’ version is better etc.

4 Likes

Ok so I’m taking my first crack at a warm variant of P22-90s. First thing I did was default both the crt beam blue and white blue tint settings then lowered the white point to 7500k, I was going to use 7100k but 75 looks better on the eyes to me, maybe I’ll try 71 again later.

Here’s another one but with the saturation lowered to -0.06:

I think lowered saturation makes it look a bit easier on the eyes when dealing with warmer temps.

Curious to what you think or if you have any suggestions. I might try playing with one of the crt beam settings again to see what that produces.

1 Like

After finding out the MasterSystem and MegaDrive had their own color palettes and that they were not implemented in Genesis Plus GX I worked my way to add them into Grade.

First I thought the MD palette required a custom LUT but after some tests it seems to be a simple sigmoidal contrast. BlastEm already has this implemented so I run a sigmoidal fit into the samples and it matches 99%. Now there’s an option in Grade to enable it for MegaDrive/Genesis games that are not run with the BlastEm core, at least until ekeeke implements it into GPGX (he approved the palette).

So now that we have 3 custom Sega related fixes they got their own parameter section.

Another thing I noticed, and this is overall for all games is that reds are too vibrant. This must be a compensation for decaying red phosphors, so you can either lower CRT Beam Red or asymmetrical UV saturation reduction with U_MUL = 0.9 and V_MUL = 0.8, this gets skin tones right.

Finally I also updated to official repo the zfast_crt_(no)geo glsl shaders with the scanline+mask gamma compensation. It might take some weeks until I resume work on zfast_crt_geo_svideo.glsl to further optimize it to 60fps for Chromecast but I didn’t want to hold back the other shaders for any longer.

5 Likes

This right here might be the last thing I need to tweak. I’m currently facing this issue at the moment trying to aim for more natural skin tones/colors. My first attempt on my latest sample pack was lowering the “scanline saturation/mask fall off” setting in the guest shader. It seemed to do the trick for the most part but something still feels “off” somehow, can’t explain it.

I made both “warm” and “cool” presets and then added in “normal” ones using a white point of 7200k, warm with 6500k and cool with the default 8500k with all of them using the p22-90s phosphor setting. With cool you helped me with a few posts above, with warm I raised crt beam red and lowered crt beam blue trying to aim for a “cinema mode” look.

I’ll definetly try those settings in grade later to see what that produces, thank you.

1 Like

I thought that one of the characteristics of NTSC-J, that sky blue becomes light blue on SMB, was due to the “RF” terminal.

I think the old Japanese analog broadcasts were broadcast at 9300K, and the RF input was decoded to be at 9300K. And what is actually shown on the screen varies from CRT to CRT, such as 8000K.

The reason I came up with this is because applying similar shaders to SFC(SNES) and PS1 would make them too blue.

I thought that such NTSC-J color temperatures would be limited to consoles with RF connections. I thought that the Atari 2800, Atari Jaguar, Arcadia, Mattel Intellivision, which were made overseas and sold in Japan and Japanese consoles such as Super Cassette Vision, SG-1000, Sega Mark III, PC Engine (White), etc., , would fall under that category. It probably depends on the Emulator, but you can tell if the 9300K color palette is used or not by the white text. If the shaders are applied and they turn blue, then I think the emulator is already outputting 9300K. If the white text does not change, then the emulator is recommended to use shaders.

I think it’s probably hard to understand because the English is messed up, but I came up with it and wrote it in a hurry. Also, I think this story (in the case of 9300K) is one of the cultures that can only be applied in Japan, so I think it’s a minor thing.

Also, SFC looked bluer on the actual device when connected via RF, and not blue when connected via composite.

The color reproduction of SG-1000 and Sega Mark III games looks dull with Mega Drive, probably because it is a composite connection instead of RF. (I don’t know this overseas, but it’s a famous story in Japan)

Also, my current TV has a 9300K input for Japan digital broadcasts, but all external inputs, including game mode, seem to be at 6500K. Also, the cinema mode and game mode are set to the same 6500K.

4 Likes

It depends. Some people want to find a reminiscence look of their childhood so they aim for ~7000-7500K if in the US or Europe as that’s around the temp of the CRTs back then. But some others like me want to approximate to original artist intention, so if the developer was Japanese and they used “D93” monitors and CRTs then that’s it for me.

I don’t know if RF (and composite) has anything to do with colors, specially solid color patches like the sky, if I’m not wrong it’s only modulation and demodulation with prior YUV conversion (YIQ for consoles of the 70s maybe). But I might be wrong… Would be interested on it from a technical stand point, maybe we can test DariusG shader when he finishes it, I would only change YIQ for YUV since I think the Famicom used that color model, would need to double check though.

I don’t think the emulators are doing anything special. They take the colors embedded into the game and present them as is, they generally ignore palettes, temperatures, etc. So you have to guess through what “sunglasses” the developers designed their game. For me raising the temperature is an obvious choice and I can’t really go back to D65. Whether 8500K is too much or too low well, that’s another story, but >=7500K can’t go wrong, looks way more neutral than D65, specially if you give your eyes a few minutes to adapt and your surround environment is not warm (that is cool or plain dark).

Anyway thanks for your input, I’m kinda done since my last updates but I’m curious to test if/when we get proper composite and RF emulation. IIRC they only should difference in the demodulation stage composite getting extra reconstitution passes.

4 Likes

So from this information it’s safe to say that the standard typical white point on a Japanese crt is 9300k and the warm (cinema mode) white point is 6500k. My question then is what is the the typical white point for “cool” mode for a Japanese crt, 11500k perhaps?

1 Like

In the 1980s and 1990s, most of the lighting in Japan was fluorescent lamps that were bluer than white. Such as a retro office room. The lighting alone was around 8000K, so TVs at that time were around 14000K in cool colors. The 8000K fluorescent lamp is now obsolete. Health problem that is not good for my eyes. The TV’s 14000K also disappeared before I knew it.

I think this is still used in Japan subways and tunnels.

It’s bluer than the 12000K in Dynamic or Demo mode on current LCD TVs, and it’s not easy on the eyes, but somehow old people around me who don’t care about images seem to prefer a higher color temperature…

1 Like

Okay, I understand. I use 9300K only with FC/NES or RF connections, otherwise 7500-8000K looks good. However, my TV is displaying at 6500K, so even at 9300K or 8000K, the color temperature drops considerably. lol

1 Like

Wow that’s even higher than I thought it was.

As a quick test I wanted to test the grade shader using the “ntsc-j” phosphor setting with a white point set to 12000k (it doesn’t go any higher than that so can’t do exactly 14000k) and this is my result:

I’m not sure if that’s more or less how Sonic 2 would appear on a Japanese crt using that white point but I hope it’s close. Or maybe it needs to appear even bluer than that.

1 Like