Hello, folks!  Lumpz the Clown here, and if anyone has been following my previous entries into Technical Wasteland, you’d know that this has been a pet project of mine for quite some time!  Yeah, it’s cool to set up emulators to your exact specifications and play some of the iconic titles that you recall from your childhood, but what happens when your number of emulators starts climbing up to the neighborhood of 10 or 15?

It can all become very unwieldy very quickly, so some enterprising programmers have created applications, called frontends, to help manage all of that content and make it easier to launch emulators with your specified title and settings intact!  Before the use of frontends, the player would have to launch the emulator and select the title or open up a game folder, select which game they want to play and double-click it.

Frontends eliminate many of these steps and make it quicker and easier to get your game on.  I have spent an extensive amount of time with HyperSpin myself, and though its development has been indefinitely halted and has somewhat of a steep learning curve, it still remains the king of content in my honest opinion.  I have tested out at least 5 different frontends and many of them are garbage or malware packages, so for this write-up, I’ll be looking at two different frontends that I have weeded out from the rest: mGalaxy and HyperSpin.

mGalaxy is sort of the new kid on the block, but what makes it awesome is that it is compatible with Android tablets and phones (untested on my end), as well as PCs (Macs are still undecided, but highly unlikely given Samsung and Apple’s history with each other).

mGalaxy Setup

mgalaxy main page

mGalaxy’s main page, with my SNES romlist displayed!

This is the generic layout that comes with the free download, but other themes are unlocked with a donation (noted at the time of this writing).  Not the prettiest, but it gets the job done!

Here are the steps to get started with mGalaxy:

1) Ensure that ALL of your emulators are running and functional before setting up mGalaxy (control settings, screen size, etc.)

2) Download the most recent version of mGalaxy.

3) Follow the onscreen instructions and open mGalaxy after installation (READ BEFORE YOU CLICK!).

4) Begin setup of all of your emulators in the mGalaxy Runway (emulator suggestions listed are just that…suggestions. DON’T take them too seriously).

mGalaxy Runway Frontend Setup

After setting up the paths, be sure to click “Activated” before moving on!

4a) “Script files” enable an action that is not natively supported by the emulator.  ZSnesW is one example where the ESC key will not exit the emulator, thus leaving the player in game loop hell!  The steps for enabling this function within ZSnesW are listed below.

  • Visit http://www.mgalaxy.com/forum/index.php?board=14.0
  • Download an SNES script to add the ESC function as a means to terminate the emulator (it will be an .EXE file).
  • Place it into the Super Nintendo (ZSnesW) folder within the mGalaxy_Data folder.

There are other emulators out there that don’t have ESC mapped to terminate them, so look for the appropriate script for whatever emulator you are working on, place it in the EMULATOR’S folder within the mGalaxy_Data Folder, and click “Use script file (if available)” in the mGalaxy Runway window.

4b) “Database files” are simply files that provide the player with more information, such as genre, players, etc.  These are not required, but are a nice touch in some setups. Go here to download databases and once done, place it within the EMULATOR’S folder within the mGalaxy Folder.

5) Click “App Path” to open a new window.  Find your emulator’s executable and click “Open”.

6) Click “Rom Path” to open a new “Browse…” window.  Navigate to where the emulator’s ROMs are stored and click “OK”.

7) Click “Snap Path” and navigate to the folder where the emulator’s snapshots are located.  Click “OK”. (optional)

8) Click “Video Path” and navigate to the folder where the emulator’s video files are stored.  Click “OK”. (optional)

9) Click the “Keyboard” tab and map it how you would like it.

10) If you are using a controller, click the “Controller” tab and map the buttons.

11) After ensuring that ALL of your emulators are setup appropriately and that the “Activated” checkbox is checked, click Save, then Quit.  If you need to add other emulators later, simply click “mGalaxy Runway” in the mGalaxy folder!

12) Click mGalaxy and get playing!

Depending on how you mapped your buttons, you can pull up the systems menu to pick which one you want to play (default is “X”).  After selecting the system, the game list will populate and you can make your choice from there!  Simple!

But wait a minute…what about all of those junk titles that you don’t want to appear in your list?  mGalaxy gets big points in my book for this feature!  You can create a database that scans the games you currently have!  Simply click on the “Create Database” within mGalaxy Runway after specifying your App and Rom Paths!  The game list is generated and you are good to go.

The only sad part is that it lists the ROMs with their rom name and not the game’s actual name, but using Snaps makes the process of finding your favorite games much simpler (applies more so to MAME than any other emulator).  DO NOT CHANGE THE ROM NAMES FOR MAME; YOU WILL REGRET IT!

