New CRT shader from Guest + CRT Guest Advanced updates

A good question is for which calculations a specific gamma value is required. In fact you have more gamma options at hand, including gamma correct and mask gamma.

Colorspace gamma is hard coded by specification.

The NTSC version also includes scanline gamma. Unfortunately each customization slows the shader down and adds more parameters, which i try to avoid.

So to speak if you want more custom gamma, there should be a context reason with explanation for it.

6 Likes

Interestingly, the latest Retroarch update that supports HDR allows me to take advantage of it but Guest and HSM shaders don’t play nice with DirectX11, 12. From my experience it seems that persistence is the main culprit. Hopefully we can get support for Vulkan HDR in the future!

Unfortunately, on the LG C9, I have to use something other than game mode to manually enable the white pixel for non HDR modes. This introduces lag :frowning:

2 Likes

Unfortunately, it doesn’t help with subpixel masks. Black and white masks are your best option with OLEDs, I think.

1 Like

I have a panasonic oled ez950 . I don’t have the option of white pixel enabled or not. And I have a shader preset where I am at 70 or 80 in maximum contrast in rec709…and I use the bfi which reduces 40% of luminosity, ( wrvb because the oled slabs are made by lg and panasonic uses that…) The hdr would be brighter for me than my sony kvb crt at max contrast…

1 Like

what i see is identical to you nesguy, on my oled wrvb no? for me it’s identical same phosphors, same rendering but in 4k can be more accurate, but i’m not going to plug my plasma panasonic g20 1080p to compare. my question is when you talk about magenta mask, or black and white mask, I don’t see any magenta mask, did you open the mask in photoshop to see more closely maybe? Always a pleasure to share with you. CRT SHADER GUEST ADVANCED REV2 ( trinitron aperture grill oled4k wrvb)

thank you guest for adding the mask you are a killer

2 Likes

Some very quick, dirty, off axis, far from perfect, cell phone camera photos of my Arcade - Sharp shader preset showing the mask pattern on a 4K OLED TV. @Brainbin74 Somehow my most recent screenshot uploads using imgur appear much darker than the shader presets look in actuality. I didn’t use imgur for these though.

Of course in actual use the presets look much better to the eye than these bad camera shots but they can still be used to illustrate the pattern of the mask and scanlines.

2 Likes

What I see is as good as what I see at home. The oled wrvb displays mask and scanline without any problem. I saw a post somewhere from hunterk that says so ( it doesn’t pose a poblem) So we share, that the users of oled is reassured… I like the rendering of your preset in photos. Yes I know that the photos do not do justice to reality. But anyway my oled is calibrated at delta 1 max, and that users will look at that behind their screen, if they are not calibrated themselves? So it’s just for information and to see the aperture in action. Cool my friend, you’re having fun, it’s a nice rendering.

1 Like

I say it every time, but I think I have tweaked it to where I want. On an ageing 42’’ LCD TV at 6ft away, it looks pretty good. The only thing I’m still slightly unsure of is the convergence. I might do away with that.

Hi, you are using a shader that is accurate in 4/3 crt emulation, so your final image is stretched to 16/9. I’m a frank and honest person, so I’ll tell you what I think. I think that even without shader in 4/3 you will be better… Without filter. That’s human divesity, choice, and.opinions… But I would never bother to put a shader that has a mask or something because most of them are not designed for that, 90% of shaders work well in integer scale and 4/3… In 16/9 I only see artifacts, oval cartwheels. Otherwise well the image is correct in gamma, contrast…

I don’t see a convergence problem here. I’m looking at zelda logo trademark, ® if you had any.convergence changes… I would see either red outdated left or right or green or blue. The convergence is just to simulate a malfunction of tv crt…badly adjusted… Either you like bad tvs, and you use convergence, or you emulate a trinitron crt which has no such problem. Here you go my friend, have a good game.

I don’t think that the shader math depends on 4:3 ratio at all. I have used Guest Advance at a dozen different aspects,. (Some consoles and computers didn’t use the whole screen and the aspect was not exactly 4:3.)

For example PSP and PS2 look great in widescreen with Guest.

@brad86 Nice work!

4 Likes

Hi my friend, don’t worry I’m still thinking about making my crt photos so you can make a border overlay, recharge my battery yesterday from the camera, this will be done.

