MagicHat's OrionsAngel Mega Bezel MAME Arcade Setup

This pack takes two of the best projects in the MAME Arcade emulator scene by combining @Orionsangel Realistic Arcade Bezels with the latest version (and simplified preset methods) of @HyperSpaceMadness Mega Bezel Reflection Shader.

Youtube Promo Video - Gameplay

Youtube Promo Video - Screenshots Only

Current Version: 2.5

Release Date: 01/25/24

  • Added missing ffight.png and ffightalt.png (Final Fight)
  • Added HSM_ASPECT_RATIO_ORIENTATION = “1.000000” and HSM_ASPECT_RATIO_ORIENTATION = “2.000000” to _base.params to force proper orientation on certain games
  • Full changelog at very bottom of post

Intro / Overview

This pack takes two of the best projects in the MAME Arcade emulator scene by combining @Orionsangel Realistic Arcade Bezels with the latest version (and simplified preset methods) of @HyperSpaceMadness Mega Bezel Reflection Shader.

  • One of the main components of this setup is HyperSpaceMadness’ “Multigame.slangp method”. This sets you on the path of having all of the included games (unique custom art per game) to automatically load while also accounting for any other (non included in this pack) MAME game in your library. When you load another game that’s not included in this pack, this multigame.slangp method will automatically load either the horizontal or vertical generic blank cabinets to the game while also auto sizing the video to fit properly for the image.

  • (NEW IN v2.0) - Another core component of this setup is the inclusion of 1,147 additional .params files which line up with all of the different regions/variations/versions of the given games. What this means for you is no more requirement on your end to fine tune this pack based on the given version of the ROM you have or your choice of which version you currently have set to launch when playing. This new feature included in this release SHOULD have the vast majority of all variations out for the included games. If anyone launches a game and it doesn’t load the proper overlay, please help me and others out by commenting in this thread so I can note it and add it to my ToDo list for the next update. Please be sure to spell out the exact that you’re launching as well.

  • (NEW IN V2.0) - Bezel Width & Height Adjusted. I decided to size down the MEGA Bezel’s width and height thickness for all games. Previously I had the vast majority of them configured at 240 but I’m now going with 175. After taking screenshots of various numbers, 175 is a great fit for OrionsAngels artwork in my opinion. Many of his cabinets have designs that extend past the normal bezel area but I found 175 fits nice for most of these to the point where they don’t spill over to the actual playable game area and stay within the mega bezel. Going from 240 down to 175 is also a big improvement when it comes to the actual playable game area so that’s a really great addition! ** NOTE** : If you personally like a fatter or thinner bezel than this new standard 175, you can change it but doing so will require a lot of custom rework for each game to resize them to fit properly.

  • (NEW IN V2.0) - Vignette Adjusted. After reviewing some screenshots with this setting on vs off, I’ve decided I like this off more than having it on. Having it on does look nice and adds more realism to CRT screens of that era but I personally like what it does to slightly brighten up the variations in color in the game itself. It also showcases the megabezel’s reflections a lot more because of the brightened video near the edge where it meets with the MEGA Bezel. ** NOTE ** : The vignette setting can be turned on or off without having any additional work on your end. \RetroArch\shaders\Mega_Bezel_Packs\OrionsAngel_MagicHat_Arcade\CORE-ASPECT-ORIENT-VERT or HORZ\ _base.params (HSM_SCREEN_VIGNETTE_ON = “0.000000”)

  • (NEW IN V2.0) - Includes OrionsAngel Pack 5 release which added 37 new games to the collection.

  • Every game included in this pack has been customized by me to adjust the HSM reflective shader settings to align the shader/tube area around the actual game for a custom fit with each of Orions Angel’s art. All of the actual art credits go to Orions Angel (and others) which are all included in each game.params files in this pack.

Full game list included in this pack can be found on the following google spreadsheet.


This spreadsheet will be maintained as OrionsAngel releases new packs. After he releases new packs, I’ll customize those and include them on my end of things with this method I put together.

Link to project main thread at libretro: MagicHat's OrionsAngel Mega Bezel MAME Arcade Setup

Download / Install / Configure Launchbox & RetroArch

