The 2 Noise options from near the end of each Guest’s preset is good but this guy on link above has delivered the effect to a next level. It look there so much closer to what I get with real 35 years old NES through RF and flat screen.
Looking back, patchy-ntsc was a mess, and it was far more experimental than I made it look. Sure, it got the processing steps right, with features that still haven’t been implemented by anyone else, but the settings are so far off that it’s actually embarrassing and dishonest. (Not to mention the performance and code quality…) I ditched the whole thing at the end of that year, and it took about 5 or 6 months before I finally made a fixed, faster alternative from scratch.
That said, that means it’s been about a year since this kind of effort has been made to make this kind of RF noise effect in a shader.
HD version would need extra shader passes and code adjustments, but it’s not a good idea because it would make existing presets stop working.
I want the PAL version to be lighter, more performant. NTSC version “needs” other features like rainbowing and the edge colors hack, therefore it’s all in an extra pass the PAL version misses. But FSharpen does an excellent job, it’s newer, preserving some features adaptive sharpen doesn’t.
It’s a bit tricky with noise, my implementation allows 2D pseudo random noise. Currently full scope signal noise isn’t supported by design.
This. It’s a challenge, which also requires a lot of skill and dedication. Sometimes a simple single feature requires days of free time’s work. Why? Because experience raises from beginning and after a period of time, better solutions could be on the table.
that unfortunate, then any suggestion so I can add it in my PAL preset? mixing with other than HD? or only add a passes that has “raster bloom” (breathing)
It’s integrated with HD pretty close, using some features. It won’t be a seamless integration, if you try it with the ntsc shader chain, because you would need to rename some samplers in shader code etc…
Btw, loving the Smart Dithering with Fast Sharpen! This is like the “retro game mode” on an alternate timeline CRT where the tech advanced for another 20 years.
As I made my Inquries, “Safe Voltages” make sense with composite signals to, since chroma can be “hot” and allowed voltage limits can be exceeded. Dunno if with RF this is handled with AGC instead.
AGC with RF was standard procedure…
“Save Voltages” shouldn’t be an issue with svideo, dunno what they did there if chroma was “hot”, but they definitelly didin’t join the luma + chroma signals and drive it over composite circuits.
Ok, it’s the safe volts interaction with chroma bleed that was causing the yellows to become very desaturated. I guess it’s recommended to keep taps low when safe volts? With taps at 6.00 (no chroma bleed), safe volts produces a more realistic effect, with much more usable range.
What’s nice about this is that you get that ‘for free’ just by (a) reconstructing the dot pattern and (b) modeling the composite encoding and decoding according to the standards and how a CRT works. The newer shaders by Patchy and Beans show this and my updates to Scanline Classic show this. You model the encode -> filter -> modulate -> demodulate -> filter -> decode all in gamma-corrected space and you get the color bleed and dot crawl. The tricky thing is how the underlying dot pattern changes from system to system (at least until the fifth generation).
The subjectivity lies with the filtering and adjusting the colors to mimic different compensation behaviors by different TVs, so there is plenty of creative room, so to speak, for different authors to develop different shaders with different techniques.
I mean TVs are still doing that kind of processing to this day. When you get a TV out of the box, even a good quality one, you need to change it to movie/cinema/professional mode to get the more accurate factory-calibrated colors. What is different nowadays is that the factory calibrations are actually way better and more stable than they used to be.
I know HDR left a bad impression for some people because, relative to the overprocessed vivid modes of many TVs, it actually is darker overall (because it’s bright relative to the calibrated SDR at 100 or so nits). If you run your display at a high brightness all the time, HDR doesn’t have as much room to go brighter.
That is, I don’t think it’s just composite that looks dull on better CRTs. It’s everything, but dull is okay if the result is more natural.
Libretro now has a lot of CRT shaders, many of these have not been updated in years, and I think we can (maybe) do some work to organize them in a smart way. Here is an example:
Legacy - Shaders that aren’t getting updated anymore, deemed obsolete by their authors, etc.
Display Emulators - Shaders that are meant to mimic the exact look of a specific TV model, including user controls (Patchy presets, Megatron fall under this I believe)
PVM-like - Shaders that present a cleaner, less modified look, like what you’d see on a PVM or calibrated consumer CRT (Scanline Classic falls into this)
Consumer-like - Shaders that try to mimic the look from a consumer-grade or aged display, with controls for adding more or less processing/degradation (I think Guest aligns with this)
Fantasy - Shaders that do things that clearly go outside reality, for a specific effect or just for fun, and still have a CRT look
The consumer-like can maybe be split into two categories: ones that are more idealized and ones that really are meant to degrade/age the picture. MAME’s HLSL would be the latter.
There is also a lot of knowledge sharing going on. It would be neat if we had a CRT shader development wiki or something of that nature, like how NESDev compiles its info into a wiki.
Megatron is more like a phosphor/scanline/gamut mimicry kit if that makes sense? You can use it to mimic specific displays, or even broad non-specific types of displays.
For example, the “Aperture grille” presets included with my AzMods fork aim to capture the distilled, idealized “look” of a Trinitron, rather the particular quirks and foibles of any one model or unit.
Yeeeeeeep. And for all the talk we may have over things like when D65 became “standard” in a particular region, my LG C1, a TV less than 5 years old, is actually cooler than D93 at the default Game mode settings. According to my colorimeter, D93 is Warm 14.
I have to confess that I’m still a bit confused about safe volts, lol. This is my current approach for achieving the “consumer” look, let me know if you think it looks good…
-Increase “signal boost & safe” until yellow is noticeably desaturated. The higher you raise this parameter, the more compensatory saturation is needed, and the more “over-saturated” the final image will be
-Optional: slight red channel boost (1.05) - some TVs did this, I guess?
-Increase NTSC Saturation (TV jungle chip chroma amp) until Yellow has regained saturation
-This will oversaturate other colors, which is what TVs did
The goal is for ALL colors to be adequately saturated and for SOME colors to be somewhat oversaturated - this is what TVs did. Studies were done showing that the human eye was more sensitive to the less saturated colors than the over saturated ones (citation needed)
Also, a word on the NES - Safe volts almost never applies, the palette was chosen so as to not exceed safe voltages… It wasn’t really “artistic choice” so much as technical necessity. There may be some cyans that are mildly affected…?
Yeah, there was/is a RGB clamping after conversion, which is already the case in the shaders.
Some old bloomers although seemed to just allow more juice on the phosphors…
But allowed voltages are specified down to the mV and there are references in Phillips docs which explicitly state safe voltages and desaturation:
TDA4555 (page 6 / “chroma control” block)
“Automatic chroma control regulates the chroma amplifier to prevent over-modulation. The chroma amplitude is limited before clipping would occur.”
TDA3566A (page 5 under “Features”)
“Limiter for chroma input prevents clipping; excessive composite contrast results in automatic desaturation.”
TDA3566A (functional description)
“…when luminance excursions or burst level would otherwise drive the chroma path into non-linearity, the saturation is progressively reduced maintaining colour stability.”
So i guess it’s a valid feature, i could also dig out something about downtoning the entire signal, along with luma (so did the competition). I mean color crt TVs were hot tech, which was worked on for more decades and by more groups of developers.
You know what’s funny, this is what I’ve been doing in my CRT-Shader presets for years but just by going off the look and trying to balance things using whatever controls I had available. I always felt the slightly oversaturated presets looked and felt more CRT-like even though it felt like the value on the knobs might have looked too high.
My gut always told me that there was validity in the look.
As for the yellow desaturation aspect, I’ve been observing and using the floor in Vega/Balrog Stage in Street Fighter II Champion Edition, PC-Engine for a while now. I first choose a phosphor that gives me the type of Red and green that I’m looking for and many times the yellow and green in the floor might be looking pale and dull. I then crank up the saturation until I’m satisfied with how the yellow looks on the floor.
A purely artistic choice by me but in the end it’s doing almost the same thing we’re now looking to do in terms of simulation. What do you think happened to the rest of the colours after the yellow balancing?
The answer, they still looked damn good!
Unfortunately after this the results of my saturation test with the yellow spotlight in the Gate of Thunder title selection screen might be broken but games still look great. So sometimes I prefer either way but I think with my current Epic Turbo-Duo shader preset the yellow in Vega/Balrog stage’s floor is spot on while the yellow in the spotlight over Bonk’s head shows a slightly lighter and smoothly transitioned brighter shade in the center.
…and that my friends is why I’m still using an old CRT-Guest-Advanced-NTSC build from 2024 and yes, I’ve tested the new stuff as well but it feels like reinventing the wheel to get to the point where I’m already at with some presets.
Now this is no criticism of development work or to say that I don’t appreciate everything @guest.r and the community are doing but it just shows how when you give a determined person some tools, they can take them and use them in ways that the creator probably never imagined possible to create and achieve something unique and amazing.
So now we’re doing something correctly that I might have hacked and clawed my way around to get to.
I’m happy for the accuracy though because I’m mixing flawed memory with what I think looks best to me at this point which I think is fine.
This could be a bit tricky, since photon guns couldn’t invoke the opposite flow of electrons by any means, or shoot positrons. The field of error is the same, mostly colors with high luma + high chroma amplitude values. So the involved phosphor areas could be a bit brighter or even clipped in RGB sense, maybe more saturated, voltage decay could be notch slower, producing a higher gamma feel.