Koko-aio shader discussions and updates

Hi there,
The issue should be just fixed (don’t mind the commit message, i messed it up).

–EDIT–

Found and fixed another issue, now phosphors persistance takes real interlacing into account:

4 Likes

Great work as always! I was actually ignoring the issue for awhile thinking it might be “expected”. But it turned out to be fixable.

Also I would like to thank you for your patience with community feedback, you never “assume” bad intention even when the reporter is being ignorant (to an extent) or having an oversight, you instead explain and teach us new things.

2 Likes

Much appreciated, thanks, but is really not that hard in this community :wink:

5 Likes

I did try silent hill 4 in LRPS2, there are still some flickering (not smoothed enough) cases in bios and in warnings and memory loading

maybe the resolution need to also taken into consideration?

Hi Koko,

I am using the TGB Dual emulator for dual Gameboy games in Batocera and wish to render them using the same green palette as the GB-DMG palette in the Gambatte emulator. I don’t wish to have a “grid” effect. I would like the exact same results as I have in Gambatte. Please could I ask whether there is a shader which will do this job or whether you could guide me in creating one? Thank you so much.

2 Likes

If you install both the kokoko-aio shaders and my koko-aio pack, using the content downloader… my GB2Player preset should look like this.

I don’t think you could really ask for more. :grin:

2 Likes

seems I find a way to fix this

if I add float_framebuffer1 = "true" to crt-black_crush-koko.slang pass then everything work fine

This is somehow unexpected; having higher color precision in the last pass of the shader should not be really needed; this leads me to think that there are other shader passes after that that are sensitive to 1/256 color transitions.

Unfortunately I cannot blindly place the float_framebuffer directive for the second .slang, because if the shader is placed at the very end of the chain, it triggers HDR and may lead to washed out colors.

What’s the preset full chain you’re putting the black_crush shader into?

1 Like

yes, there are some guest shaders that do gamma changes and other things

no problem, but maybe it worth mention it in the crt-black_crush-koko.slangp

1 Like

My advice would to follow @Duimon suggestions, but if you really want to remove the grid, either you can:

  • disable “Dot matrix emulation” to get rid of grid, diorama and ghosting effects
  • Lower “grid strength” to keep diorama and ghosting

Also, if you want to further tweak the colors, look for Saturation, Hue bright and Hue dark parameters for the tint and brightness/contrast for luminance:

Context here.

I just pushed 2 changes to the code regarding deconvergence:

Sync scanline Y deconvergence with main deconvergence settings by default. Please, scale your deconvergence settings by 1.6

This means I removed the previously available controls under the scanline section.

. Deconvergence y: R phosphor
. Deconvergence y: G phosphor
. Deconvergence y: B phosphor

But their behaviour is now properly controlled by the main deconvergence section:

* Deconvergence/Defocus enable? (de) ==>
      [..]
      Red y offset
      [..]
      Green y offset
      [..]
      Blue y offset

Did that to declutter the parameter list and to “sync” the deconvergence behaviour.

If you were using deconvergence in your custom presets, please multiply previous values of DECON_RX,DECON_RY,DECON_GX,DECON_GY,DECON_GX,DECON_BX,DECON_BY by 1.6.

Stock presets have been already updated.

The other change pushed takes care of disabling phosphor y deconvergence when fake integer scanlines are used (@Starman99x).
In such scenarios it is highly probable that there is not enough room for the scanline/phosphor to be shifted, and this may leed to weird tints due to rounding errors.

1 Like

Thanks koko, now we can disable interlacing safely with high-res content.


Edit: the problem is fixed, yes. But I implore you to consider restoring the removed Monitor-Screen_Hmask-Aperturegrille.slangp as it still looks the best with 480p content (without interlacing but with fake int scans). Here’s a comparison:

Monitor-New_aperturegrille_gm.slangp

Monitor-Screen_Hmask-Aperturegrille.slangp

Notice how the mask is thinner and easier on the eye, the image is bright and “natural” with Monitor-Screen_Hmask-Aperturegrille.slangp. I would love to have it present in koko-aio so my packs and presets can still reference it.

2 Likes

Done:

…However I made it sharper by moving “Glow to Blur” bias all the way to the “left”.

Ofc you can till reference it and set IN_GLOW_BIAS = “1.0” for the previous sharpness.

7 Likes

Just made new LCD presets for Atari Lynx, you’ll find them in the usual handhelds folder:

Also GameGear LCD screen has been modified to be less contrasted and with less phosphor glows (just like the Lynx, but with more ghosting)

7 Likes

Hi Duimon and thank you for your help :pray: This evening when I checked Content Downloader I think I saw kokoko-aio shaders and your koko-aio pack in the list of downloads. However after updating the kokoko-aio shaders (I had installed these previously), all I see now is one set of shaders. “Koko-AIO shader with reflective screen borders and Duimon bezels”. “bezels-koko-aoi-immersive”. Please can you guide me to your GB2Player preset?

I don’t have Batocera installed anywhere but here is what I see in Retrobat.

If you select the shader set in the gb2player shader settings, it should just work.

All I see in Batocera is this (see photo). Would there be any way to install / copy your files across manually? How are these files published and where is the repository?

1 Like

That is a pack that kokoko put together using some overlays I have in a repository. I later released my own, much more complete koko-aio pack.

Which version of Batocera are you using? Retrobat is a fork of Batocera and I don’t believe the developers add anything to the content downloader.

If my koko pack is available on Retrobat it should be on Batocera also.

In any case, you can extract my pack to your system, but you will need to be pretty fluent in Batocera to get anything to work. The easiest way is to create your own shader set YML and set the paths to the shader of your choice. You will also need to have the koko shaders installed in the correct path relative to my pack. (The alternative requires learning about my boilerplate and doing a search and replace on my pack to change paths.)

I can’t give you much more advice, (I’m not exactly fluent in Batocera.) but there should be some info on the Batocera wiki, or you could ask in the Batocera Discord.

Still, although I’m not fluent, I could get it done using the information available. It’s just much easier in a system that is completely writable.

You can get repository info on my Koko-aio pack thread.

1 Like

Hi @kokoko3k

is it possible to add some option to tell the crt-black_crush-koko that the resolution is upscaled so it will not use more resources?

Generally, being a standalone filter/pass, either you prepend it and run it at 1xcore(x upscaled) resolution, or you append it and run it at 1xscreen resolution.

Assuming core upscaled <= final screen resolution, prepending should be the lighter choice.

Code is simple and I can’t see how it would be more optimized; the real gain would come from its integration into an existing pass, because having lot of passes doing each one a single thing wastes precious video memory and (to a lesser extent) some gpu processing power too, I told you that from the beginning.

There were something else on your mind ? Some other solutions I’m overlooking, maybe?