To answer that’s why I say 90% of shaders, what I know is that shaders capable of not making artifacts in the middle of the screen are rare, it’s a fact. I take crt royale? It’s made to simulate a pvm bvm, in full screen you don’t have the scanline just falling off…that’s a fact, and 90% of shaders do that… You should make a list of shaders that can do that. But out of 60 different shaders only 3 have this capability, I think crt lottes does it well, and guest advanced??? All the rest will be only artifact in movement and scanline which falls badly… Its screen is 1080p 1920x1080 the snes is 256240 overscan, or 256224… The horizontal and vertical resolution must be an integer multiple to look right, on 90% of shaders as I said above it will not pass, but I respect everyone’s choice, just giving my opinion and information. Have a good game.

Hunterk says here all shaders will look better in full scale. This is not from me, but from the shader creators who explain that this is calculated like this mathematically…

To conclude, what would be the use of the integer scale option in retroarch if all the shaders were perfect in full screen on any TV…this option would be useless, just to put core provided 4/3… And all shader would look perfect. I share truth and facts here that allow users to understand facts. And I said it above, but you say that it looks good to you in full screen with guest? So if it looks good to you, that’s fine, but it doesn’t mean that it’s perfect. And the shader creator is trying to be accurate…otherwise you put an overlay with scanlines… Not precise but will have the same result, which will be a rendering that is not crt, but a rendering that pleases the user, I respect his choice, but if you post pictures, it’s to have opinions no? If not, if it’s perfect for the user, then other people’s opinions don’t matter. Good game friends

integer scaling on the vertical/Y-axis will always make scanline effects look better. However, on the horizontal/X-axis, most shaders will soften/antialias the pixel edges so that integer scaling isn’t as big of a deal. The horizontal axis also doesn’t have the complication of the repeating, evenly spaced lines that the vertical axis has.

You may be thinking “shouldn’t the mask be a problem, since it can (esp in the case of aperture grilles) look essentially like vertical scanlines?” and yes this would indeed be a problem if they scaled/stretched with the aspect ratio setting, but mask effects are typically tied to the physical screen location rather than the location/size of the game pixel (that is, they’re not really affected by the aspect ratio setting).

8 Likes

This was my understanding. That vertical integer was important but aspect ratio was irrelevant.

3 Likes

Is the vertical axis relevant to you? 1080p vertical axis 1080/240= 4.5 Is this relevant?, yes, and how do you do it without integer scale? Apart from using a custom aspect? You will have to go over the vertical axis, beyond the limits of your TV. Like a crt would do…whatever…everyone does what they want… For information the core.beetle pc engine has an overscan aspect integrated to the core… To be able to play with the right ratio, you have to set the scan line in the core. Initial scanline, and last scanline, if you want to have the right ratio on the vertical axis… Otherwise the wheels of the carosses are oval not round like my pc engine duo r… The game castlevania on pc engine, you must cut 20 lines at least on the vertical axis. Example last scanline = 352 you have to subtract at least 20 lines and put in head for example 330… This will be the right aspect for 4/3. The konami logo at the beginning of this game must be full screen… If you see a black stripe at the bottom which is the case, it does not exist on crt, and the real hardware. This is a fact, as the vertical axis will have artifacts with scanline. And thank you hunterk for.your explanation useful to other user…but for me? I already know that. Have fun playing.

You can see here at 22min what is castlevania at 22min. Konami logo full screen and round wheels. But I already said that everyone does what he wants it’s free will. But I am here to learn the truth, not what people like, their imaginations, their opinions belong to them but it is not the truth. 22min here castlevania pc engine…

2 Likes

Yes, this is mostly relevant because not every core emulates the entire screen with all borders or you can crop them. This already affects a lot of systems with NTSC (e.g. Master System, MSX, basically systems with TMS9918 graphics and derivates), but with PAL it’s basically the standard to not have a 4:3 playfield even on systems that were made for PAL markets (e.g. Amstrad CPC).

Modern 1080p 16:9 displays can be a better fit for PAL content because of this.

3 Likes

Jamirus

Thank you, I have nothing to add. The truth is you are telling the truth here, so I have nothing to add or change. The truth is. Nothing can change it, neither the opinions, nor your desires…

2 Likes

