Why Another Guide?While trying to setup HyperSpin following Ryan's Full Guide on Setup HyperSpin MAME and Hyperlaunch, I found that some extra steps are necessary to integrate HyperSpin with RocketLauncher. Don't get me wrong, I highly recommend you follow Ryan's comprehensive guide to its entirely, which is what I did when I'm starting to set it up. But you could refer here if you're trying to integrate it with RocketLauncher instead of HyperLaunch.
Some Notes About RocketLauncher
- HyperLaunch is renamed/rebranded as RocketLauncher to remove its ties with HyperSpin, since it is meant to be a multi purpose launcher for other Front-ends as well.
- You can still use HyperLaunch, however I recommend to transition to RocketLauncher for any latest updates.
- All configuration steps and settings UI remains the same in RocketLauncher just as in HyperLaunch, so the walkthrough written by Ryan's are still usable.
- RocketLauncher provides a set of script or modules for basically every popular emulators to date. Think of the modules as a pre-defined CLI (Command Line Interface) that is pre-programmed to handle launching the emulator, e.g. feeding in some complicated parameters.
PrerequisitesThis tutorial assumes that you already read through Ryan's guide and downloaded/extracted the following:
HyperSpin v1.3.3 Full Install came bundled with HyperLaunch v2.x, which is a very old and outdated copy of HyperLaunch. We are going to replace it with RocketLauncher.
|HyperLaunch 2.25c, which is pretty much outdated and replaced by HyperLaunch v3, and now RocketLauncher|
First, download the RocketLauncher v1.0 (Full Install) (65MB) here.
|Download RocketLauncher v1.0 (Full Install). Just like HyperSpin, you'll need to register as member to download it.|
Extract it into a folder named 'RocketLauncher' under your HyperSpin folder, such as G:\HyperSpin\RocketLauncher.
The archive password is www.rlauncher.com as mentioned in the download page.
|Extract the downloaded RocketLauncher.zip into the RocketLauncher folder|
Changing HyperLaunch Path to RocketLauncherBy default, if you're following Ryan's guide, HyperSpin assumes that the HyperLaunch is located at C:\HyperSpin\HyperLaunch. Since we are using RocketLauncher we will first have to change the path pointing to our RocketLauncher path.
HyperSpin 1.3.3 still refers to HyperLaunch instead of RocketLauncher. You can tell when opening the HyperHQ. Don't worry though, it is simply a pointer to the HyperLaunch.exe which we can easily change.
|HyperSpin v1.3.3 still refers to HyperLaunch instead of RocketLauncher. Don't worry as we can simply redirect it to RocketLauncher in the steps below.|
To do that, go to G:\HyperSpin\Settings and open up Settings.ini.
|Change the HyperLaunch Path into the RocketLauncher path. Note that this is option is not visible in HyperHQ, so we'll have to do it manually.|
Look at line #10 which you'll replace it with the path to RocketLauncher, such as G:\Hyperspin\RocketLauncher\
Next, we're going to COPY RocketLauncher.exe and named it as HyperLaunch.exe since it is the built-in command line that is executed by HyperSpin (see the Command Line Preview when selecting HyperLaunch as execution). We have to have these two different names because RocketLauncher.EXE is launched by RocketLauncherUI and HyperLaunch.EXE is launched by HyperSpin.
|Create another executable and name it as HyperLaunch.exe. RocketLauncher.EXE is launched by RocketLauncherUI and HyperLaunch.EXE is launched by HyperSpin.|
Another way to use RocketLauncher is to simply extract the RocketLauncher directly underneath the HyperSpin folder itself. However it would really mess up your directory structure since RocketLauncher also share similar directory with HyperSpin such as Modules and Settings.
CleanupNow that we have setup HyperSpin to launch RocketLauncher, which will then fire up the configured emulators depending on the selected systems, you can then remove HyperLaunch.exe from HyperSpin since we are no longer using it.
|Delete HyperLaunch.exe from HyperSpin since we are no longer using it.|
Some Screenshots of RocketLauncherFollowing are some screenshots taken from RocketLauncher to show its similarity with HyperLaunch.
|Adding HyperSpin front-end to RocketLauncher.|
|Adding new emulator menu page|
|Adding new emulator dialog.|
FAQQ: Selecting a MAME game for the second time doesn't start the game.
A: This only happens if you selected HyperLaunch as the launcher in HyperHQ and the HyperLaunch process doesn't completely terminated when you quit the game by pressing Esc. Open up your Task Manager and go to the Process tab to see it is still running. Simply killing the process will solve the problem.
This complication is easily solved by using RocketLauncher instead of the pre-bundled HyperLaunch to launch the emulator
|HyperLaunch.exe still running in the background even after you exited from the MAME game by pressing Esc.|
ExtrasRyan's Full Guide on Setup HyperSpin MAME and HyperLaunch also covers how to use Don's HyperSpin List Generator to generate a database XML file to show only the ROMs you got. Make sure to read it if you are only having a small number of ROMs for a particular system.
Adding ROMs for Auditing
When auditing the games in RocketLauncher for any system, the ROM are matched against the database XML file based solely on the name itself, which follows the naming convention of <Game Title> (Region).<File extension>. For example, 3-D WorldRunner (USA).nes.
Unless your ROM are named exactly following these convention styles, you are probably wondering how much time are you going to spent trying to rename each and everyone of them according to the title in the database.xml. Fortunately a guy called Don's have created a suite of tools that can aid our needs.
First, download Don's HyperSpin Tools here.
|Don's HyperSpin Tools homepage. Note that the same tools are also hosted in HyperSpin website.|
The folder must be extracted within the HyperSpin folder.
|Extract Don's HyperSpin Tools within HyperSpin root folder.|
Open Dons HyperSpin ROM Renamer.exe
|Open Don's HyperSpin ROM Renamer tool which will automatically rename our ROMs file to match the filename that HyperSpin recognize|
As an example, let us try to audit some SNES ROMs that I had. We're going to fill in three fields:
1. HyperList XML or DAT file: The ROMs database for your selected system. These can be found under your HyperSpin\Databases folder. By default HyperSpin includes database only for a selected number of systems. To add a database for a system that is not available in HyperSpin database such as Nintendo Game Boy, visit HyperList here and download the XML files for the system that you wanted to add.
|A list of database XML for almost all system to date until Wii.|
|Selecting a system database XML file that our ROMs to be renamed will based upon.|
2. Source ROM folder: The folder where you stored the ROMs. The types of ROMs must match the XML files you selected. For example, I'm using the Super Nintendo Entertainment System XML files, so my source ROM folder is going to be my SNES ROMs folder. In this example, I'm pointing it to my roms (temp) folder where I put my ROMs that are not renamed properly.
3. Output ROM folder: This is the folder where the renamed ROMs will locate. I recommend you to point it to another path which you use to store ROMs referred by HyperSpin and RocketLauncher.
After filling in these fields, click the Scan button and the tool will then scans for matched ROMs. In case if you're wondering, the ROMs in your folder are matched against the ROMs in the database using a CRC Hash Value that is specified in the CRC field inside the database XML file itself. In short, CRC is a mathematically generated unique value that is different according to the file size of each file. So even if you change the game title, the CRC will remains unless you changed the file content itself, such as adding ROMs header.
I highly recommend you to download ROMs released by No-Intro groups which not only have only good ROM sets, but the best out of each region such as US, EU and JP. In case you found some ROMs are not matching even if you have the same game title, it could be because the ROMs that you have are appended with extra headers. I'm going to write another post guiding you some of the best sites to get those handful of BEST ROMs.
|Clicking the Scan button will scan for ROM files matching the CRC specified in the chosen database XML file.|
|Clicking the Rename button will rename my ROMs in my Source ROM folder specified earlier to the Output ROM folder.|
In addition to rename, you can also save a list of games with no CRCs, missing or found games in a TXT files for you to refer to. This is handy if you want to collect the full collections ROMs for a particular system. In this case, I'm missing 70 SNES ROMs from the SNES database.
Two screenshots showing my ROMs in my Source ROMs and the output ROMs after renaming.
|My source SNES ROMs named with the dump release information, e.g. [!] for good dump|
|My output ROMs folder after renaming using Don's HyperSpin ROM Rename tool. Notice the title has been cleaned up with no dump release information.|
Click the blue Play icon in RocketLauncherUI again to audit the ROMs. You'll now see the matching ROMs shown in Green now.
|Auditing my renamed SNES ROMs. ROMs that are matched are highlighted in GREEN cells.|
Adding Genre XML for Genre Navigation in HyperSpin.HyperSpin support genre browsing by pressing the 'G' button. By default, only MAME wheel came with genre browsing due to reasons explained below.
HyperSpin knows which game belongs to which genre simply by reading the genre.xml, which then refers to a series of xml files that are named according to the genre type, such as Action.xml, Adventure.xml. You can see this in the HyperSpin\Databases\MAME folder which explains why genre browsing works in MAME wheel but not the SNES wheel that we just created. You can get this XML files either through HyperList or manually generated yourself. Though the genre XML files hosted in HyperList may be outdated.
Don't feel intimidated. By manual I simply means using Don's HyperSpin List Splitter which will automatically split the genres in the database XML instead of inputting them by hands.
First, open up Dons HyperSpin List Splitter program.
|Open Dons HyperSpin List Splitter to split the main database XML file into multiple genre XML files|
Select the HyperSpin XML File which is the XML file that has all the information about the game titles for a system. Let's follow our previous example and create genres for our SNES ROMs.
Next, select the output folder which the genre.xml and a list of other genre-type.xml files will be populated. Point this to the HyperSpin\Databases\<Your Target Game System Folder>
|Fill in the HyperSpin XML file and output folder that will contains the genre XML files.|
Select Split files based on Genre. In addition, you could also split by Manufacturer, Rating, and Year.
|You could also split by Manufacturer, Rating, or Year.|
Click the Generate XML Files button and you'll then see a list of XMLs files named according to the Genre type in your Output folder.
|A list of XML files named according to the genre category. The main XML file that point to these genre XML is genre.xml, which HyperSpin will locate when you enter into Genre mode by pressing 'G' button.|
A quick look at the genre.xml file. This is the main file that HyperSpin looks up for other genre-type XML files. As you would have guessed, the actual game information such as titles are stored within each genre-type XML files.
|A quick look at the genre XMl file, which contains the names for the other genre XML files that it is referring to. When renaming the genre name here, make sure you also rename the genre-type XML filename that it is referring to.|
From a software engineer point of view, HyperSpin can actually filter the database XML file instead of having to create multiple XML files for it to refer. I think this is to reduce some memory or performance issues when filtering XML files since it would require a significant amount of memory space when traversing the XML element by element.
You can further cleanup duplicate genre names since they are not case sensitive by opening up the genre.xml files. As highlighted there are two genre, platform and Platform. You can even change the genre name here, but make sure you also rename the genre-type.xml files that it is referencing.
Useful Third Party Add-OnsHyperSpeech - Speak the game titles, game wheels, etc.
HyperSearch - Allows you to search for games across all systems.
Useful Tools to Audit your ROMs
- DatUtil - Convert DAT files to other formats.
- Tur-Matcher - Intelligently rename your ROMs files even if you're using another ROM set to match HyperList official list
- HyperSpin Checker - All in one tool to manage HyperSpin and other tools for auditing
- HyperROM2XML - Generate database XML file based on your ROM folder and file names.
Sourcing and Downloading Artworks, Video Snaps MediaThis part is mainly for aesthetic purpose. As I quote from somewhere I read, this will makes the shitty games looks flashy, but is still shitty.
As Ryan had pointed out, there are basically two routes that you can go. Yes, options just like in real life.
Option #1 - For the RichesThis option is only for those with big wallet and is willing to spend at least $50 for Platinum membership on HyperSpin to get the static artworks, themes for HyperSpin and another $30 for Emumovies Yearly subscription to get the animated content such as video snaps, which is the cheapest option. Personally I don't really have a lot of content right now, going on this route might be wasteful. Hence we have the second option!
This option, however, is also the easiest since all you need to do is pay your money and use single click to sync all the medias. I would opt for this if my media is constantly updating and I have huge media library before I could justify this purchase.
|Upgrading your membership in HyperSpin today to supporting member to gain access to their FTP server.|
|Upgrading your membership in EmuMovies today to enjoy unlimited download of video snaps in 480p and access to FTP server!|
Option #2 - Beggers Can't be ChoosersThis option is basically for those that either don't have the penny (or credit card to pay using PayPal), or simply doesn't willing to pinch their wallet on content that should be made free and publicly available. For that, you'll have to work harder than the people who goes on Option #1.
All static contents such as artwork, titles, snap (screenshot), and background music are downloadable using their Emumovies Download Service Utility hosted from their FTP server. Animated content such as video snaps, however, are only available to download for supporting member.
Also, free users are limited to only 250MB download per day.
|EmuMovies Download Service Utility. Yes, I'm logging in as a Free User.|
For video snaps, you can head over to Emumovies Download page, select a game system, and manually download it. The good news is you don't have the downloading wait time like in HyperSpin. The bad news is you are restricted to download one file at a time. For IDM users, batch download is not applicable.
For most static content, there are several users that had contributed on forums such as GBATemp that attempts to upload and share the cover arts:
Cover Collections for Emulators With Cover Support (GBAtemp.net)
RetroXMB Art Collection (PSX Scene)
Leave in the comments below if you have found any sites that share these artwork parks and bundles.