Torching Igloos

How to setup Hyperspin, as the ultimate entertainment front end!

Posted by sneakily1 November 30, 2011, under Arcade, Articles, Cool Technology, HTPC/Media Center, PC Tricks | No Comments

Hyperspin

How to setup Hyperspin, as the ultimate entertainment front end!

February 19, 2010

 

 ***UPDATE 2/24/2010***

 

Today it was announced that Hyperspin 1.0 is set to be released this coming weekend and/or next week, so some aspects of this tutorial will be obsolete for the new version. It works fine for the "Beta" version though, so I will leave it up...however, I will not be finishing the tutorials on setting up themes and alternate systems because this process will be changing completely with the new version.

 

***End Of Update!***

 

In my post "Awesome Free Programs" I touched a little on the arcade front-end software Hyperspin. In this article I'm going to explain in full depth how to configure Hyperspin into a complete entertainment hub for games, movies, music, and more! I'll warn you ahead of time, tackling the intricacies of Hyperspin is not a task for the average computer user. Hyperspin requires some minor knowledge of XML, some minor Autohotkey scripting (more on that later), and a general knowledge of windows directory structure. I'm going to make this as simple as I can make it...but if you're not willing to spend some time working with it, I would recommend trying a different front-end software.

 

Right now you might be asking yourself "what is a front-end?" or "Why do I need a front-end?" A front-end in the case of console and arcade emulation is a main program that allows you to view and execute multiple programs from within one program (a "shell" as some may call it). By using a front-end, you can then organize your emulators and roms to be easily selected from a menu using an interface such as an arcade controller, trackball, remote control, or a game pad. There's a few different arcade front-ends out there, but having tried them all, I decided that Hyperspin looks a thousand times better than anything else that's available, not to mention it allows me customize practically any aspect I desire. Do you need a front-end in order to use emulators and play roms? No, but if you're building an arcade cabinet, or in my case, an old-school multiple console system...it will allow you to mask windows so whoever is using your system gets an experience similar to the arcade days of old.

 

Here's a list of some things you're going to need:

 

Hyperspin- The Arcade Front End. (*REQUIRED*)

 

HyperHQ - This is used to configure some of Hyperspin's settings, and directories. (*REQUIRED*)

 

MAMEui - The MAME (Multiple Arcade Machine Emulator) executable and user interface. This allows you to emulate old arcade cabinets on your PC. It doesn't require much in the way of a graphic card, or memory unless you're trying to play some of the newer 3D games. If you stick to older games like Pac-man, Q-bert, Shinobi, Altered Beast, Street Fighter 2, etc. you should be just fine with a basic PC. Make sure you grab Mameui32.exe from the site.

 

Fusion - Also called "KEGA Fusion," this is an emulator for playing most Sega games. It emulates Sega Master System (or just Sega as we called it back in the day, rivaled the original Nintendo), Sega Genesis, Sega CD, Sega 32x, and more.

 

Autohotkey - Automates keyboard commands and allows you to compile source into executables (*REQUIRED*)

 

XML Sydora - An XML creator that allows you to scan your rom directories and create XML Database files easily. (*REQUIRED*)

 

First Object XML Editor - An XML Editor that keeps scripts organized and also debugs scripts in case you have errors.

 

XBMC - Awesome Media Center Software that allows you to watch movies, listen to music, and more!

 

Links to a few sites that may or may not have game roms for you to use for testing purposes. NOTE: If you own these games it is legal to download and use the roms. Otherwise, it's your ass and not mine!

 

Rom Hustler

 

Dope Roms

 

Emu Paradise (MAME Section)

 

I'm going to assume that you've downloaded and installed all of the previously listed programs and a couple roms of games you may or may not own. If you have difficulty installing anything, please refer to the various sites' documentation before you come crying to me about it. Also for this tutorial it is assumed that you have installed Hyperspin to it's default directory (C:\Hyperspin), failing to do so might result in SERIOUS headaches!

 

Before we get started, there's some things you will need to know. First of all, Hyperspin uses database files to figure out what's going on. Many front-ends just allow you to choose an emulator directory, and a rom directory...and then everything works. This method WILL NOT work in Hyperspin! Hyperspin comes with built in support for many popular emulators, but just because an emulator isn't supported doesn't mean we can't add it. I will explain this in more detail once we get through basic installation. Finally, I'm only going to say this once, before making ANY changes to the Hyperlaunch.ahk file (you WILL be doing this!), MAKE A BACKUP! Now for the good stuff :)

 

Install Hyperspin in the default path of C:\Hyperspin. This will give you some Hyperspin system files along with a few folders. Here's a little about the structure of Hyperspin. You will need to know this later on, so pay attention!

 

Hyperspin.exe - The Main executable for Hyperspin. This is what makes it all happen

 

Hyperlaunch.exe - Used to launch secondary programs that are not built into Hyperspin by default. You will be changing this file frequently, but you will never execute it manually!

 

Hyperlaunch.ahk - The Autohotkey script for Hyperlaunch. This file is probably the most important file to Hyperspin! You will be changing this frequently and compiling it into Hyperlaunch.exe a few times as we go through the process of setting up Hyperspin. ALWAYS have a current backup of this file available before you do anything to it!

 

HyperHQ.exe - The configuration program for Hyperspin. While this allows you to manipulate many aspects of Hyperspin, there's still a lot of things it doesn't configure. A working knowledge of the various system .ini files, and Database XML files is going to help you past the shortcomings of HyperHQ.

 

log.txt - You might not have one of these in the folder yet, but you will eventually. The log file is your friend, as it will help you troubleshoot Hyperspin if you have any issues with it.

 

Folders:

 

Databases - Contains a folder for each system emulator, and a folder called "Main Menu." The folder "Main Menu" contains (and will always just contain) MainMenu.xml, which is a list of your theoretically available systems (theoretically because right now it lists a bunch but you don't have them setup, so they won't work). The main wheel of Hyperspin will list whatever is listed in this file regardless of whether or not the emulator actually works. Each entry needs to have a system folder in the Database folder (which is C:\Hyperspin\Databases), which then contains the system name.xml. An example of this would be an entry in Main Menu.xml called Atari 2600. The Database folder would need to contain a folder called Atari 2600 (real path is C:\Hyperspin\Databases\Atari 2600) and would then have inside this folder a file called Atari 2600.xml (real path is C:\Hyperspin\Databases\Atari 2600\Atari 2600.xml). Atari 2600.xml would then contain a formatted list of your Atari 2600 roms (more on this later).

 

Emulators:

If you don't have this folder, create it! We will put all of our emulators here!

 

Media:

Contains all of the artwork, sounds, videos, etc. for Hyperspin. By default it doesn't come with much, we will add a few things later on.

 

Settings:

Contains the .ini file (or settings file) for each system to be emulated. EVERY system must have it's own .ini which is named for the system name. Example, Atari 2600 needs Atari 2600.ini We will be editing .ini files so open one up using notepad and take a quick peek at the structure.

 

Moving forward! Sorry for all of that, I know you want to get on with it, but these things are VERY important in understanding Hyperspin. Now that we have a basic install of Hyperspin set up, we are going to install your first emulator. One thing that is important when it comes to emulators running in Hyperspin, MAKE SURE the emulator runs perfectly OUTSIDE of Hyperspin before even attempting to use it in Hyperspin. I cannot stress this enough. If you go read the Hyperspin forums, you'll see post after post of people complaining about their copy of Hyperspin not working when in fact, they had the emulator setup incorrectly.

 

I will help you the best I can in setting up a few emulators, but the truth is, every computer is different, so what works for me might not work for you. In some cases you might have to dig around a bit in order to configure things properly. Feel free to ask for help, and also check the Hyperspin forums for additional help. Now, on to the first emulator!

 

MAMEui is a great program for emulating old-school arcade cabinets. Chances are if you played a game in an arcade way back in the day, it will run on MAMEui. Download the MAMEui32.exe from the website and double click it. When it asks for a path make sure you put in C:\Hyperspin\Emulators\MAME

 

