Simulate composite signal... without demodulation?

Does anyone know of a shader that will simulate the result of passing a composite signal (as from an NES) into a monochrome monitor that doesn’t demodulate it, thus displaying it all as luma? It would look something like these:

You may go check @HyperspaceMadness’s thread as someone was doing some monochrome stuff in their screenshots, a green version, and a orange-ish version. I can’t remember how or if they even said how they were doing it, but you could possibly message the person that posted the screens about it.

That thread is actually what reminded me of the old amber monochrome computer monitor I used to hook my NES up to when my house’s color TV was in use! But those shots simply desaturate the full-color output before tinting it. I’m looking to simulate the composite signal before it gets split apart into luma and chroma, so it gets those distinctive dot patterns from the chroma signal.

You could try loading ntsc/shaders/ntsc-mame/old-ntsc-mame-pass0.slang


Ah-ha! Slapping that into a shader chain that was already set up for ntsc-adaptive gets me this extremely familiar (if not yet tinted) look:

It’s spot-on. As always, hunterk, you’re some kind of miracle! Thanks!


If you’re going to be tinting it anyway, you could use the first pass of maister’s NTSC with a pass of image-adjustment after it, like this (run it from the top-level of the slang shaders directory):

shaders = "2"

shader0 = "ntsc/shaders/ntsc-pass1-composite-3phase.slang"
frame_count_mod0 = "2"
float_framebuffer0 = "true"
scale_type_x0 = "source"
scale_x0 = "4.000000"
scale_type_y0 = "source"
scale_y0 = "1.000000"

shader1 = "misc/image-adjustment.slang"
scale_type_x1 = source
scale_x1 = 0.25

parameters = "ia_saturation"
ia_saturation = "0.000000"

Then, you can use the R/G/B channel mixing controls from image-adjustment to handle the tinting. EDIT: like this:


That’s exactly what I was looking for, and way easier to fit into existing shaders! I haven’t gotten to the whole curvature-and-bezel routine yet but what I’ve got is hitting all the nostalgia buttons, complete with absurd gamma:

And just for S&G, here’s the game I most fondly remember playing this way:


Glad it’s scratching the itch for you! :slight_smile:

That rollerball shot looks pretty great, not gonna lie


Story time!

The last time I saw the monitor I’ve been trying to simulate was nearly thirty years ago, so I couldn’t even remember what brand it was… until I happened to stumble across someone’s pic of an old green display that looked really familiar. A quick search revealed the source of my nostalgia – the Zenith ZVM-122 amber composite display! Here it is in all its majesty:

When I wasn’t basking in the full 240-line forget-about-overscan output of the NES, it was hooked up to an Actrix all-in-one luggable that ran CP/M on a Z-80. When my father bought that suitcase of a computer, he was offered an upgrade to an 8088 processor that would run MS-DOS… and his response was, “DOS will never catch on.” Sadly, it’s not the only side of history he’s on the wrong side of…

Anyhow, I’ll probably waste some time simulating that horribly grey tube. Heck, with this image, I could even do up something fancy with HSM’s shaders and an overlay image that I doubt anybody else would ever wish to use. It’s the perfect way to procrastinate on everything else on my to-do list!

Aw, thanks! I do wish I had the original monitor around to compare and try to match, just for the heck of it, but it’s definitely not worth trying to dig one up. Anyhow, nostalgia’s always better than the real thing. :grin: