Duimon - HSM Mega Bezel Graphics and Presets - Feedback and Updates

No, it’s not veritcally mirrored but rather horizontally. I tried switching to ps1 bezel and the background picture is not being mirrored, only for ps2 bezel (and drez variants).

ps2 bezel (background image is mirrored for some reason): https://ibb.co/99ZbvTPv ps1 bezel (working as intended): https://ibb.co/q3vsZdHB

Core and video: https://ibb.co/m5xmM7JH

From your shot, I think it is flipped vertically. Try the parameter that flips the background.

What exact preset are you using. Vulkan shouldn’t have an issue so maybe it’s the preset.

The preset is called Playstation2-[ADV]-[Guest]-[Bezel].slangp. Same flipped image is on night and drez variants. Haven’t been able to check all of them.

1 Like

I’ll give the presets a test run. There is always a chance of an old setting creeping through.

Ive after a Nintendo 3d like the 3ds one you released.

seems like Flip Viewport Vertical defaults to 1 for ps2 bezels for some reason. Changing it to 0 resolves the flipped image. Dunno why it’s the case, i’ve tried fresh install from github page.

In the past when running hardware rendered cores, plus Mega Bezel, the output was flipped vertically, so the shader parameter to flip the viewport vertically was needed to resolve this.

Subsequently, logic was added to detect this behaviour in at least some of the “offending” cores so the shader parameter setting was no longer needed / redundant.

So this could be what’s at play here.

1 Like

My point exactly. I’ll get it in my planned update. It’s a minor inconvenience compared to the pre-wildcard days.

1 Like

Hello!

I have a question this yellow in the screens only happens in the NDS_Vertical-[ADV]-[LCD-GRID]-[Integer].slangp and the -[Night] is there a way to get rid of it?

1 Like

Not really. It has to do with non-integer scaling and the lcd-grid shader. You can try other available presets.

Just to be clear… The (Integer) in the preset name has nothing to do with the shader settings. (I forget now what I was thinking. :innocent:)

The next preset (The _Alt one) is actually much closer to integer scale. (On 4K you can turn on integer scaling and it just changes things by a small fraction.)

From your screenshot resolution I think, the issue may be the size of your screen. There just aren’t enough sub pixels to display the grid correctly.

I ran into this while developing the NDS and the 3DS presets. That’s why I included presets that use the Guest CRT shader.

I love your presets and I can’t imagine playing retro games without them anymore. They just add so much flavor and I am so grateful for al of your hard work!

The only “weakness” (if you can call it that) of your presets is that they don’t use integer scaling. I fully acknowledge that it might just not be possible to display all systems with integer scaling, but for me, all the flavor I mentioned above goes away if the screen has these weird display issues that come from not using integer scaling.

So as much as I want to use the LCD shader presets, I usually avoid them.

1 Like

Yeah, you have to pick your consistencies. If you want every preset in your collection to have the same base interface, you have to ignore the native resolution of the source consoles. If you decide to respect the native resolution above all else and stick to integer scaling, your preset interfaces will fluctuate. If you want your presets to have the same curvature and and image quality and be predictable to the user, you’ll have to ignore the evolution of screens from the 1970s and into the 21st century.

And as long as you stick to your chosen principles, you’re not wrong. But you’re also never right. Just the nature of the beast.

1 Like

Thank you for the kind words. It has been the ultimate pleasure serving this community.

From a real-world perspective, even the LCD, but especially the CRT systems… actually suffer from Integer scale. Retroarch uses the pixel ratio for CRT systems and in the real world it was stretched to fit the TV or monitor.

Just because some system used an oddball aspect ratio, the resulting image was not cropped in any way. Even early PC monitors didn’t crop the screen (Because the OS wasn’t able to control the output, or draw to the entire limits of the screen.)

From a shader perspective (Micro), a lot of issues can be solved using integer scale, so I am glad the option is there, but from a realism point of view (Macro) I think it defeats the purpose.

1 Like

I prefer the stretched image, too, because that’s how it was in the real world and how I remember the games looking. Maybe I don’t understand correctly, but stretchig / not stretching the horizontal aspect is different from integer scaling, right?

I mean, I can choose to enable integer scaling in retroarch and still choose different aspect ratios that will stretch the screen.

For CRT shaders, it’s enough to have integer scaling on the y-axis, so the scanlines align correctly. Stretching the image along the x-axis has no negative effects to my knowledge.

For LCD shaders, I do think, it’s necessary to have integer scaling enabled, because if not, there are these weird colorization issues and it’s very distracting.

For PC-systems like DOS, I don’t actually know. I think they look infinitely better with your shaders, but I had discussions on Discord about this, and there are DOS-purists out there who won’t have any of that. They argue that the pixels get distorted with shaders like that. But I don’t know, man, I have eyes and DOS-games on a modern TV screen look rough without shaders.

1 Like

It’s just my two cents but Duimon / Mega Bezel / CRT Guest did a amazing job at reproducing real CRT, i don’t need to play on a real one anymore.

