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

Hi guys I have a general question that any experienced user can answer…

I downloaded this Windows game collection called “ExoDos”. These are like 80’s and 90’s era games for Windows PC. I’m currently in the process of running the setup, which integrates the games into LaunchBox. So I haven’t been able to run any games yet and try myself, but I’m SO CURIOUS!!

Would Duimon Mega Bezels work with these “ExoDos” Windows PC games?

If any of you have have any experience or tips on this issue, please share.

Nope. :frowning_face:

The collection uses many different versions and custom builds of DOSBox, none of them have anything to do with RetroArch.

You could, with a bit of work, convert some of the zip files to work with DOSBox-Pure (I have curated 588 games.) but setting up the existing BigBox interface would be all but impossible.

You will need to make a choice, RetroArch or the eXoDOS setup… you can’t have both.

You might have some luck using the WindowCast core but it would take a LOT of work setting up the launcher settings. I wouldn’t recommend it to someone with limited experience. (I wouldn’t attempt it myself.)

1 Like

I had all my games that I wanted from ExoDos 5 set up as a platform in LB then set the emulator to RA, but you lose extra features from ExoDos and it takes some setup work. Like Duimon said though, by default the Launchbox platform that it makes for you is going to be using non-Retroarch emulators.

1 Like

Hi @Duimon, love the presets! Have you ever thought of adding other DS variants? I’ve always loved the way the DSi XL looked, specifically this blue one:

In fact Nintendo themselves seemed to really like to use this model for promotional material for late DS games, like this Pokémon Black & White 2 trailer.

1 Like

I don’t have any plans, but the colors of the body and buttons can be changed using parameters.

2 Likes

Duimon_MB_Logo

* * * The Duimon-Mega-Bezel repo and release are updated to v1.1.5.1. * * *

The Potato repo is unchanged.

Changes:

  • When the Lynx presets were updated, I missed adding some needed params files.

The link to the current releases are in the first post. Installation/Update instructions are near the end of the second.

5 Likes

Hi @Duimon
I’d like to use the Duimon-Bezel-Project on RetroArch Android but sadly even the Lite preset doesn’t work. So I edited the Lite preset ‘MAME-[STD]-[Guest-Mini].slangp’ and I replaced ‘MBZ__3__STD__GDV-MINI.slangp’ with ‘MBZ__5__POTATO__GDV.slangp’ and it works or at least only for the horizontal games. For the vertical arcade games I get this even though the rom name matches the overlay cfg and png:

Is there a way to solve this using the potato CRT preset? Thanks for your awesome work!

2 Likes

The potato presets do not generate a bezel, which is the only benefit to my presets.

Your best bet would be just to install the Bezel Project and let them set up all the CFG files with the installer.

1 Like

OK but why then the potato preset does it work with horizontal games?

1 Like

Because the potato presets have the BackgroundImage and BackgroundVertImage paths hard coded.

Since I am not using potato presets (For the reasons I mentioned above.) I am not using a BackgroundVertImage in the presets. In this case the hard coded image is used.

“Work” is very subjective in this case. I see a very wide space between the game screen and the bezel.

These Bezel Project overlays were meant to be used with a 4x3 aspect ratio with a full screen height.

Like I said. . . if you can’t take advantage of the shader generated bezel and reflection, there is really no advantage in using the shader instead of the overlays.

!! Edit: !! Since your screen is wider than 16x9, the bezel will be stretched using overlays.

You can edit the preset and add the BackGroundVertImage path.

MAME-[STD]-[Guest].slangp

#reference "../../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__GDV.slangp"

#reference "MAME_$CORE-ASPECT-ORIENT$.params"

HSM_INTRO_WHEN_TO_SHOW = "0.000000"

BackgroundImage = "../../../../../../overlays/ArcadeBezels/$GAME$.png"

becomes. . .

#reference "../../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__5__POTATO__GDV-MINI.slangp"

#reference "MAME_$CORE-ASPECT-ORIENT$.params"

HSM_NON_INTEGER_SCALE = "99.000000"
HSM_INTRO_WHEN_TO_SHOW = "0.000000"

BackgroundImage = "../../../../../../overlays/ArcadeBezels/$GAME$.png"
BackgroundVertImage = "../../../../../../overlays/ArcadeBezels/$GAME$.png"

You can make similar changes to the FBNeo preset etc.

BTW. I also increased the Non-Integer Scale % to 99.000000 to help with the blank space. (Anything greater clips the screen in horizontal mode.)

1 Like

Amazing! It works perfectly! Thank you so much!

1 Like

Is it possible to use these shaders with no filtering at all so I can enable bilinear filtering in the video/scaling section?

I am not a fan of scanlines and when I disable scanlines in the shader parameters it is a blocky mess.

