Probably just doing the same thing with artifact-colors another way. Being a shadertoy originally it doesn’t have options so one has to dig the code a bit to add things.
Some tech info, whatever is the pixel clock eg Megadrive 6.711647 Mhz,
6711647 * 52.6 / 1000000 we have 353 pixels horizontally, some of them are not visible, hsync blank etc.
A system that has 640 resolution would double that clock when using that res.
Megadrive [Pixel] clock rate: 6.711647 MHz (NTSC), 6.650428 MHz (PAL)
Master System [Pixel]clock rate: 5.3693175 MHz (NTSC), 5.3203424 MHz (PAL)
The SNES master clock (effectively divide by 2 or 4):
NTSC 21.447 MHz
PAL 21.281 MHz
In Atari ST Low pixel clock is 8Mhz, that gives us 421 pixels horizontally
Aha, it seems if you use the clock values and multiply with known scanline duration values for effects in HLSL instead of 52.6, you end up at or very close to the active pixels.
E.g. Mega Drive 47,9 in the RA NTSC Rainbow preset gives 321 pixels, in my own notes I had the value at 47.7.
For e.g. Apple II the clock is 14.31818 Mhz, and using the known 39.1 value you end up (with some rounding) at 560 pixels.
The line frequency factor should always be around 53 μs (53 millionth) as far as I know(?). To be accurate imo you would have to use the pixel clock, use all lines and center the image to crop extra lines. Colorburst should be happening in these invisible lines in real life (in the time period they are “drawn”)
Check this out
The idea of not seeing scanlines has disturbed me all these days, and searching for Commodore Amiga images I got images of arcade monitors in high detail, obviously.
I’ve discovered that flyback power and tube quality are directly responsible for showing scanlines.
The topic of ‘how it looked before’ and ‘no scanlines’ are recurring themes, and this is quite reasonable, the shaders are focused on aperture, but this is a technology that at the time was exclusive to Sony, all other brands did not have it and in the arcades, the slotmask reigned, with few exceptions.
I have collected some images, in CRT Data Base are few but some excellent and Flyckr has extraordinary images.
In these cases, the scanlines are minimal, or totally invisible. Always taking into account that the exposure and aperture of the camera can affect. And the separation of the phosphor and mask can be captured by the camera lens…
The ends of the same image:
These are some examples of poor scanline.
It must be taken into account that these screens are viewed from a distance, and if the black line is small, it is lost.
A 40p Mitsubishi. This is a YT video.
Some arcade.
But there are cases, where there is no. Obviously, the dark parts are always going to have, but the light parts are drawn smoothly.
Arcade sin scanlines.
This one is the best, it has spectacular detail and it is also the same tube as my TV (mine is 27). Notice, how it shows the lines in the darker parts, but in the lighter parts they disappear. This is how I remember it.
Philips 20PS47S301 (20p)
The flyback knobs are voltage and (one or two) focus. When the flyback voltage is increased, the drawn lines get fatter and the black ones disappear, but the image becomes very blurred. It depends on the focus and the quality of the tube to show the figures correctly.
In aperture, black lines are omnipresent, always visible, on any screen. But even in them you can eliminate them.
There are several videos on YT that show the process, these two are among the best in terms of detail…
Warning!! this man has super powers, that’s why he adjusts the knobs by hand.
JVC
SONY PVM
P.S. 1: I discovered many things about the monitors, and the outputs, I think I’m going to open a new post because it is too long.
P.S. 2: This Sony TV CRT, never in life shows scanlines. LOOOL
There was an attempt at a color converter, for the Mac Classic.
I am trying to replicate it, I place the lines in 512 but I have no results. I am using full size images, will this affect?
I would like to thank everyone who contributed and continues to post in this thread. It really provided a lot of information and teachings!
Thanks a Lot!
The source resolution certainly matters
Some system emulators that have a “high” res mode eg Amstrad CPC (Caprice32) has a 640 x 200 mode, simply output the highest resolution and stretch horizontally any other resolution eg 160 x 200. That looks like a smart approach but shader won’t know and won’t create the artifacts as it should. It’s up to the shader coder to add an option or the user to know whatever resolution is used.
Also Amstrad CPC wouldn’t be that far away from a PC with 8080 cpu and a CGA adapter.
The Macintosh has 512, I duplicated artifact-colors.slangp and changed to 512 as Jamirus did. The images I got are 1x1…
I think I found the problem.
The colors are generated based on checkerboard or line patterns. In almost all cases the ‘F Col’ parameter must be modified together with ‘FIR Size’, good results can be obtained.
There are many games that have dot plotted/grading, these do not work well, nor do horizontal lines work well.
By adjusting the parameters to leave points, and by adding the tvout, interesting results can be achieved…
Isn’t this what the ‘F Col’ parameter does? I have noticed that the games in low, work with 25 and the high ones, with 50, besides that you notice thicker spots in 25.
What emulator are you using for your Mac screens? I use MiniVmac, but am always looking for alternatives.
I use images, minivMac doesn’t seem to work on Linux and I don’t have much free time to go deeper.
Anyway it would not be useful because it is based on Mac II.
Alternatives you have to MAME, it seems that support has improved, and I recently discovered that you can use DOS emulators in DOSBox/PURE.
A nice read for anyone who cares, “Composite Video Separation Techniques”
https://www.renesas.com/us/en/document/apn/an9644-composite-video-separation-techniques
Another comparison
Raw
Composite
Based on the above comparison i did some small tweaks to ‘ntsc-simple’ GLSL to match the artifacts better. At least on the ZX Spectrum that there are some ACTUAL screens.
should be something like this on a real Spectrum
I was running SMW on a CRT using Snes9x through composite cables just to see how the visuals are affected by this input. Something came to my attention when I entered this water screen:
The water is dithered. But on a real crt through composite it shows some rainbow effect (a la Sonic Waterfalls).
So I tried to reproduce that visual using RA and ntsc-adaptive shader. For my surprise, the vertical rainbows are only possible by setting config to Phase 2 (the genesis config) + Resolution Scaling 1.20 or 1.25, Color Artifacting above 0.50 and Chroma Scale above 2.00. Using Phase 3 is impossible to get vertical rainbows, which raises a question if indeed snes through composite is accurately represented using Phase 3 config?
What’s the actual hardware you used for this (ie. the non-SNES composite device)?
Wii and composite cable. Not a real snes, though Snes9xGx is configured to output 240p. I doubt there’s a real difference here from a real snes.
I’d be interested in seeing the Sonic waterfalls if you’re using a NTSC Wii. On my PAL Wii, it’s definitely vastly cleaner over a real Genesis, but the PAL console outputs always PAL 60, which I assume also makes quite a difference. The Wii also always scales the output digitally into the 640px range, it works a bit differently compared to real consoles in this regard.