Koko-aio shader discussions and updates

AFAIK, double scan is/was a term that means the removal of visible scanlines gaps from low resolution contents by going from 15khz to 30khz and repeating the lines, and you can do now by turning scanlines emulation off.

oh, and you may need to turn off interlacing detection:

  • for retroarch version-> interlace + scanline alternate above #lines: set to max
  • for dev version -> Consider Hi-resolution above # lines: set to max

Maybe we are speaking of something different?

Edit, If you still want to see tiny gaps (2 per core line) you may use the y mask set to core resolution with multiplier set to 0.5 with even/odd offset turned off ofc; let me know :slight_smile:

2 Likes

Using the “core_slotmask_overmask” preset and maxing out “consider Hi-resolution above #lines” actually creates the effect that I call Double scan and that I wanted. Thank you so much for your help and happy holidays.

2 Likes

Glad it worked with little effort, so you left scanlines on?

I edited the first reply and tomorrow i’ll try to make it an usable preset.

2 Likes

Yes, I left the scan lines active due to the fact that VGA monitors had them although very thin due to double scanning. And I tell you this with certainty because for years I was only a PC gamer, and I started with Ms-Dos. Just these days in 1996 my father gave me a copy of Doom II and it was immediately magic. Then your preset with overscan and Fxaa make the image even more beautiful while still preserving its original magic (Although I love ScaleFx, it’s too invasive, when I use it I imagine playing a remaster of that game, Fxaa on the other hand is that classic shot at the rim and shot at the barrel which improves but doesn’t upset too much) Sorry if I went on, and thanks for the work you do.

2 Likes

If you left scanlines on and by just disabling the interlace/hires detection you are fine with the results, then it means:

  • The core is passing an hires resolution to the shader (probably 640x400 or 640x480).
  • You are using an output resolution > 1080p or you are facing moire/weavy artifacts because by disabling the hires detection, the shader is not able to trigger the fake scanline emulation.

The correct behaviour for the shader should be something like:

  • lowres (320*2xx) -> double scan? -> draw 2x [optionally integer] scanlines
  • hires (640x4xx) -> draw 1x [optionally integer] scanlines.

So, to correct my previous answer which was not taking moire and the possibility of different input core resolution, a double-scan switch to be used for low res content is indeed needed.

A good visual tradeoff right now is to:

Those settings seem to work ok for low res:

…and hires, but you can easilly notice the fact that the vertical mask is not “synced” to the real scanlines.

…the unsynced issue is the effect of having used screen coordinates for the vertical mask and will stay there even after an eventually proper double-scan emulation, when running at 1080p output resolutions, because one will have to use fake integer scanlines.

In that case the only solution will be to disable curvature and use integer scaling:

, but even at 400p, you can just do 2x scaling, because 400*3 > 1080 by too much. …and would be something like this (switched vertical mask to core coords and set multiplier to 1x:

…however this method is not going to look good for low input resolution, due to the missing double scan option:

Lot of things!

5 Likes

Crazy, I always thought that the question was simpler and limited to the issue of Double scan, I actually realize that the VGA monitors of the time (and the related games produced exclusively with the PC in mind) are a completely different “Beast” to tame. Honestly, I found the overscan of the core slotmask without interlacing and FXAA active really nice, probably also because the shader sends an image at a higher resolution than the source, but it’s probably not the correct effect for this type of content. I will do some tests during these holidays, thank you so much for your work. PS Wolfenstein 3D, my first FPS, what memories guys!

1 Like

Just added a new option to double the number of scanlines on low resolution content and made a new preset named Presets-ng/Monitor-VGA-DoubleScan.slangp which disable interlacing, uses doublescan and activates integer scanlines.

The result is this, WOLF3D running on 200p:

And when going into MSDOS running at 400p i guess:

8 Likes

Fantastic work, thank you very much, the final result is truly beautiful. In this shot I’m trying your preset with some modifications, I activated Fxaa and brought the overmask to 1.50 (the same value you use on the overmask presets) and the result seems really very good to me. However your basic preset is really well done and I am happy and grateful that koko-aio is opening its doors to the magical world of Ms-Dos. Thank you.

2 Likes

Could you please add shadow mask for an authentic arcade preset?

When will you do the next release that’s also available via the Retroarch Slang Shaders Updater?

I’ll try to implement shadow mask, bjt i cannot ensjre anything shortly.

As for release, yes, i push it to retroarch when a new stable comes out.

1 Like

Thanks, I’m looking forward to the update.

Why did you change the default Mask type preset for the Horizontal mask from 3:rgb to 1:gm?

2 Likes

First I’d like to thank @kokoko3k or this fantastic work. :slight_smile:

I did some testing with Batocera 38 on an Intel n100 CPU and can report very positive results:

  • The n100 is able to run the preset “Monitor-Ambilight-immersive.slangp” at full 60 fps 1920*1080 on all usual consoles up to Gamecube/Dreamcast.
  • To get even more performance headroom in Gamecube and Dreamcast, I put all variables in config-user.txt file. Couln’t find any game with fps slowdowns so far (all rendering resolutions on 1x).
  • Only Playstation 2 is too hard to handle, even with all static values in config-user.txt.
  • Paired with Duimons Bezels, the Ambilight preset is simply stunning perfect and my Batocera default set now!

Maybe this is helpful for anyone looking into getting a new cheap Mini-PC with n100 CPU. It’s a really superb price-to-performance CPU. If anyone is interested, I could provide my Batocera 38 shaderset. It goes copy-paste to the userdata/shaders/ folder.

Greetings, Duglim

4 Likes

Shouldn’t there be an unwrap-me.zip password for this file in these forums??? :sweat_smile:

1 Like

You’re really asking too much to my memory, commit messages are there for a reason :slight_smile:

Ahh, it is good to read someone is actually making use of that file!

unwrapme has been unwrapped days ago and it is no more under the main tree lol, check the merry christmas thread to take a look to the great work by alexb3d too!

1 Like

I was tricked, did not expect a separate thread. Such cool artwork. The unrwap-me file was a leftover in my fork ;-).

22 posts were split to a new topic: Bezels on nvidia 1030 GPU

Hi. Just in case you didn’t hear @kokoko3k, CoinOPS people is developing a new build using Koko-aio shader. It seems to be a vertical one, part of their newest “Atarashii” builds. They are using a generic cabinet overlays template, with the marquees.

4 Likes

is that good or bad? :slight_smile:

It depends on what you’re trying to achieve. CoinOPS build are nice but I don’t think they want to spend too much time customizing game per game, so a generic frame as cabinet, with just a marquee can be useful. Also, for small monitor like 23 o 27 inches in portrait, the screen real estate is important. On the other hand, if you prefer a "realistic’’ look, with the bezel and everything, a large screen and custom .params for each game are better.