I tried Retroarch a lot.... the most reason for using Retroarch, would be the awesome shaders you can try on different emus. You can put up to eight different shaders, to create a specific look. HLSL looks like "kindergarten" comparing to these shaders. But Retroarch has many downsides when it comes to MAME. First, most of the shaders are hungry for a good GPU, so many shaders will not work fluently with a integrated GPU, like i.e. Intels HD-4000 for example. Second, I got display (i.e. aspect ratio) problems with many vertical games. You can correct that, but you will need to go into the shader-code itself to change this and you need to make and save a config for this, this will result in many different commandlines to start games properly from GameEx. You cant self compile a MAME-version (no-nag, autofire etc. not possible) and you will need to wait until the MAME core is updated by the developers. I use RetroArch only for SNES but the results with the shaders are awesome: If you want to try out RetroArch, than I recommend the latest build: https://www.dropbox.com/sh/91sakv0qdyxjx9f/AAAKWBfDHBtIQtNfnp4rlyXea?dl=0 It contains many more cores, sliders for shader settings, more shaders etc.