I did have one nagging problem after setting up my MAME emulator, and that was the appearance of the NEOGEO bios file in my game list.  Clicking on this title does ABSOLUTELY NOTHING but reek havoc on your system and kill your unborn children (just kidding about that part)!  To rid your list of unwanted titles, you have to know a little bit about editing XML files.

Yeah, I know…boring, right? :-)

Navigate to the MAME XML file that mGalaxy uses by going to mGalaxy > mGalaxy_Data > MAME.  The filename should be “xmlout”.


The contents of the mGalaxy MAME folder.

Right-click on the “xmlout” file and open with WordPad.  Scroll down or search the ROM name with CTRL + F, and delete ALL of the content for the title between </game> and <players />.  Below is an example of the area that you would delete for any specific title.

Yeah right!! Like I’d EVER delete Donkey Kong from my list!

After deleting the data, save the XML file and exit.  Viola!  Problem solved!  Learning to edit XML makes your life a lot easier and keeps your list clean of junk BIOS files and Parent versions of ROMS that you don’t want to appear or be selectable (i.e. 4 Player Simpsons Parent file versus 2 Player Clone file).

Sadly, mGalaxy doesn’t have multiple emulator support for the same category (i.e. two instances of MAME).  This was an especially useful resource in HyperSpin that allowed me to run older versions of the same emulator for certain ROMs.  One glaring example was Bosconian, an amazing old-school space shooter by Namco that absolutely REFUSED to work with my newer version of MAME, but worked perfectly with my old version of Mame32.  This CAN be a pain in the ass, but by no means a fatal issue!  Rest assured that the VAST MAJORITY of ROMs will work with MAME, and if you happen to download one that doesn’t work, KEEP LOOKING!  Refer to my MAME Setup Article for additional assistance in ROM searching and troubleshooting!

By now, you should have mGalaxy up and running to your specifications and displaying a proper game list for each system!  Changing the theme can be done with a donation to the creators, but for those simply looking to catalog their collections and emulators in one place as well as cross-platform compatibility, I cannot recommend mGalaxy enough!

Onto HyperSpin!

HyperSpin Setup

Now…a moment of silence…for the 200+ hours that I sank into my home arcade machine programming this absolute BEAST of a program…Now that we have that out of the way, let’s talk about HyperSpin setup and convenient tweaks!

HyperSpin was developed as a highly attractive, feature-laden answer to those seeking a customizable and highly compatible frontend.  However, the cost of admission was not free for me to get the necessary permissions to download, but that has changed over time.  Since HyperSpin is no longer in active development, downloading it and getting started is as easy as registering on the site!  Some puzzles are annoying to solve and some of the questions could be considered slightly invasive, but think of the end goal, right?  After registration, you are ready to begin!

1) After logging in/completing registration, go here to download the HyperSpin Install Files v1.3.

2) Extract the program onto the ROOT of your selected drive, creating a new Folder if you need to (ex: C:\HyperSpin).  THIS IS VERY IMPORTANT.

(Note: I have NEVER been able to get HyperLaunch to work in conjunction with HyperSpin, but from what I have read, it is an excellent way to streamline HyperSpin’s functionality.  I will not be covering it here, but setup instructions that include HyperLaunch integration can be found here.  TRY AT YOUR OWN RISK!).

3) If you haven’t downloaded emulators yet, place them in their own dedicated folder within the HyperSpin>Emulators folder after download.  If you already have your emulators downloaded and have an existing file system for them, you can skip this step.

4) Open HyperHQ from within the HyperSpin folder.

HyperHQ HomeScreen

5) If you plan on setting up multiple emulators, set the Mode under the Main Settings > General tab to Multi.

6) Under Main Settings, click the Screen tab and set your resolution (I HIGHLY suggest enabling fullscreen).  Also, you can choose to add scanlines to your display by Enabling it and adding an image by clicking the folder icon.

7) Click on the Startup/Exit tab and make appropriate changes where needed (now would be a good chance to TURN OFF that intro video, unless you want to see it EVERY SINGLE TIME you launch HyperSpin).

 HyperHQ StartExit

7a) “Startup Program” would be a good chance to remove that annoying mouse cursor from appearing within some of your emulators (I’m looking at YOU, Nestopia).  I used NoMousy in my original setup, but since that time, the links appear to be broken and I cannot find a working version of NoMousy to download and test.  Plus, I can’t seem to get the necessary files off of my arcade computer.  Oh well..feel free to test other programs you may find and let me know if you find any winners.

7b) “Exit Program” would be where you would place the NoMousy exit file that would make your mouse pointer reappear when you go back to your desktop.  Again, the functionality may come back, but it may be best to check out other programs.

