Koko-aio shader discussions and updates

I’m not able to try your latest version right now, but the last version I tried had the dot crawl scrolling to the left. On my real CRT, it scrolls up, and it only behaves this way in interlaced/480i video, not progressive/240p.

https://youtu.be/xN3hnkD5coA

On my comb-filtering CRT, I get dots whenever one scanline is surrounded by two differently colored scanlines, like in one of the NES Mega Man games for example. I might post a picture this weekend.

To my understanding, the cause of the upward scroll is a combination of the color carrier rotating 180 degrees each line, every second frame having an extra line in interlaced video (total 525 lines every 2 consecutive frames), and the interlacing effect itself. All these three things combined result in the upward scrolling pattern.

(Just an hour ago, I posted this in the wrong thread on accident, because I was in a hurry.:skull:)

2 Likes

My memory tells me it scrolled downwards, go figure.

For that reason, it takes a speed parameter that switches from horizontal (<-) for positive values to vertical for negative ones.

Also, in every shader implementation I’ve seen there was no scroll at all; just a flip/flop of the checkerboard happening at every frame which may give the impression of a scrolling when the content is moving (that is achived by setting the speed to max)

…still my memory tells me different things, but my systems were PAL.

1 Like

I’m pretty confident that it scrolls only up in NTSC. Someone will have to read into PAL or look at an original PAL set to see whether it scrolls up or down, but I doubt it would be horizontal.

This is right, at least for NTSC. When you add interlacing to this pattern, and flip the checkerboard every two frames instead of one frame (because each pair of frames adds up to 525 lines when interlacing), you should get scrolling, if I understand this right. Whether it scrolls up or down depends on whether the top field or bottom field has that extra signal line.

Scrolling horizontally doesn’t make sense to me at all, in this case at least.

Also, this is only about standard NTSC signals that alternate the phase 180 degrees each line, which isn’t exactly what every console does. I still need to read about PAL.

1 Like

I’ve seen it scrolling horizontally with an Amiga 500+A520 PAL RF modulator connected to a cheap lg panel

…the weird Amiga scrolling dots were probably due to this particular pattern over the 1px blue line, see the naked one:

However with the speed set to 8.0 and screen set to 50hz, in koko-aio it looks exactly like the following video.

https://mega.nz/file/lT9QjCwD#Uzv-IBasfmlaoqS_r-1Dm8tMONZzwqfKVnYHPRKbpks

An old PAL Colecovision doing something similar:

https://mega.nz/file/oeUnlCSI#XBHYYCfwXWV9l-TYfglNMnY6UTtIR8x6oOvecBH7u-o

It would be totally possible that the Tv itself was doing something weird with the analogue signal tho.

I remember @DariusG to have tried a similar setup, maybe he can confirm or not if that happen with CRTs.

I see what’s happening now. It’s a difference between NTSC and PAL.

Take this with a grain of salt since it’s from Wikipedia (which has failed badly at documenting video standards in past years), but Wikipedia’s pages for NTSC and PAL show that NTSC has 227.5 color carrier cycles per line, while PAL has 283.75 color carrier cycles per line. (Note: 283.75 is stated explicitly, but 227.5 comes from dividing the color frequency by the line frequency.)

In NTSC, the .5 at the end of 227.5 is what causes the phase to turn 180 degrees each line, resulting in a checkerboard. PAL has 283.75 instead, which causes diagonal lines, not a checkerboard. The video of the Colecovision shows that these diagonal lines are scrolling to the right, even in non-interlaced video, unlike NTSC where the checkerboard only scrolls upwards in interlaced video.

About that. On your video of the Amiga, the white line under the words “Easy Living” has dots scrolling on it. That’s probably caused by comb-filtering in the CRT. (Edit: I realized what you meant by posting that screenshot. The cause probably isn’t a comb filter, then.)

On the other hand, the fact that your ColecoVision is scrolling right, while the Amiga is scrolling to the left, must be caused by the ColoecoVision and the Amiga somehow. The console is what determines the color carrier’s offsets and rate.

I want to make one last note here that the games Battletoads and Battletoads Double Dragon on NES (while you’re playing a level) in NTSC has a similar scrolling diagonal line pattern, but it’s a 1/3 offset instead of 1/4.