Retroarch is a requirement for this to function properly but Launchbox is optional. Search youtube and other web sources for the basic setup of RetroArch. I highly suggest installing LaunchBox and using the built in installer for retroarch which pretty much configures everything you need for RetroArch.

Download / Install / Configure “Mega Bezel Reflection Shader” by HyperSpaceMadness

This is a requirement for this to function properly. Carefully follow the instructions on his thread:

Download / Extract

Extract the contents of to the following directory: \RetroArch\shaders\Mega_Bezel_Packs

If you don’t have this Mega_Bezel_Packs directory already, simply create a new one and name it that. This is the standard format set by HyperSpaceMadness and the Mega Bezel Project.

Setup a MAME Core Preset

If you want to use this configuration exclusively for all of your MAME Arcade games, you can use a Core Preset which simply references the multigame.slangp file to get this system going. I personally use this method because it covers any MAME game I have in my collection. If I launch a game that Orions Angel has a custom art designed specifically for use with the MEGA Bezel Reflection Shader, and I’ve created a custom game.params, it will load the proper art and custom fit for the given game. If I launch a MAME game that doesn’t have any of Orions Angel’s custom game art, it will roll over and use either the horizontal or vertical blank cabinet art and auto adjust the shader/tube around the game. It gives you an all inclusive config to handle every MAME game in your collection whether or not Orions Angel has custom art for it (yet). Any game you launch should load either a custom one or the standard cabinet which is also included in Orions Angel’s collection.

Follow the steps below to setup a MAME core preset.

  • launch a game in retroarch

  • F1 (quick menu) > shaders > Video Shaders: ON > load > select \shaders\Mega_Bezel_Packs\OrionsAngel_MagicHat_Arcade\Multigame.slangp

  • Once loaded go to Save > Save Core Preset

  • in windows browse to \RetroArch\config<yourcorename>\ and you should have a new corename.slangp

  • inside that core preset should now have this line in it #reference “:/shaders/Mega_Bezel_Packs/OrionsAngel_MagicHat_Arcade/Multigame.slangp”

Using a core preset like this defaults to pointing to this multigame.slangp file for any game launched in this core within retroarch. So you don’t have to worry about making any per game .cfg files within \retroarch<corename>\config\ to point them to this pack.

(optional) HSM Shader Intro Variations

If you prefer HSM intro animation with just the black and white fuzz fade in without the colored “Mega Bezel” logo, or any other variation, add the following line:


to both of these files and save



(Optional) Mega Bezel Reflection Shader Preset Variations

I set this pack’s shader preset to MBZ__3__STD which is considered in the middle of the road as far as resources and hardware specs go. If you want to bring this down or up a notch on the shader presets, do the following:

Edit \RetroArch\shaders\Mega_Bezel_Packs\OrionsAngel_MagicHat_Arcade\Multigame.slangp and uncomment the one you want to use:

// Uncomment only one of the below .slangp presets to use. 
// Uncomment = remove // in front of the line so it starts with #reference)
// Be sure to comment out the previous setting so only 1 is enabled!!! Games will not launch if you have more than one enabled.
// Read the following link to help you understand and pick out a shader preset that works best for you 

// #reference "../../shaders_slang/bezel/Mega_Bezel/Presets/MBZ__0__SMOOTH-ADV.slangp"
// #reference "../../shaders_slang/bezel/Mega_Bezel/Presets/MBZ__0__SMOOTH-ADV-GLASS.slangp"
// #reference "../../shaders_slang/bezel/Mega_Bezel/Presets/MBZ__1__ADV.slangp"
// #reference "../../shaders_slang/bezel/Mega_Bezel/Presets/MBZ__2__ADV-GLASS.slangp"
// #reference "../../shaders_slang/bezel/Mega_Bezel/Presets/MBZ__2__ADV-NO-REFLECT.slangp"
#reference "../../shaders_slang/bezel/Mega_Bezel/Presets/MBZ__3__STD.slangp"
// #reference "../../shaders_slang/bezel/Mega_Bezel/Presets/MBZ__3__STD-GLASS.slangp"
// #reference "../../shaders_slang/bezel/Mega_Bezel/Presets/MBZ__4__STD-NO-REFLECT.slangp"
// reference "../../shaders_slang/bezel/Mega_Bezel/Presets/MBZ__5__POTATO.slangp"

