Sony Megatron Colour Video Monitor

This is just a “Zoom-In” from the screenshot I posted above from the Flycast Emulator running Soul Calibur. I use a LG GX OLED TV and currently I am running Peak Luminance @ 1000 and Paperwhite @ 700.

Here are some close pictures I took with my smartphone from the same scene off the TV. The first is with RGB Subpixel Layout and the second with RWBG Subpixel Layout:

It seems, that both Subpixel Layouts work well with WRGB OLED TV’s, so I will stick with RGB.

Also I want to mention, that the Red, Green and Blue Deconvergence settings in the shader allow for very precise fine tuning of the phosphors, which is a very nice addition to the shader.

It can also help to eliminate “Rainbow” artifacts when games with slightly different resolutions are being played. I experienced this for example with Mortal Kombat, which has a slightly different resolution than 240p or 224p. Here the Deconvergence settings have to be used for a clean picture.

2 Likes

So the shader looks better in the standalone emulator with reshade than in retroarch? I had problems dialling in the correct resolution when using crt shaders in reshade, but haven’t tried in a while. Has it got easier? I’m surprised by the rgb mask on your oled, looks good. Does your tv actually reach 1000 nits or is that just the setting you preferred the look of from the shader? As a side note, I’ve also been watching the retrotink4k progress with interest. Tempted to use it for connecting an Amiga to my oled, but as you say it’s quite an expense!

2 Likes

This has been proven to not generally be the case at least with LG OLED TV models/shader preset settings prior to yours.

If you don’t mind, can you take some stabilized pics of something white or grey showing the RGB phosphor triads using RGB layout and OLED layout, both with and without Deconvergence using the Mask Accurate Mode (feel free to include Colour Accurate as well if you wish) please?

I just want to see if there has been a positive change in the layout or panel technology for our use case.

This is correct, I more use vertical Deconvergence to attempt to mimic the slight imperfections in convergence that a real CRT might have but I haven’t been using it in a more intricate way recently.

Are you saying that the tweaked Deconvergence is what might also be contributing to that near perfect RGB layout in those pics you shared?

I really have to ask again…just for confirmation…not doubting you…

This is from your LG GX OLED TV using RGB Layout in Sony Megatron Color Video Monitor using tweaked Deconvergence settings?

Would you mind sharing your preset or at least your Deconvergence settings so that others can try them?

@hunterk, @MajorPainTheCactus, @guest.r, @Nesguy look at this thing of beauty! Can you believe this is WRGB/W-OLED?

4 Likes

Okay so I just did this and it looks much better. Just the way it did when I made my presets.

The only difference between colour_grade.h in 5.6 vs 5.7 is that this:

v5.6

const vec3 linear = r601r709ToLinear(white_point); //pow(white_point, vec3(HCRT_GAMMA_IN));

…was changed to this:

v5.7

const vec3 linear = pow(white_point, vec3(HCRT_GAMMA_IN)); // r601r709ToLinear(white_point);

I’m not a coder so I don’t know what it does but it looked and worked much better before. Unless this is really how things are supposed to be and need to be for whatever reason, can I kindly ask that this be reverted in the main RetroArch repo please?

1 Like

That would be the bugfix. The version in 4.2-5.6 was causing the darkest colors to be brighter than they should have been relative to brighter colors, at least on my, @MajorPainTheCactus’, and @Wilch’s systems. MajorPainTheCactus thought it was double tonemapping.

If you set Megatron’s brightness, saturation, and contrast to 0, gamma to 2.22, enable Colour Accurate mode, plug the same peak luminance and paper white settings you use for Megatron into Retroarch’s stock HDR menu, and compare Megatron to disabled shaders, does the output without shaders look more similar to 5.6 or 5.7?

Edit: It’s probably not this, but can you double check if you somehow ended up with “Output dynamic range” set to Full in NVCP, but your display’s Video Range/Black Level set to Limited/Low? Because as it turns out, that more or less completely covers up the bug in 4.2-5.6 and crushes blacks in 5.7.