1 Like

It’s 227 at odd and 228 at even (vertically) to be precise. So every other line there is 1 pixel shifted. That’s not a pixel actually, it’s color info. Pal switches phase every other line too (+ PI). Tried to do something like that in ntsc-simple pal systems like zx spectrum, check it out. Not far from real screenshots.

1 Like

Hi all, based on the latest 1.9.50 release, I published 70 dedicated arcade artwork pieces. The new presets are much more streamlined, and the shader looks better then ever. Many thanks @kokoko3k for this incredible achievement!

5 Likes

Hi. Nice Work!!!

Do they work OK with 4K displays and integrated GPU. I´m talking about Intel 12 generation, or AMD 8600G.

Thanks!

They work for 4k, but i don’t own every cpu/gpu combo, so let me know about that :slight_smile:

Thanks @kokoko3k!!! What CPU (and GPU) do you own? I´m thinking to try in a AMD Ryzen 5 8600G by the way!

1 Like

I tested on Haswell on 1080p, but it is not enough for 4k

I´m more familiarized with HSM Mega Bezel, but I really want to try yours because I´m planning to use it in a more modest hardware. HSM MB is very demanding in 4K, you need a powerful GPU to run it above 60fps with all bells and whistles.

2 Likes

Haswell is a bit dated so maybe on newer cpu/gpu combos (expecially on AMD) you may be able to run at least 240p content on 4k.

I’m really interested in the results, remember to try both Vulkan and GLCore, because they may give different performances.

2 Likes

I can tell you it‘s worth the try. On Silicon Macs, HSM Mega Bezel is nearly undoable, while koko-aio really shines! I am running them on a 4k display with no performance problems at all. The shader also performs well on my iPad Air 3, which is no longer that young :wink:

2 Likes

was using your shader pack since few months now and really loved it. i guess i should have said so earlier but alas some of lazyasses only come when they have a problem to report. really sorry for that and should have made an appreciation post earlier. anyways, i updated the slang shaders using RA’s online updater and the shaders stopped working. They failed to load.

UPDATE- lol just while i was typing this i struck to me that i should try older release. so went to github releases, grabbed july 26 release and it works for me again. i can’t stop laughing rn. so man, THANKYOU for your shaders anyways.

device- Samsung Tab S7+ (android 13) RA - 1.19.1 Emulating NES system

2 Likes

Thank you, I’m glad you’re enjoying the shader.

However, using an older release is just a workaround that is not going to magically solve itself with new releases.
Any chance that you are trying to load older/customized presets instead of the stock ones?

Assuming the shader is working fine for other users, If you care about having the problem solved, you should provide some logs of the failed attempt for me to investigate what’s going on, but it’s not mandatory if you’re fine in using an older version ofc :wink:

1 Like

Hi @kokoko3k. Following my post, I tested HSM-MB and Koko-aio in an AMD 8600G with 32GB DDR5-6000 in 4K resolution. HSM-MB cannot reach 60fps with a 240p game, it gets around 48fps, even in POTATO preset. Koko-aio reaches 60 fps rock solid. I just tried Vulkan. I guess GLCore would be the same.

2 Likes

Performance wise, you´re absolutely right. However I´m interested in vertical layouts, so HSM-MB seems to be more developed with that in mind. I guess Koko-aio can be implemented too, but some improvements are necessary: Wildcards for .slang files, double monitor support, vector graphics, etc.

1 Like

“seems to be more developed with that in mind” is a bit generic.

It would be great if one could have everything everywhere, but generally speaking, the more the features, the less the performance, so everything needs to be evaluated, case by case.

Wildcards are something every slang shader supports, because it comes from Retroarch itself and it is implemented at higher level (slangp, not slang) thanks to the work HSM itself made on that feature.

If you are wondering, Duimon’s koko-aio presets make use of it.

3 Likes

Thanks @kokoko3k. I guess I´ve spoken too early and without knowing your shader the way I should.

I´ll look into koko-aio more deeply then.

In any case, it is able to perform in 4K with an integrated GPU, which is awesome!!

1 Like