Now go into the MAMEui folder (C:\Hyperspin\Emulators\MAME) and you will see a folder called "MameUI32" this is not what we want. Continue into the folder MameUi32 and select everything, then cut it from this folder and hit your back button so you are now in C:\Hyperspin\Emulators\MAME\ and paste everything in here. Once you've done this, you can delete the empty Mame32UI folder.

 

Now let's assume you've downloaded the rom for frogger which is frogger.zip. With MAME roms you NEVER unzip them, so place frogger.zip into C:\Hyperspin\Emulators\MAME\roms. When you click on Mameui32.exe the program will start and you should be able to see frogger on the list. You will need to configure MAMEui for your display and controllers, which isn't difficult. Also, since it is emulating an arcade, you have a key assigned to insert a coin, and another for player 1 start. Once you execute a rom you can hit the TAB key to configure which keys do what within MAMEui. I would spend some time getting everything setup here because like I said earlier...if it doesn't work outside of Hyperspin, it's not going to work in Hyperspin. Also note that in MAMEui you can configure the keys for every game, or just one game. This comes in handy when you have fighting games with various button setups...you can just configure the setup for that one game without messing up how your controller works with everything else. Another quick note, any changes you make to MAMEui you will need to do here, if you make them from within Hyperspin, MAMEui won't save the settings.

 

So right now you have MAMEui setup and running with at least one rom. Assuming you own the games, grab a few more and try them out...make sure everything works fine in MAMEui. Now try installing Fusion for Sega roms and setting it up for Sega Genesis (create the folder C:\Hyperspin\Emulators\Sega Genesis). This Emulator is a lot easier to master than MAME, so it should be pretty self explanatory. One thing to make sure of though is the video resolution and refresh rate. Make sure they are set to your current display settings and monitor refresh rate, or you will experience problems with Hyperspin. Now that you have 2 working emulators and some roms all setup and playing, it's time to setup Hyperspin to work with them.

 

