Jump to content
LaunchBox Community Forums

Recommended Posts

Posted (edited)

Hello everyone, a few days ago I started a personal project creating bezels for standalone emulators, most of which don't support them.

I've noticed that previous solutions posted here have offered similar solutions, although they often have problems like high CPU usage or the use of ReShade (which, while useful, can sometimes reduce FPS simply by having it installed).

Therefore, thanks to AI tools like ChatGpt and Gemini (even though I previously studied C#, I remember almost nothing), I was able to create a functional overlay for various emulators that doesn't use any CPU or GPU resources (it only uses 5MB of RAM).

Now that I'm posting this, I've been able to overcome issues such as using shortcuts with parameters, the emulator window's focus, and the overlay's display order (although there are still emulators that refuse to make it work at all in full screen).

This doesn't mean it's impossible to fix, but rather that it will be developed later. In fact, I have several ideas, which I'll list below:

- Have bezels for each game 
- Have default bezels (if there aren't any specific ones for the game)
- Randomize bezels (to add variety)
- Add keys to remove, show, and randomize the overlay, among other things
- Be compatible with older PC games
- Add support for special commands similar to AHK (something simpler and more understandable)
- Online overlay search engine
- (I can't think of anything else right now)😗
 

Below are some images of the emulators I've tested that worked in full screen (using the `-fullscreen` command or Alt+Enter).

The bezel settings are: first, the bezel for each game, and then the default bezel (if there's no default bezel configured, nothing is displayed or drawn).

Spoiler

 

NES (Mesen)

imagen_2025-12-24_020231420.thumb.png.e0c50e43183a5083f86f0e85d33850a7.pngimagen_2025-12-24_020436383.thumb.png.1688347532395c4517195900a32a7bf0.png

SNES (Snes9x)

imagen_2025-12-24_020730495.thumb.png.8022a3177ab12e5b1ce3d8ef6357383f.pngimagen_2025-12-24_020932472.thumb.png.0638d95a4e5117311eab6eae96e4b40b.png

Atomiswave and Naomi (Flycast)

imagen_2025-12-24_031637087.thumb.png.c7579d5263bad4297db9da144c26ebe1.pngimagen_2025-12-24_031809197.thumb.png.8d234efee305ee8a3dded4f601a138b5.png

The following examples are emulators that start the game but do not get focus from the input at the beginning

Spoiler

PS1 (Duckstation)

image.thumb.png.d7e9e06b3652d81ddd6a2a01eae7f55b.pngimage.thumb.png.99742a9152d137fdab2628efeff8433f.png

GBA (mGBA)

image.thumb.png.eef9bf2f194354af09d549cc9a1ce354.pngimage.thumb.png.7a8f25052324177ff682d3ccc7aa9650.png

And finally, an example of one that doesn't want to work in full screen (only in windowed mode).

Spoiler

Kega Fusion (Genesis)

image.thumb.png.c4cc2719c7b1c8d236149791685748b9.pngimage.thumb.png.ec76a881236154e0fe20a09c26337318.png

This is in a very early stage, however I am confident that it will improve over time; let's hope this project gets better.

Edited by 3lc3z4r
  • Like 1
  • Thanks 1
  • Game On 2
Posted (edited)

UPDATE
The main focus mechanism has been improved. This is what the emulator needs to accept input upon startup, along with the bezel. Previously, it depended on wait times, which sometimes caused the emulator to start late due to its programming, or the PNG file to load late due to its size. Now, it's based on execution order.

For this reason, the emulator examples that weren't capturing focus in the original post have been corrected. I will also be testing different emulators to verify this.

Previously, the Kega Fusion example, which prevented the bezel from working, was due to an "exclusive fullscreen" issue, common in older programs. The problem was that Kega Fusion used an older ddraw.dll file that is now corrupted by recent Windows updates (as reported in some forums). However, I used the dgvodoo2 wrapper, which translates these old calls to d3d11. Therefore, using the dgvodoo2's options menu, I was able to force "fake fullscreen."

In this way I was able to correct this limitation with Kega Fusion by allowing the overlay. It should be noted that the only post referring to a problem with using dgvodoo2 is one regarding fps and high-level smoothing shaders (I emphasize that I have not verified if this "solution" has any disadvantages other than those mentioned.)

Below I will list the emulators I have tested with this new code

 

Spoiler


Kega Fusion(with dgvoodo2 wrapper) (Genesis/Megadrive)

imagen_2025-12-25_125601613.thumb.png.f71faca1a18e75557bf0f8e28dd1aa7f.pngimagen_2025-12-25_131555482.thumb.png.7f3434b78e1883d7a3ad40b9c14c1fbd.png

Pcsx2 (PS2)

imagen_2025-12-25_151752197.thumb.png.b66a81ee2b8e6db2c86f195ebbc33201.pngimagen_2025-12-25_152421027.thumb.png.71482c0629413ee141471effd3f74142.png

ZNES (with dgvodoo2 wrapper) (SNES)

imagen_2025-12-25_162250288.thumb.png.b62c5760b2a400a6438023337aeb7cf2.pngimage.thumb.png.94e87791314a57939902d516d6ac7f1f.png

Visual Boy Advance (GBC)

imagen_2025-12-25_171023043.thumb.png.8489a6219f1d4e9bd9b45ca42107e120.pngimagen_2025-12-25_171140240.thumb.png.57416c41454fbf01f8d6fcd7539b5cb5.png

In case you're wondering, I made the bezels quickly without any design concept (that's why some look awful), while others I took from the internet; I'm just using them as examples to show the function

imagen_2025-12-25_165129157.png

Edited by 3lc3z4r
  • Game On 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...