For some weird aspect ratio (like PC-88/PC-98 or some Arcade game), i just tweak some settings with either core option or shader parameters, i always find a solution and i got at least 36 systems pretty accurately done (console/computer/handheld).

I learn a lot about technical aspect on each system i got because of that, it really helped.

Interlaced and Double Scan (for 480p DOS game) is the most tricky for me because there is currently a bug in Megabezel and you need to fiddle some value to make it work (you need to change res sampling multiplier to 101 and interlaced mode to 5), it’s fine for 480i/480p all alone but it’s not perfect on game with switch resolution (240p/480i in a lot of PS1/Saturn game) because scanline cannot be perfectly aligned for 240p content.

I mean it will never be the same as a real CRT, but it’s perfect for me because i can combine RGB color output and Composite effect (NTSC preset) for good pixel blending, dithering and mesh transparency + some artifact for 8/16 bits consoles/computer on the same shader.

I hope this project still continue in the future, thanks Duimon and everyone else on this big project.

4 Likes

Hi @Duimon , I’m looking for a way to change the default bezel included in your preset pack. I’d like to know which file to modify and which line to change so that the current bezel points to the HSM Mega Bezel stock bezel, while still using the Duimon Mega Bezel shader settings.

I want to achieve this for handheld consoles (GB/GBC/GBA/DS/3DS); here are the presets I’m currently using:

Gameboy-[STD]-[LCD-GRID]

GBC-[STD]-[LCD-GRID]

GBA-[STD]-[LCD-GRID]

NDS_Hybrid-[STD]-[Guest]

3DS-[STD]-[Guest]

Here is a Photoshop-edited image showing a visual representation of what I’m looking for (it’s not exact, but it’s an approximation).

As I said before, Duimon - HSM Mega Bezel Graphics without the background Graphics and CyberLab Mega Bezel Death To Pixels without the CRT screen effects, is just Mega Bezel.

It’s already included in RetroArch just read the first post and the readme.md.

If you read those resources, you’d know exactly what to do. Or at least would be asking a different question if you did and still didn’t understand.

Hi @Cyber , thanks for the reply. I understand your suggestion to read the readme file, but since I’m noticing a recurring pattern, I want to clarify my stance: the documentation for HSM Mega Bezel and its derivative projects is remarkably extensive—to the point where it can overwhelm a casual, non-technical user. While I’ve read parts of the “readme.md” and CyberLab’s post, I haven’t finished reading everything for two reasons. First, as I mentioned, the documentation is dense and lengthy, and I didn’t find what I was looking for there—which is why I came here to ask after reading the essentials. Second, I’m not looking to become an expert on HSM Mega Bezel or earn a “mastery” that requires hours of reading and research; I end up jumping between readme files, posts, and Git repositories without getting anywhere. This is just my personal perspective, of course; other users might have better luck navigating the readme.md and the initial post (though it’s still not entirely clear exactly which source you’re pointing me to—I assume you mean the specific readme.md for CyberLab’s and the specific post where I downloaded it). I believe my question could be answered with direct instructions right here, rather than just being pointed to sources that leave me wandering through walls of text and hours of research. I’m really hoping for a straightforward guide rather than just a reference to a source; from my point of view, what I’m asking for is something that could be answered with a clear explanation and guidance within this very thread.

I wanted to focus on handhelds this time because Duimon has settings I’m interested in keeping. I’m not entirely sure, but judging by the screenshots I uploaded (specifically for DS/3DS), it looks like there’s more going on than just the stock HSM Mega Bezel setup, so your recommendation to simply use the “Base” version wouldn’t achieve the result I’m looking for. I apologize if I’ve been a nuisance regarding this topic; I was simply hoping for direct answers here rather than an invitation to do a more complex research. I have great appreciation for the work the community has accomplished with shaders and presets—especially iconic projects like those by @HyperspaceMadness , @Duimon , and you @Cyber . I don’t mean to bother any further with this; perhaps the whole custom shader and preset scene just isn’t for me. Thanks for taking the time to reply.

Why even doubt me when you clearly seem to be confused by the documentation? I don’t think I gave you any wrong information based on my experience with both Mega Bezel and Duimon’s presets. Mega Bezel is the engine behind Duimon’s presets and he has admitted to leaving things mostly stock, apart from the background graphics, lighting, placement and those elements. What you’re seeing in those photoshop edited images is the work of both the DS Core’s output settings, which cater for different dual screen output configurations as well as the default Mega Bezel behaviour of drawing a procedurally generated reflective bezel around said game content viewports. More than one screen is in fact officially supported by Mega Bezel. The carbon fiber background which is in your edited photo, is Mega Bezel’s stock, default background.

Mega Bezel and it’s presets are already on your system since Duimon’s backgrounds require it to work and it is installed automatically once you update your slang shaders using the online updater.

How hard is it to just load a Mega Bezel Preset and see what happens for yourself?