// Leave this line alone
#reference "$CORE-ASPECT-ORIENT$/_connector.params"

(Optional) Custom Launchbox Game Playlist

Launchbox allows you to create custom playlists which are basically folders to organize games in groups. I created one specifically for this collection that you can put in place in your own Launchbox.

  • copy or move

\RetroArch\shaders\Mega_Bezel_Packs\OrionsAngel_MagicHat_Arcade\Launchbox Playlist\MagicHat_OrionsAngel_MegaBezel_MAME_Arcade_Setup.xml



  • relaunch launchbox if needed

  • In the left side at the top under “search”, if you have “Platforms” selected, you should see this playlist under Arcade

  • You can also find it by using the dropdown and selecting “Playlists”

  • This playlist contains all of the games included in this pack but you will only see the ones you have in your actual library

(Optional) Per Game Bezel Variations

OrionsAngel includes other variations of his realistic bezels. All of his variations are included in this pack and in his original naming format. If you want to change the image used for a given game, edit the specific gamename.params and adjust the following lines: Note: mk2vari is an example variation image in Orion’s set for Mortal Kombat 2.

ScreenPlacementImage = mk2vari.png

BackgroundImage = mk2vari.png

BackgroundVertImage = mk2vari.png

location of files:



NOTE: **You can easily find out what the main game.params file is based on what’s listed in the “MagicHat Main game.params Name” column in the spreadsheet

(Optional) Per Game Shader Preferences

If you want to make further adjustments to a game’s shader parameters beyond those that I’ve set, use the steps below.

  • launch the game with my current base settings included in this pack

  • In retroarch in game: F1 (quick menu) > shaders > shader parameters > (make personal adjustments)

  • Back out to main shaders menu > save > enable “Simple Presets” > then Save Game Preset

  • This saves to \RetroArch\config<corename>\mk2.params example contents within that file:

#reference “:/shaders/Mega_Bezel_Packs/OrionsAngel_MagicHat_Arcade/Multigame.slangp” HSM_BZL_WIDTH = “150.000000” HSM_BZL_HEIGHT = “150.000000”

  • Now when you launch this game, it will use the packs base .params over in /shaders side, and then read this additional \RetroArch\config<corename>\mk2.params to bring in your adjustments/additions.



Libretro Post -

Launchbox Content Page -

Emumovies Content Page -

Youtube Channel -

Facebook Group Page -​​


Libretro MEGA Bezel Post -

Github -

Other Community Member Shoutouts

@ArsInvictus @Duimon @Cyber @ hgoda90 @ far327 @ K-rnivoro

FAQ (Frequently Asked Questions)

What makes this pack different than OrionsAngels official release or others who have repackaged his work?

  • OrionsAngel’s latest releases with the MEGA Bezel shader do not come with customized files that have each game’s reflective shader custom fit to the cabinet art. I will not speak on his behalf for the reasons for this but if I were to guess why, it would be due to him being an early adopter of the reflective shader. I now know firsthand how much work is involved in just the placement of the image and other shader settings to line things up according to each unique game. I imagine he got so far into customizing games that at one point, HyperSpaceMadness made some key changes on his end of things with newer releases that completely broke all of OrionsAngels previous customizations. Maybe he decided, the time and effort to redo his entire collection with the new naming and other key changes to the newer versions of the MEGA Bezel wasn’t worth it to him to upgrade on his end. Maybe he just decided to stay frozen in time with his older version of the shader which still worked for him on his own personal setup and opted to only release the art side to the community and then leave it up to us to do our own customizing from there. Either way, it doesn’t matter because his contributions to this scene put him at the top part of the leaderboard so his work is already greatly appreciated by the community and we thank him for all of that!

  • In addition to this pack being fully customized for each game on the newer versions of the MEGA Bezel reflective shader, it also uses HyperSpaceMadness’ newer “multigame” method of packaging these configs up so they’re more consolidated and fully contained in the retroarch shader side of things. Most other packs use the older traditional methods which consist of multiple other config files and directories to deal with. This method reduces that quiet a bit.

  • Another difference with this pack is the “all inclusive system for MAME Arcade games”. If you set this up how I layed it out, you will have 193+ unique MAME Arcade games fully customized with OrionsAngels cabinet art work, while also having his “Generic Cabinet” load for any other MAME game that doesn’t already have a custom one built yet. Add in the bonus feature of each game automatically knowing which generic cabinet to load: Horizontal or Vertical!

  • Last but not least, this pack includes 1340 different variations of game rom names for the included 193 games that should auto pick which config it needs to load to pull in everything and load properly. No custom tinkering needed on your end of things. Extract the files where they need to go, get a MAME core preset setup, and off you go!