2 Likes

Okay, I did this and at first I was wondering how I was going to compare output with scanlines and Mask enabled to without because obviously the Shader On would be darker but I did test both scenarios with the v5.6 and v5.7 colour_grade.h and the version 5.6 one is definitely closer to with the shader off. i.e. It’s considerably brighter overall and therefore it’s much closer to the brightness with the Shader Off compared to v5.7.

It doesn’t only affect the near blacks, even the Yellows, Blues and Reds seem darker in the game that I used for my latest test - Lords Of Thunder - TurboGrafx16 Super CD-ROM².

It’s probably not, because I just checked this and my driver is set to RGB 4:4:4 Full and my TV’s Black Level is set to Auto.

1 Like

I have made an awesome discovery today!!!

The Megatron Shader is also usable with Open GL and Vulkan API’s in HDR - if you own a Nvidia graphics card. I searched online for solutions and discovered this thread at the reddit forums:

https://www.reddit.com/r/nvidia/comments/yf6hiw/psa_you_can_now_elevate_openglvulkan_games_to_a/

I tried it and it works :smiley:

In Reshade in the Megatron menu you have to leave the SDR/HDR setting in SDR, but it works in HDR, because windows converts everything now from SDR in HDR, regardless if reshade is used or not. And all colors look like they should look with correct color and gamma tonemapping - aaand HDR brightness :grin:

I think you can now run every CRT shader you like, for example from guest or CRT royale etc. with higher HDR brightness and also use the Megatron shader within Retroarch with the SDR/HDR setting set to SDR and it will work too in HDR.

Only the Megatron reshade shader from our man, MajorPainTheCactus is needed, the AutoHDR reshade plugin is not needed for HDR to work anymore! When you start the Game, you even get a HDR message from Windows, stating that it’s activated.

I hope you will test it out, if you have a NVidia card - and post some feedback.

Also a little hint I discovered: In Windows 11 you can press the following buttons on your keyboard simultaneously to activate and deactivate HDR without going in to the settings menu:

Windows hotkey, Alt and B

This makes it more comfortable.

2 Likes

This is the message I get now from Windows 11, when I start a game (sorry for german language, it somewhat says, that the game was improved with a brighter and more vivid image via Auto HDR ):

This is how it looks ingame (as far as my camera is capturing it) with the Megatron Reshade shader set to SDR running the Sega Supermodel Emulator and Daytona USA 2:

And this is the CRT adjustment menu within Daytona USA 2 (all steps are visible correctly without any clipping):

My camera somewhat makes the colors slightly duller than they really are, in reality it all looks punchy and vibrant like on a real CRT TV, without any exeggaration or oversaturating like the “HDR Vivid” setting in the Megatron shader does ever so slightly.

3 Likes

Basically the Swapchain setting in the Nvidia control panel activated Auto HDR for games on my PC and in the first place allows Open GL and Vulkan games via DirectX API to run also in AutoHDR, which was the missing part with Megatron reshade, as the AutoHDR reshade Plugin from MajorPainTheCactus does not work with Open GL and Vulkan at the moment.

Here is some discription from Microsoft regarding AutoHDR:

https://support.microsoft.com/en-us/windows/use-auto-hdr-for-better-gaming-in-windows-0cce8402-3de5-4512-a742-e027ca7aa79c#:~:text=When%20you%20turn%20on%20Auto,is%20turn%20on%20Auto%20HDR.

2 Likes

Okay, now this makes a little more sense to me…

Originally this statement along with your enthusiasm about your discovery had me a little confused because I wasn’t sure if you were referring to the Sony Megatron Color Video Monitor shader in RetroArch as well because this has supported HDR in Vulkan for a very long time now.

You seem to have a really good emulation setup there, especially with those magic RGB phosphors seemingly working properly on an LG WRGB/W-OLED TV, which is actually a first at least for me.

Would it be possible for you to create a couple step by step guides using text, images and video or a combination of the 3 in a simple and clear manner that a baby can understand, showing users how they can set things up the way you have so that they can also share and experience what you might be experiencing?

