Thank you so much for taking the time to reply with so many details, you can ignore the nes aspect ratio bit, I got confused I think.
Although SNES’s 256/224 native resolution would give you an aspect ratio of 8/7 if left 1:1, when output on a CRT it is stretched horizontally to 4:3. You can think of it as a sort of anamorphic implementation.
If you’re playing SNES games at 8:7 aspect ratio, you’re doing it wrong…err…well at least…inaccurately.
Really? Don’t some things look better in 8:7 than 4:3? I only play in 4:3
Yeah Zelda link to the past is a good example, link is a bit less fat in 8/7.
With emulators you can set aspect ratio how you wish however if you want to mimic the look of the actual original hardware on an real CRT, you can take a read of the following.
Display modalities
The system outputs a standard resolution of 256 x 224 pixels at ~60 Hz (NTSC) [9]. The European PAL variant outputs 256 × 240 pixels at ~50 Hz instead (to abide by the PAL specification). Be as it may, most games don’t use the extra pixels and show a letterbox (black lines) instead.
Now, here’s the tricky part, traditional TVs have an aspect ratio of 4:3. Yet, if you do the math, the Super Nintendo’s output resolution has an aspect ratio of 8:7 . Consequently, after beaming the picture on the TV, it will look horizontally stretched , as if it were a 292 x 224 pixels frame instead (in the case of the NTSC variant) [10]. To put it in another way, you could say pixels on the Super Nintendo have an aspect ratio of 8:7 instead of being ‘perfectly squared’.
I see it this way: Games like Link To The Past or Super Mario World 2 should be displayed in 4:3 because that’s what we got in Japan/US - that’s how those games were played, the normal way they looked.
Games like The Lion King, The Lost Vikings, or Zombies Ate My Neighbors that you played on the Sega Genesis without being stretched? Play those in 8:7 so they’re not stretched either. (though out of the three I listed, you should really only be playing Zombies Ate My Neighbors on the Super NES since they’re better on the … Sega Genesis)
Hi @Cyber,
First of all, let me say that I really enjoy your shaders. I do have some questions though! I’m currently using the Computer-Monitor-Sharp shader. I’m playing on an OLED nLG C2 TV and I’ve noticed that the games can’t go completely black. I’m guessing you are emulating the glow of an CRT, but I’m wondering if that is something that I can change in the parameters without butchering the overall image. I’ve taken a screenshot of what I mean:
As you can see, the game’s image is much more gray than the black borders around it (I’ve disabled the bezel). It feels like I might not be taking full advantage of my OLED tv because of it. I’m wondering if you can provide some insight!
It looks completely black on my miniLED TV under bright lighting but I was able to see very very slightly raised black on my AMOLED phone but only after zooming in, raising the brightness and looking very carefully.
Perhaps your TV’s Black Level is set to Auto instead of Low? LG is always playing around with Black Levels between firmware updates.
Other than that, are you sure you’re using Mega Bezel Reflection Shader v1.14.0?
Not necessarily the glow but CRT’s didn’t have true black levels like an OLED TV.
Your OLED TV’s job is to accurately display the content fed into it. I wouldn’t say that you may not be taking full advantage of it because it’s not displaying something in the way that you like but rather is displaying it accurately to the source.
With that said, I probably haven’t used those particular presets in a very very long time. So I’ll load it up and take a look at the output as well as any parameters which may affect black levels just to make sure.
I reiterate though, be sure that you’re using Mega Bezel Reflection Shader v1.14.0 with version 1.14.0 of my CyberLab Mega Bezel Death To Pixels Shader Preset Pack not version 1.17.2.
I also invite and encourage you to try many other presets and preset packs I have created, for example my Mega Bezel HDR Ready Presets and also, my CyberLab Neo-GX presets, then there are my Uborder, Sony Megatron and miniLED preset packs.
You’re missing out on a lot if you don’t sample the variety and especially the new stuff
miniLED or W420M doesn’t mean you need miniLED TV to enjoy and appreciate the preset. They just refer to what type of display they were created on not necessarily exclusively for.
Incorrect Mega Bezel 1.17.2 output:
Correct Mega Bezel Reflection Shader v1.14.0 output:
From the first post as well as the readme.txt:
Yes, but you’re going to have to work with me especially since I don’t really use my presets on my cellphone that much so not much testing has been or is being done in that regard.
I have 4 shader preset packs which use the Sony Megatron Color Video Monitor shader so it might help if you also state which preset pack you got which shader preset pack from and use the entire filename for ease of identification.
- CyberLab Megatron NX Death To Pixels 4K HDR Shader Preset Pack
- CyberLab Megatron NX W420M Death To Pixels 4K Shader Preset Pack
- CyberLab Megatron miniLED Death To Pixels 4K HDR Shader Preset Pack
- CyberLab Megatron Death To Pixels 4K HDR Shader Preset Pack
For mobile I currently only use my first CyberLab Megatron Death To Pixels 4K HDR Shader Preset Pack as the presets in that one tend to be lighter on resources which make them more suitable for my device. The NES_N64_Saturn presets are only 3 passes so they’re very light on resources.
I don’t have much experience dealing with those uneven scanlines at 1080p but what I’ve observed from my testing at 4K is that custom integer scaling/aspect ratio can work wonders.
For each combination of console/emulator core, CRT Mask Type, TVL and possibly scanline settings there are vertical scaling settings that work best and other that look less than perfect.
I’ve not been able to use all of the scaling settings on the older version of RetroArch I was using before and I’ve now switched over to a newer one and still trying to get familiar with it, but definitely try to adjust the scaling either upward or downward slightly and see if it makes a difference.
For 1080p Aperture Grille presets might be the most flexible.
If you provide more information about the preset used so I can test it, I’ll be happy to share my findings but my device might choke with those presets though.
OK, so I’m using the Death to Pixels 4K HDR shader, the bottom one in that list without NX on it.
The preset I’m using specifically is: CyberLab Megatron 4K HDR Game SNES Sharp Fine.slangp. The only changes I make when configuring it is switching HDR off, and setting it to 1080p. Everything else is stock.
I have also used Cyberlab Megatron 4K HDR Game NES Composite Slot Mask.slangp, again with the only above settings changed. This is the result that it gives me.
So far none of the shaders themselves have given me any performance issues, at least.
Thanks for the added detail. What core are you using?
I see it looks like there’s a bit of black border on the top and bottom.
Some Cores have auto aspect ratio. You can experiment with it on or off and also the overscan settings in the Settings–»Video–»Scaling Menu but what should ultimately resolve this is finding the Integer Scaling/Aspect Ratio sweet spot for this preset. So just make sure Integer Scaling is set to On and also set integer scale Overscale to X + Y and you can experiment with Smart, Overscale or underscale and it might give you the results you’re looking for automatically or you can manually set a Custom Aspect ratio and adjust the X and Y values until the uneven scanlines disappear. You can try positive values first and if that doesn’t work or you run out of space to scale upward, then try lower values.
You can let me know if it works, other than that you can try a different CRT Mask Type and/or a higher TVL.
The is Snes9x, haven’t tried any others.
For aspect ratio I have been using 8:7 with integer, I’ve been using underscale as I didn’t want to crop any of the image if I can avoid it. I may have been being an idiot though. Will X+Y make a difference? I’ve only been running it off Y, or whatever the default is…
Don’t use 8:7 with SNES please. Although the system technically outputs an 8:7 resolution, on a real CRT that image is always stretched horizontally to 4:3 producing non-square pixels.
I doubt that.
X+Y can help things to be better aligned in the horizontal direction as well, for example the CRT Mask. Particularly the Shadow Mask Presets, they sometimes benefit from horizontal integer scaling, producing less moiré patterns.
Since my W420M Presets where I experimented heavily with Custom Aspect Ratios to get the Shadow Mask Presets looking good, I’ve stuck with some of the things I learned.
This may be the only way to maintain the proper aspect ratio when adjusting the vertical scale to arbitrary levels but I just stick with integer scale on X + Y and try to get it as close as possible. At least that’s what I’m doing these days.
I play on a large screen but I’ve noticed that bigger isn’t always better when it comes to image quality and all elements of the CRT emulation aligning and coming together,
Certain scale factors will look better than others, and those sweet spots are a joy to experience. Take a look at the presets where I’ve included recommended CAR values and you’ll see what I’m talking about or just do some experimentation on your own.
I know that 8:7 is not how it’s supposed to look on a CRT I just find certain games looks so stretched when played at 4:3…well at least I find something like Chrono Trigger does, I know not all games are affected in that way.
I need to investigate more into this X and Y scaling. Only scaling on Y might have been the cause of my troubles.
Can I ask, when testing more generic shaders (I appreciate that many of yours included a specific option for OLED) there is the option of BGR or RGB, will those shaders even display correctly? My RP5 uses the same pixel layout I believed as most AMOLED phones of this era.
Also, for the installation for these packs, like the original Megatron 4K HDR pack, not the NX one, will it work properly with the most up to date version of guest shaders, or does it still need to be the ones specifically linked in the post?
Okay.
Probably, or it’s probably even simpler than you think. Since performance isn’t an issue, feel free to try out my latest Megatron miniLED Preset Pack.
That’s not what it is you know. Those are really just notes to reference and remember which TV the presets were designed on. I can understand the confusion but I was hoping users would have at least read the readme. So presets which were designed on a WRGB OLED TV would have OLED in the filename as well as which picture mode was used. If a user is using a similar or identical display, that might be advantageous but that doesn’t mean those settings won’t work or look good on other displays. In any case users are supposed to be setting their Peak and Paper White Luminance for their individual displays as well as the Display’s Subpixel Layout/Mask Layout and Display’s Resolution and Resolution (TVL) parameters.
There’s no precise matching subpixel layout in CRT shaders for AMOLED or QDOLED displays so any subpixel setting selected might be equally wrong. With that said, the display is still going to try it’s best so you can just use RGB or whichever one looks best to you.
A lot has changed in CRT-Guest-Advanced-NTSC to allow things to be easier to achieve which I personally don’t feel a need for yet so the presets which use some features which have changed may not look as intended with different version of the shader.
This should only affect presets which use NTSC effects though.
For my W420M Preset Pack onward, the requisite CRT-Guest-Advanced-NTSC shader version is included in the pack. from my NX version onwards, the CRT-Guest-Advanced-NTSC Shader has to be installed in it’s own standalone folder so it wouldn’t be affected by the Online Updater.
This can be done with my 1st Megatron HDR preset pack as well but I don’t really want to make RetroCrisis’ Installation video redundant.
Anyway, you probably don’t need to be playing around with the scaling settings of shader passes. All of my previous scaling tips concern the Settings–>Video–>Scaling and most should work fine with just Integer Scale set to On and Aspect Ratio set to Core Provided or 4:3.
So I went ahead and loaded up my latest SNES preset as well as the “old” one you were playing around with at 1080p desktop resolution and took some screenshots.
Any good way to get thicker black lines in retroarch? I’m particularly trying to get pc98 emulation working with this - i say this to point out most of the things that force 4:3 ratios wont work.
Extra details:
I’m using the megatron shader with reshade on my pc, but wanted to try to get something close to that in retroarch on android. Can’t seem to get anything that really looks quite as sharp on on my 4k hdr phone display (or tv) inside of retroarch using internal shaders.
I really like the reshade method since I can set it once and it works with all my cores dynamically, no tinkering or per core shaders needed, but can’t quite recreate this inside of retroarch either.