Full Changelog

01/25/24 - Version 2.5

  • Added missing ffight.png and ffightalt.png (Final Fight)
  • Added HSM_ASPECT_RATIO_ORIENTATION = “1.000000” and HSM_ASPECT_RATIO_ORIENTATION = “2.000000” to _base.params to force proper orientation on certain games

01/18/24 - Version 2.0

  • Inclusion of 1,147 additional .params files which line up with all of the different regions/variations/versions of the given games.
  • Bezel (base) Width & Height Adjusted down to 175
  • Vignette now disabled
  • Added OrionsAngel Pack 5 (37 new games)

10/20/23 - Version 1.0

  • Initial Release
  • Included OrionsAngel packs 1-4


I love it! You did a fantastic job! Thank you for helping out! I don’t have the time. I really appreciate it.


You’re the whole reason I got into MAME emulation in the first place. I came across one of your youtube videos a few years back and said “I need to build me a retro arcade gaming PC and use your art for it all”.

Then I discovered @HyperspaceMadness Reflection Shader and I was off to the races to put together a collection using just his shader settings for everything including the images for the cabinets.

Both of you are the real leaders in your own ways but I think what I put together is a very attractive all inclusive system for MAME Arcade games.

I’ve learned a crap ton just over the last 6 months on all of the moving parts involved but I’m here to help contribute and I’ll continue to add more to this collection.

If anyone has questions on anything, let it rip and I’ll do my best to help. Constructive criticism is AOK as well. I’m here to learn and improve so if you see anything worth mentioning please do!


Thank you! Looks like you have more to add :grin:

Here is Part 5 of my Realistic Arcade Bezel Collection featuring the Mega Bezel Reflection Shader for Retroarch. The Download Link is in the description of the video.


This looks great! I need to set up my vertical overlays with the HSM shader and wasn’t sure the best way to do it in this kind of consistent/automated way, I should be able to follow the same pattern you did. Thanks for the thorough documentation too!


Awesome!!! Sorry for the late reply. Deer Hunting season just started last week so I’ve been out in the woods for 6-8 hours a day trying to fill that freezer with meat.

Over thanksgiving, I showed off my bar top setup I have with this system I put together and it was a huge hit. Having that custom playlist like I outlined in the guide was super handy. If people searched for one of their favorite arcade games and it wasn’t in my custom playlist, I would just change to ALL ARCADE and then play it from there. Then your generic cabinet for both horizontal and vertical would automatically kick in and then we get the game, the realistic generic cabinet + the MEGA bezel shader auto loading with a perfect custom fit. I’ll start chipping away on these new ones soon.

Thanks again for your contributions.


Let me know if you have any questions or if I can help at all. I’m thinking about getting another arcade setup in my bar/rec room and going vertical for that one. So I’ll be pretty invested in learning your config as well too!


@MagicHat, the work you’ve done is perfect!!! It really saves a lot of time for arcade builders. I’m not using Hyperlaunch as Frontend. I prefer AttractMode or even EmulationStation. Any chance to rebuild the MagicHat_OrionsAngel_MegaBezel_MAME_Arcade_Setup.xml to those Frontends?

1 Like

Are you just referring to that custom playlist that I made for Launchbox which is what that .xml lines up with. Or did you mean other core config files to use this setup over on those instead of launchbox?

I’m not familiar with AttractMode or EmulationStation in general but if you clarify the above, I might be able to help with what you’re looking for.