I think this would be an immense contribution to the emulation community in my opinion.

As a matter of fact with this entire area of HDR implementation is probably one of the most significant milestones in CRT emulation development and history to take place in a very long time, yet who really knows about this appart from possibly a handful of us forum lurkers?

I would say that that is a tragedy.

I’m nervous. I hope I can get mine to look as good as yours. Lol

I believe you! I’m just imagining all the succulent CRTness you’re enjoying!

Thanks a lot for sharing this!

There was another user over on my preset pack thread a while ago who told me he used AutoHDR with other shaders. At the time I didn’t really think much of it. Just felt like AutoHDR might alter the colours but now you have me really interested in seeing it for myself.

After experiencing these HDR shaders it’s really hard to go back. It feels like a generational advance in CRT emulation.

I look forward to seeing universal support for HDR modes in all shaders in the future.

What do you think about that @Dogway?

2 Likes

After I posted here this morning, I did some more tests with the PCSX2 and Redream emulators and they don’t work with the Windows 11 AutoHDR feature, but I think there are also workarounds for this, if you dig deep enough in the internet for solutions.

But so far I got some of my favorite emulators working with AutoHDR, which includes Teknoparrot and Sega Supermodel.

Here is a quick Step by Step guide. At the moment I am not home, so I can’t post videos or pictures, but I try to explain it as good as possible.

Windows 11 is mandatory and any other OS will not work as far as I know.

  1. Make sure that your TV or Monitor is working in 4:4:4 chroma, so the shader will not look distorted. Look also in the control panel of the graphics card, that the signal is send in RGB

  2. Check your video levels, the TV and PC should work in full range 0-255

  3. Install your favourite emulator and set your video settings as wished in the emulator before installing reshade. Set the resolution output to borderless full screen in the emulator

  4. Install the reshade Addon version and select the emulators exe file during installation. Then choose the API the emulator will use, i.e. DirectX, Vulkan or Open GL

Note, that Vulkan and Open GL will only work if you have a Nvidia graphics card with a current driver and set the Swapchain “hack” in the Nvidia Control panel, as described here:

https://www.reddit.com/r/nvidia/comments/yf6hiw/psa_you_can_now_elevate_openglvulkan_games_to_a/

This will allow the Vulkan and Open GL API to “work over” the DirectX API within windows and makes it possible to run the AutoHDR Windows 11 feature which normally only would work with DirectX11 and 12.

  1. Turn AutoHDR on in Windows 11:

https://support.microsoft.com/en-us/windows/use-auto-hdr-for-better-gaming-in-windows-0cce8402-3de5-4512-a742-e027ca7aa79c#:~:text=When%20you%20turn%20on%20Auto,is%20turn%20on%20Auto%20HDR.

  1. Run the emulator and look if the “AutoHDR” message from windows pops up and also look if the reshade menu in the left upper corner is activated

  2. If everything went fine, close the emulator and insert the reshade files from MajorPainTheCactus into the reshade-shaders / Shaders folder:

  1. Start the emulator again and the Megatron shader menu should be available in reshade now. There you can tune it to your liking. With Windows’ AutoHDR you have to set the shader itself to SDR, as Windows 11 now does all the tonemapping

I think these are the basics and it would be nice if you try it for yourself and post your opinion.

If you search on Youtube about the Windows 11 AutoHDR feature, you can see that it works remarkably well with many games:

Even if it’s a kind of “fake” HDR solution, because the games we use are not programmed with HDR in mind, I think it can look very convincing. With OLED’s I see no other solution, as they are just too dim in SDR for my taste with shaders that use 100% masks. Brighter LED, especially newer Mini LED TV’s and monitors should work in SDR too without all those workarounds. Maybe even the newer LG G3 OLED, which I want to buy next year when prices come down, may work in SDR, as it has much higher brightness than my current LG GX.

If there are any questions regarding the setup, I try to help.

2 Likes

Thank you so much for this, you’ve given us plenty to work with here. I’ll definitely give it a try at some point time permitting.