8) Set the remaining options to your specifications.  Under “Exit Action”, you can choose to Exit to desktop or Shutdown your computer entirely, with the latter option being a convenient choice for dedicated arcade cab/emulation machines.

9) Click on Wheel Settings and select your emulator from the dropdown menu (I’d recommend starting out with MAME to get a feel for the layout).

HyperHQ WheelEmu1

10) On the Emulator tab, make sure that Normal is selected under Execution, and that PC Game is disabled (unless it’s a PC game you’re setting up).

11) Click on the Folder next to Executable and point it towards your emulator’s .EXE file.

12) Do the same thing under Rom Path, but this time, point it towards the folder that contains your emulator’s ROMs.

13) Under extensions, be sure to type out the types of files that your emulators use (zip for MAME ROMs, smc and srm for SNES, etc.).

14) Ensure that “Full Path to Roms” and “Search Subfolders” are enabled (comes in handy for games that require HUGE CHD files to run).

15) Click on the Main Menu Wizard Tab.  This tab enables you to add/delete specific emulators from the HyperSpin menu.  Take the time to modify this list; you’ll be thankful later!  (Note: when deleting, select “Fully Remove from Database” to save space.  When adding programs, give it a name and specify whether or not it is an executable program, such as Windows Media Player, or a program with its own subwheel, like another emulator).

HyperHQ MainMenu

16) The Controls tab is pretty self-explanatory, but in here, you can bind not only your keyboard strokes to specific HyperSpin actions such as scroll up/scroll down, but also set the keys for your controller, trackball and even a SPINNER!

After configuring the keys to your specifications, it’s time to setup your game lists for your emulators.  If you don’t, HyperSpin will spit out EVERY SINGLE TITLE for whatever system you have on your wheel!  For MAME, that equates to over 10,000 Parents, Clones, Bootlegs and Casino games!  This is because HyperSpin comes with the default XML files that contain every conceivable title for a specific emulator.  So how do we get it to show only the games we have?  Read on, my friends!

Back when I was a HyperSpin nooblet, I had to add ROMs individually to the XML file in order to get them to show up on my wheel.  Since that time, a nifty little program called HyperROM2XML has come out!  This application takes your ROM folder contents and outputs an XML file for HyperSpin to read!  HOLY SHIT!  Download that ish HERE!


Before taking over the XML files that HypeSpin has generously given you with the initial download, save a copy to a remote location just in case.  However, as you go along and add ROMs, this application will update the list that appears in HyperSpin with a FEW SIMPLE CLICKS!  So why the concern?  HyperSpin used to host a website that had all of the default XML files for each emulator.  However, the site has fallen on hard times and has been flagged by Google, so my strong advice is to be cautious and DON’T GO THERE!  You have been warned!

These steps will work with all of the emulators, but what about those pesky emulators that do not fully exit when the ESC key is pressed, such as ZSNESW and KEGA Fusion?  I was able to find config file edit instructions for ZSNESW here, and some extremely helpful advice for the troublesome KEGA emu here.  For the KEGA emu, I had to ultimately add a command line under the Parameters section in HyperHQ.  A screenshot of this command in action can be found below and is CONFIRMED to work!


And here is the change I made to the ZSNESW config file!


Changing KeyQuickExit from “0” to “1” is all it took!  The ZSNESW’s config file comes with the emulator, so simply navigate to where you saved it and open the config file in Wordpad or Notepad, make the change and save!

HyperSpin Multiple Emulator Support

As I mentioned earlier, HyperSpin supports multiple emulators on a single wheel, which means that folks with older romsets need not panic after updating to the newest version of MAME.  In my case, I use Mame32 for my more stubborn ROMs that are confirmed to work within it and absolutely DO NOT with newer versions of MAME.  Simply place the Mame32 folder in the same location as the rest of your emulators and you’re good to go.  If a downloaded ROM doesn’t work in a newer version of MAME, try it out in an older version like Mame32 and it should work unless it is absolutely broken.  So how do we tell HyperSpin which emulator to open?

Also, Mame32 supports high score saving, unlike newer versions of MAME.  Instructions and downloads can be found here.  The page may look crappy, but it is confirmed safe.

First of all, you will need to create an .ini file for the secondary emulator.  Below is an example of an .ini file for PSXfin, which can be created in a WordPad or Notepad document.  Just make the necessary changes to paths, exe and rom extensions for your emulator.

[exe info]
rompath=D:\HyperSpin\Emulators\Sony Playstation\EPSXE\roms\
hyperlaunch=true  <— set this to “false” if you are setting up HyperSpin without HyperLaunch