If you haven't already, download XML Sydora and run the executable. I know, it's not in english, but it's pretty simple to use regardless. In the first box is the file extension. Since all of your MAME roms are in .zip format you're just going to put "zip" (without the quotes). Now click the button that says "Origen" which is Origin, or where the files are located. In this case you want to browse to C:\Hyperspin\Emulators\MAME\roms , Now click on "Destino" which is your destination directory. Browse to C:\Hyperspin\Databases\MAME\ and name the file MAME.xml (if you have a file already named MAME.xml go ahead and overwrite it, because the old one is a big list of junk you don't have and useless). For Sega Fusion you will do the same thing but save the XML file in C:\Hyperspin\Databases\Sega Genesis\Sega Genesis.xml

 

You have now created your first 2 Hyperspin Database files. These files are what Hyperspin lists on the wheels when you load it up...but we're not quite to that point yet. Now go to the folder C:\Hyperspin\Databases and using First Object XML Editor open up Main Menu.xml. Notice that you have a bunch of emulators listed in this file, but as of right now, you only have 2 setup. For the sake of simplicity, delete all of them and make it look exactly like this:

 

<?xml version="1.0" encoding="iso-8859-1"?>
<menu>

<game name="MAME" />

<game name="Sega Genesis" />

</menu>

 

This tells Hyperspin to only list the 2 working emulators you have...which are obviously listed after the &lt;game name= tag. Now save Main Menu.XML (over write the old one). Now let's say you wanted to add Atari 2600, you would just add another line in the appropriate area (between the <menu> and </menu> openers and closers) that says:

 

<game name="Atari 2600" />

 

which we would then link to the proper folder in our C:\Hyperspin\Emulators\ directory...but let's not jump too far ahead of ourselves. Before we start adding too much, there's a few more key elements missing from our Hyperspin setup. One would be the .ini files. The .ini files tell Hyperspin (from now on I'll be calling it HS) where to look for a systems' emulators and roms, it also tells HS information like font size, and color, where to find the video file for a system or game theme, how we're going to run the specified emulator. Don't fear though, HyperHQ is here to make this a little easier for you. Let's open up HyperHQ.exe located in C:\Hyperspin\ and take a look around.

 

HyperHQ has many elements to it, but for the most part you will set them once, and never have to set them again. For starters let's click on the "Screen" tab and set your resolution. For most people you will want to have "Fullscreen" enabled. Then set your resolution to match exactly what you have set for your system. In my case it's Directdraw (1680x1050) 32bit 0hertz. I have it set to 0hertz to allow it to detect my refresh rate. Something to note here, make SURE you select Directdraw and not API unless your system uses API as this will cause many problems! Also I cannot stress enough how important it is to have HyperHQ, your system display, and emulators all running at the same resolution/refresh rate!

 

Now that your Screen resolution is set, click on the tab that says "Controls." This is pretty self explanatory. One thing to keep in mind though, make sure whatever you set isn't going to interfere with your emulators' controls. Most emulators allow you to choose custom settings, I highly recommend trying to use a similar control setup on as many emulators as possible. As of the current version of Hyperspin, it doesn't really support joysticks (more on that later), so keep the controls set to keys in HyperHQ. I would also suggest enabling Keyboard Delay so your HS wheels don't spin so fast that you have a difficult time selecting a game while using a controller. We're finished with the minor settings of HS, now for the gravy...the system wheels.

 

The "Wheel Settings" is where it all comes together for HS. Go ahead and choose this tab, and select MAME where it says "Choose a wheel." Under the Emulator tab set these options to the following:

 

Execution: Normal

 

PC Game: Disabled

 

Executable: Click the little folder icon and browse to C:\Hyperspin\Emulators\MAME\Mameui32.exe

 

Rom Path: C:\Hyperspin\Emulators\MAME\roms\ **NOTE: Make sure you have the \**

 

Params: -skip_gameinfo **Note: this is optional, i have it so MAME just goes straight into the game without displaying any rom information**

 

Extensions: zip

 

Use Full Path To Roms: Disabled

 

Search Subfolders: Disabled

 

Winstate: HIDDEN

 

Now click on the "Wheel" tab and "General" my settings are as follows, you can play around a bit once you get HS running:

Style" Normal

Speed: Med

Position: Right

Don't worry about pointer

Only Show themes: Disabled

Animate Default Theme: Enabled

Alpha: -15

 

Now click on the "Wheel Text" tab still under the "Wheel" subsection and mine are set like this (I would suggest doing this to make your fonts stand out and look better than the default settings):

Wheel Text: Enabled

Text Style:

Style4

 

Gradients: (Choose a cool looking color setup, something that stands out a bit)

Color Ratio: Mine is at about 75%

Text Width: 750 (can be set bigger or smaller)

Small Wheel Width: 400 (can be set bigger or smaller)

Large Wheel Width: 500 (can be set bigger or smaller)

Stroke Size: 6 (can be set bigger or smaller)

Shadow Distance: 0 (can be set bigger or smaller)

Shadow Angle: 45 (can be set bigger or smaller)

Shadow Alpha: about 45% but it's not a big deal

Shadow Blur: 0

 

Now click on the "Video" tab and set the path to: C:\Hyperspin\Media\MAME\Video\

 

This will be where you place videos for you individual mame games. Note: They have to have the exact same prefix (name) as your rom name (example: if your MAME copy of "Pac-Man" has a rom named pcman.zip, you would download the flv video and rename it pcman.flv and place it in C:\Hyperspin\Media\MAME\Videos\). As of right now, you don't have any so don't stress too much about this. Now setup your Sega wheel the same as you did your MAME wheel, but make sure to point it to the proper folders (C:\Hyperspin\Emulators\Sega Genesis\ etc.) The only difference is you will have the setting "Full Path To Roms" enabled for this emulator due to the way it uses command line execution. Just trust me on this one. You can now close HyperHQ and move on to the next challenge in getting your test Hyperspin up and running.

 

Now that you've learned the basic structure of Hyperspin, how to setup emulators and roms, create database files, Use HyperHQ to configure your paths in HS...the final thing we need to do before launching HS is edit and compile our Hyperlaunch.exe using Autohotkey. I shouldn't even have to tell you to download and install Autohotkey by now, if you installed it correctly, when you right click on Hyperlaunch.ahk (located in C:\Hyperspin\) you should see an option called "Compile Script." If you don't, you screwed up...download and try installing it again. Now if you were paying attention earlier, you will notice that I explained Hyperlaunch as a program that executes secondary programs that aren't supported in Hs by default. So, you might be asking why I'm having you manipulate your Hyperlaunch.ahk when both of the emulators (MAME and Fusion) are listed as being supported in HS by default. There's a method to my madness. I'm going to have you run a media center via HS remember? In order to do this, you need to open your Hyperlaunch.ahk using First Object XML Editor and scroll way down and just under where the last emulator is listed (in my case Zinc), after the lines that say:

 

RunWait, %Executable% %romName%, %EmuPath%, Hide UseErrorLevel

}

Hit enter once, and paste in the following code:

;***********************************XBMC*************************************

else if (systemName = "XBMC" &amp;&amp; executable = "xbmc.exe")

{

hideDesktop()

Hotkey, %exitEmulatorKey%, CloseProcess

RunWait, %emuPath%%executable%, Hide UseErrorLevel

}

 

Now save Hyperlaunch.ahk, close the editor, and right click on Hyperlaunch.ahk and choose "Compile Script, " to create a new Hyperlaunch.exe. If everything worked out right, the file will be generated. If you get a compiling error, grab your backup Hyperlaunch.ahk and try again...make sure you don't have any extra spaces, and that the }'s are in the right place...if you have too many it will screw things up. So here's how it should look when it's all finished before

compiling (including the few lines above and below the XBMC code):

 

;***************************************Zinc************************************

else if (systemName = "Zinc" &amp;&amp; executable = "zinc.exe")

{

hideDesktop()

Hotkey, %exitEmulatorKey%, CloseProcess

RunWait, %Executable% %romName%, %EmuPath%, Hide UseErrorLevel

}

;***********************************XBMC*************************************

else if (systemName = "XBMC" &amp;&amp; executable = "xbmc.exe")

{

hideDesktop()

Hotkey, %exitEmulatorKey%, CloseProcess

RunWait, %emuPath%%executable%, Hide UseErrorLevel

}

else

{

MsgBox,48,Error,%systemName% is an invalid System Name or %executable% isnt supported yet,6

}

;------------------------------------------------------------------------------;

; WHEN EMULATOR FINISHES OR IF LAUNCH EXE FAILS ;

;------------------------------------------------------------------------------;

;************PROBABLY DO NOT NEED TO EDIT THIS AREA*************

 

So now your Hyperlaunch.exe is ready to go. We're not going to use this right now, I just wanted to go ahead and get it out of the way and teach you a little about the AHK script before we get into playing around in Hyperspin. Sorry haha

 

FINALLY! Load up Hyperspin.exe and enjoy what you've created. It isn't much...but it works! You Should now have 2 items on your wheel (they will be listed multiple times, that's perfectly normal because right now you only have 2 systems setup), MAME and Sega Genesis. Select one by moving the wheel up and down and hitting your "Enter" key (unless you changed the keyboard controls earlier). Now select one of your roms, and your game should start. If your game doesn't start for some reason, read the log.txt file I pointed out earlier and make sure you have all of the paths setup properly.

 

Now that you've got the basics down, see if you can setup some more emulators and roms, join the Hyperspin forum for support and to learn all kinds of cool little tricks and tweaks. Also donate to help further HS development and gain access
to the FTP which allows you to download all of the art packs and themes easily...which is what we'll be addressing in the second part of this tutorial. If you get stuck, feel free to leave me details in the comments section on here, and I will see if I can work it out for ya. Check back for the second part of this tutorial which will focus on adding Wheel art, Themes, External programs, and PC Games to your Hyperspin setup.


Enhanced by Zemanta

No comment yet.

You must be logged in to post a comment.