For Dreamcast you can use the FlyCast Core in RetroArch alongside the Sony Megatron Color Video Monitor Shader.

On another note, this is what my LG 55OLEDE6P Subpixel Layout looks like when displaying Full White using Aperture Grille Mask at 300TVL. Mask Accurate Mode, No Deconvergence.

RGB Layout - 0.00

RWBG (WOLED) Layout - 1.00

I’ve tried adjusting the Horizontal Deconvergence while using RGB Layout to see if I can get my triads to look more like your RGB example but I it doesn’t seem to have the ability to move the subpixels any nearer or closer to one another (which is understandable because you can’t light subpixels which aren’t there so how do you move red, blue or green phosphors horizontally in relation to one another.

Would it be possible for you to share a couple photos of your screen showing its subpixel layout under similar conditions?

I just want to see if there is a difference in the layout of the subpixels in your more modern panel.

I used Macro Mode with exposure set to the lowest with some basic mechanical stabilization for my pics.

1 Like

I am also using Subixel RGB layout and it looks good on my LG GX.

As soon as I am home and have some time I will post some screenshots.

Regarding Flycast, I already tested the Retroarch Core as I posted earlier, but the Core has more graphical glitches than the standalone Flycast emu and also scales the games differently resulting in weird looking CRT masks.

I also have to try out Flycast with Windows AutoHDR again, maybe this will work.

2 Likes

Assuming you are using Windows:

if you use auto hdr, make sure to use the calibration tool to get accurate nits and white level. “Windows HDR Calibration”. This will create a special HDR color profile that Windows will use for AutoHDR.

If you need to automatically turn HDR on/off, you can try AutoActions

Manually: Win + alt + B

3 Likes

Apologies been away. Yes ok so when you say this what are you referring to? Are you saying some process in the electron beam exciting the phosphors automatically gamma corrects? I was under the impression the power gamma is just a relatively simple way of making biasing the luminance to match the human brains interpretation of light so that a grey ramp appears evenly distributed to us rather than a linear luminance which doesn’t. Although I have no real idea I’d have imagined the evolutionary/biological reason is to do with the iris opening and it being a circle and so an exponential curve of light coming in as it opens. How does a CRT naturally adapt luminance in this way - I do realise different displays have different gamma but I thought that was to do with the internal circuitry being implemented differently?

1 Like

Ill try and have a look and see what the artefacts look like.

1 Like

Hmm yes that could be to do with scaling but it shouldn’t be that bad.

1 Like

As far as i’ve read (here for example), it was the cameras that included that correction circuitry. Which makes sense when you think about it.

Like, if all TVs were going to behave in the the same way in this regard anyway since they all used the same general techbase, why would you include that circuitry in the mass produced equipment at the very end of the chain when it would be cheaper and less complicated to include it in the more limited run specialist professional equipment earlier in the chain.

1 Like

Yes, gamma is the distribution of black vs white, and the curve represents the difference between mathematical consistency (linear gamma) vs perceptual consistency (roughly 2.2). Higher and lower gamma values have been subjectively favored at different time periods and in different standards based on preferences at the time. CRTs (at least color ones, I guess) were designed around a higher gamma (2.4-2.5) presumably to produce richer colors. This is a good document about it: https://www.benq.com/en-us/knowledge-center/knowledge/gamma-monitor.html

2 Likes

Just a quick hint for anyone who uses the reshade port of Megatron. The “CRT Height” setting is very important for correct scaling of the games.

I found out, that it should match the games native vertical resolution for proper scaling. The internal resolution upscaling from 384p to for example 2160p doesn’t matter here, only the original resolution of the game is important.

For example the Sega model 3 games have a native resolution of 496x384 pixels. For correct scaling, the CRT Height setting should be 384 instead of the default value of 240.

Here is a comparison:

240 (looks wrong):

384 (looks correct):

In Retroarch the CRT Height setting is missing, so I don’t know if there is a solution for this when you want to play games with a different resolution than 240p.

3 Likes