After saving the .ini file, place it within HyperSpin’s Settings folder, then go to your emulator’s database file (MAME.xml, zsnesw.xml, etc.), which can be found in the Database folder in HyperSpin.  Next, scroll to the game that you would like to open with the secondary emulator to add the highlighted line shown below.

<game name=”Blood Omen – Legacy of Kain (U) [SLUS-00027]” index=”” image=””>
<description>Blood Omen – Legacy of Kain (U) [SLUS-00027]</description>
<crc> </crc>
<manufacturer> </manufacturer>
<year> </year>
<exe>Epsxe</exe>  This should be the name of your system.ini file your created
<genre> </genre>

Save the file and exit.  More information on this process can be found here.

Next time you navigate to your chosen emulator’s wheel within HyperSpin, select the game you had edited and it should open with the specified emulator as referenced within the XML file.  This has saved my ass multiple times for older MAME ROMs that REFUSE to work in newer versions, as well as my Game Gear wheel, which is powered by the Kega Fusion emulator that absolutely refuses to run my Axe Battler GG ROM, but runs much better in Meka.  Doing these steps as outlined above will save you much heartache and will be one less emulator you have to remove from the main menu, and is confirmed to work! BIG WIN for HyperSpin!

Wrapping Up

For now, you should have everything you need to get HyperSpin and mGalaxy to work nominally.  Both of these frontends have capabilities to add screenshots and even demo videos of gameplay (aka attract modes) to make shit more flashy, but since these are mostly cosmetic in nature, feel free to explore and make it your own!  Just be sure to name the resulting downloads EXACTLY the same as the ROM they are intended for!  And when I say EXACTLY, I mean EXACTLY!  Not doing so will result in the picture or video not showing up when you hover over the game!  Great resources for attract modes and screenshots include EmuMovies, MAMEdb, Google and getting your own!  Just place them in their respective folders, and you’re good to go!

This is not meant to be a comprehensive list of functional frontends, as some of the “pay to play” options were simply not an option for my broke ass!  Maximus Arcade has gotten rave reviews, but it’s $25 price tag removed it as a viable option.  The good news is that you can try it for 30 days before buying it.  From what I read though, it looks amazing and has many of the same features that HyperSpin does, but HyperSpin STILL remains the best, most affordable option in THIS clown’s honest opinion.  Check them all out for yourself and see what works best for you!

Here’s hoping this article has fallen into the hands of some poor fool who’s been driving themselves CRAZY trying to get their frontend working properly!  May my blood, sweat and tears bring you joy, make your world brighter and get you playing games QUICKER!  Lumpz the Clown OUT!

photo 1

Lumpz the Clown, Lost His Life and Sanity Setting up Frontends…Rest in Peace

  • Vitali80

    Ax Battler for GG doesn’t work on version 3.64 of KEGA but work well on version 3.63. On 3.64, sprites are invisible.

  • Lumpz the Clown

    Ahh…Thanks for letting me know! I’ve been making myself CRAZY over that, when it was just as simple as rolling back to a previous version!

    Some ROMs simply don’t play well whenever a developer updates their program, and I may have to do that for solidarity on my own arcade cab!

    Thanks for the tip! :-)

  • Vitali80

    You’re welcome! Thank you at you for this guide.

    From the old Eidolon’s Inn page (via Wayback Machine, http://bit.ly/1IXMQZO):

    “New windows build, many small changes. This was unplanned, but I wanted to get it out there before I have to pack all my equipment away. May be problems, please do let me know if you find anything, and you may want to keep 3.63 around for a while.


    Probably there’s some bug in the last version.

  • Lumpz the Clown

    Thanks! Got that bookmarked for sure! :-)

  • Johnny McGinnis

    Thank you scary clown, but this thing WILL NOT let me map my controller…

  • Johnny McGinnis

    No matter what I do, it just wont let me map anything… and YES My controller is working on everything else perfectly fine. 100%

  • Lumpz the Clown

    P.S. Sorry I took so long to get back in touch! :-/

  • Lumpz the Clown

    Hmm…that is weird…what kind of controller are you using? A lot of emulators may be able to read multiple inputs (directinput, xinput, etc.), but mGalaxy may be more finicky. I used a wired XBox 360 controller myself and have no issues, but it defaults to xinput.

    Once I have an idea of what you’re working with, I should be able to come up with something! :-)

  • Lumpz the Clown

    I did find out that mGalaxy only supports XBox 350 controllers, but fear not! This thread does offer up some workarounds! Hope it helps! :-) http://www.mgalaxy.com/forum/index.php?topic=477.0