Before using shaders, All I had to do was enable bilinear filtering and it looked good.

1 Like

You can try turning off all the screen effects at once by enabling [ A/B SPLITSCREEN COMPARE ] parameters.

Set “Show:” to “Original” (1.00) and “Splitscreen Position” to “100.00”.

This will show the original unprocessed output from the core.

I caution you that using bilinear filtering can cause issues with the image layer elements of Mega Bezel presets because it interferes with mipmapping.

Perhaps if you describe what it is that you like about simple bilinear filtering we can suggest an alternative solution that you would like as much.

1 Like

Best result for playing on an oled and with no scanlines while trying to round-out edges

1 Like

Here is SNES using the STD XBR base preset with scanlines off.

XBR off.

XBR on. (Default)

You’ll get mixed results with different resolutions or internal resolution scaling, but it does a good job of smoothing out the edges, especially at ~240p.

2 Likes

That looks good. How do I go about getting that?

2 Likes

If you are using the default Mega Bezel base presets you can just load an XBR version. (e.g. \shaders_slang\bezel\Mega_Bezel\Presets\Base_CRT_Presets\MBZ__3__STD-SUPER-XBR__GDV.slangp)

If you are using my pack and you want to apply the base preset to all of my Standard “Bezel” subclass presets, you can edit the \Duimon-Mega-Bezel\zzz_global_params\Base_Shader\STD_Bezel.slangp file and comment out the active line and uncomment the MBZ__3__STD-SUPER-XBR__GDV.slangp line. This will make that the default base preset for all the “Bezel” presets.

You will also need to create a params file. (e.g. no_scanlines.params) containg the text. . .

no_scanlines = "1.000000"

. . .and place it in the \Duimon-Mega-Bezel\zzz_global_params\Shader\STD\params folder.

Finally, edit the \Duimon-Mega-Bezel\zzz_global_params\Shader\STD\user_Bezel.params file and add an uncommented line pointing to the new params file. There are commented out examples to use as a syntax guide.

If you need more info you can read my Boilerplate_Introduction.md guide.

When you are finished, all of my Standard “Bezel” presets will use these settings. Then you can load and save them like usual.

1 Like

Can you show me what what an edited line looks like for the SNES bezel (SNES-[STD]-[Guest]-[Bezel])? I am having a hard time figuring this out. Thanks

1 Like

You’ll need to be more specific. Are you asking about a commented line vs an uncommented line?

The guide I linked to goes through the base preset and supporting params file in depth. It is very likely your answer is there.

@boomerps2

\Mega_Bezel_Packs\Duimon-Mega-Bezel\zzz_global_params\Base_Shader\STD_Bezel.slangp

before

// STANDARD :: For regular setup.
// ----------------------------------------------------------------------------------------------------------------

//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__EASYMODE.slangp"
#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__GDV.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__GDV-NTSC.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__MEGATRON.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__MEGATRON-NTSC.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV-NTSC.slangp"

after

// STANDARD :: For regular setup.
// ----------------------------------------------------------------------------------------------------------------

//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__EASYMODE.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__GDV.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__GDV-NTSC.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__MEGATRON.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD__MEGATRON-NTSC.slangp"
#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV.slangp"
//#reference "../../../../shaders_slang/bezel/Mega_Bezel/Presets/Base_CRT_Presets/MBZ__3__STD-SUPER-XBR__GDV-NTSC.slangp"

Lines preceded by // are “commented” lines. . . they will be skipped during the loading of the preset. (The above is just the relevant section of the file to reduce the length of this post.)

Create a text file named no_scanlines.params containing the text no_scanlines = "1.000000". Save it and copy it to the folder in the above quote.

\Mega_Bezel_Packs\Duimon-Mega-Bezel\zzz_global_params\Shader\STD\user_Bezel.params

before

//#reference "/params/guest_custom_aperture.params"
//#reference "/params/guest_custom_slotmask.params"

after

//#reference "/params/guest_custom_aperture.params"
//#reference "/params/guest_custom_slotmask.params"
#reference "/params/no_scanlines.params"

Again, the above is just a snippet to save space.

This is an example of my “Global” override system. It is also possible to use “Local” overrides to change a single preset.

More information is in the Boilerplate_Introduction.md guide I linked to previously.

I hope this helps.


Edit: One more thing. If you have not read the guide, it uses the comment syntax for text comments, not just for active vs inactive reference lines.

There is an abundance of instruction detailing the use of params files and references. A thorough read should let anyone puzzle out how to perform the actions in this post.

In addition. . . there are two guides that detail how to modify parameters and convert a saved preset into a “Global” or “Local” override, and create params files from standalone shaders and community presets.

Params_01_User_Created_Params.md

Params_02_Community_Derived_Params.md

1 Like