What hunterk says is true, the mask works well in most cases… but the pc engine uses several different resolutions It does not use only 256240 And what I’ve seen for years is that the mask should not make artifacts in horizontal scrolling? Because it is based on the structure of the TV used, are you on hunterk? Because to check it is simple to put in 16/9 the pc engine. Then launch pc engine games that are not in 240p (256224) Then launch Ninja spirit which is not 240p, then launch ghost manor which is not 240p but which is what one calls games pc engine high resolution. And well has ninja spirit the mask create artifacts … And the .scanline too, no matter what shader you use… Fix the ground of ninja spirit even without playing look at the demo… The ground will create artifacts, the mask will be wrong, and the scanline too… Do the test… The only solution? Integer scale with custom ratio aspect.

524*288 screen resolution ninja spirit https://necretro.org/Ninja_Spirit

Pretty sure that is the file size of the ROM, not a resolution size

3 Likes

Capacités techniquesModifier

La Turbografx-16 connectée au lecteur TurboGrafx-CD

  • Processeur : CPU 8 bit, un HuC6280 (custom d’un MOS 65c02) à 7,16 MHz, mode 1.79 MHz disponible pour lecture/écriture dans la Backup Ram (BR).
    • RAM : 8 kio, SRAM 100 ns.
  • HuC6260 (VCE) : Video Color Encoder, contient les données des palettes (tiles, sprites), défini la fréquence de fonctionnement du VDC de la console (dot clock), fournit le signal vidéo de sortie. Cette puce n’est pas un GPU.
  • Couleurs : 32 palettes de 16 couleurs, 16 palettes pour les tiles et 16 palettes pour les sprites (482 couleurs affichables simultanément).
  • Palette : 512 couleurs, 9 bits.
  • GPU : HuC6270A (VDC) 16 bits, câblé en 8-bit côté CPU.
    • RAM vidéo : 64 ko, 16 bits, SRAM 140ns.
    • Résolution : 256 × 240, 336 × 240 et 512 × 240 pixels classiques. Le GPU (VDC) étant programmable, de nombreuses résolutions sont possibles (256 × 224, 320 × 240, 280 × 224, 344 × 240, 565 × 240,etc …).
    • Nombre de sprites : 64 sprites de taille 16 × 16, 16 × 32, 16 × 64, 32 × 16, 32 × 32, 32 × 64 pixels affichables simultanément à l’écran, dont 256 pixels sprites sur une même ligne, soit 16 sprites 16 pixels de large ou 8 sprites 32 pixels de large…
    • Scrolling V/H hardware programmables au pixel.
    • Interruptions Horizontales programmable à la ligne sur toutes les lignes (celles en VBLANK comprises)
    • Interruptions verticale (VBLANK), timer, collision sprite 0, sprites overflow, DMA .
    • Possibilité d’afficher ou pas les sprites et/ou le background .
    • DMA programmable pour transferts VRAM->VRAM pendant le VBLANK, 6.3ko en mode H32, jusqu’à 12,6ko en H64.

I was wrong as the truth is important. I think it’s 384*256 to confirm. https://www.gamesdatabase.org/mame-rom/nspirit

As you see the vertical can not be integers… Ex 1920*1080p
Vertical aspect 1080/256 = 4.218 ( bad scanline)…

So me playing in 4k. 3860/284=10.0520 ( I have artifacts in ninja spirit mask and scanline) You if you are in 1080p you are good in horizontal 1920/384 =5 ( you are good with a 1080p screen in horizontal not my case in 4k for example).

2 Likes

It’s very close but not quite identical. Zoom in on my photo and you can see the vertical RGB phosphors. One way you can tell an RGB subpixel mask is working properly is that the subpixel order will appear reversed in a photo (BGR if the LCD is RGB), which you can see in my photo. This is because the magenta-green mask results in the following when using RGB subpixels:

RxBxGxRxBxGx etc.

However, at normal distances the vertical RGB phosphors blend into what appears to be a solid black line. The black and white mask is a good enough approximation of what the mask looks like at normal distances. You do lose some dynamics using the black and white mask, but it’s a decent compromise for some subpixel layouts such as RGBW. I would probably be satisfied with such a display.

magenta-green aperture grille pattern is mask 0 in GDV and the black and white aperture is mask 7 unless this has changed since the last time I updated :stuck_out_tongue:

5 Likes