Thanks for the feedback as well. I started in last night on Orions Angels latest pack 5 games so I’ll have these included in this setup and repackage the whole thing up once that’s done.


Oh, ok! i’ll wait for your last repack then!! thanks!!!

Sorry, I might have confused you with my comment about “repacking up everything that also included pack 5 items from OrionsAngel”. I’m not repacking them up in other formats like you’re looking for. Like I said, I’m not familiar with those other formats you’re speaking of and you also never clarified if you just meant the launchbox custom playlist (You specifically only mentioned that .xml file which is just the playlist) or if you meant the whole thing converted to other formats beyond Launchbox.

1 Like

Sorry @MagicHat, I´m confusing you. I´m just looking for a good vertical Frontend for my vertical cabinet. Your work help me a lot setting HSM properly for each game. By the way, CoinOps Vertical frontend seems to be a good candidate.


I just use BigBox as my launcher, it’s not free, but easy to set up and there are themes that support a vertical monitor config.

1 Like

I’m just using regular Launchbox right now but that’s mostly because of my setup is literally a TV ontop of my bar with the PC tucked behind the bar out of the way then some USB fighting sticks attached to it and then a separate keyboard/mouse on it as well for non arcade use. But it would be nice to clean up the arcade interface for when I have guests over that gives them a better interface. I’ve been meaning to try out Big Box to see what it’s all about compared to the regular launchbox interface. @ArsInvictus you obviously see the value in paying up for it. What’s some of your favorite features with Big Box?

1 Like

I like that it integrates with Launchbox, and there is basically almost nothing you need to do to set up BigBox on top of your existing Launchbox configuration. There are quite a few themes available for it and it’s easy to navigate and customize. It also has a nice feature that lets you boot directly into it, bypassing the Windows explorer UI so it boots very fast and it eliminates the junk that Windows bolts into the UI. So no wacky notifications etc. I use this in my arcade cabinets that are PC driven, and I set up Windows 11 Enterprise with Unified Write Filter so the machines basically become like Kiosk turnkey solutions, and I can just cut the power to the cabinet to turn it off, and the whole cabinet turns on and boots to the main game directly when I turn the power back on, and it does it pretty quickly.

I’ve been planning to build my own theme for my arcade cabinets, to make the art and experience themed for the specific cabinet and it’s main game(s).

There are a ton of features, and if you have paid for a Launchbox license you get BigBox with it already.



The Ikari and GnG are both running RetroArch with BigBox for the launcher to change games.

1 Like

Nice game room!! Love the retro floor. Reminds me of the good old childhood days at our local “Time Out” arcade that was a huge franchise in my region (Central New York state… northeast region).


I like their licensing model they went with.

  • $30 up front and you have any updates that come out for a year included
  • or lifetime for $75
  • If you’re unsure if you want it for the long haul $30 seems like a decent deal even if you choose to not renew for $15 each year after… or upgrade to lifetime, you still have the fully functional last version that was included when you had the yearly price. Even if you dont care about any future updates with it and settle with the old version, you only paid $30 for it.
  • they dont get greedy and force you to get a license per device so you can use the paid version on multiple devices

So what types of updates over the years have you seen come into play with it that looking back you would be disappointed if you were locked out of getting that update because you chose not to renew yearly or get a lifetime? I have to assume they’re smart about the features and updates to lure people in and keep them looking forward to new things. It’s to their benefit to do so.

Also do they integrate custom launchbox playlists into Big Box so you can get a hand picked selection list of games in certain areas of the interface? (So my custom OrionsAngel playlist I created simply ports over and accessible in Big Box)?

1 Like

Yeah, I did the lifetime and I use it on all my machines and cabinets, and I’ve been using it for years. The themes have improved over the years and it’s also gotten much better at importing of new content and integration with Steam etc. Also, things like the Big Box windows shell replacement is really useful. They have also greatly improved the speed and UI responsiveness over time.

It does work off playlists, so you can take that approach with your existing list. The only thing a bit odd to me with Big Box is that if you only have one playlist you can’t launch directly into that playlist so you see a list of games. You launch into the playlist directory which would only be 1 item if that’s the only one you have. It works, just not the best experience. I’ve seen that feature requested though, so maybe it will come in the future.

1 Like