HyperSpin 3 INI System Setup Guide
HyperSpin 3 INI System Setup Guide
Step1:
On first launch, HyperLaunch 2 will create many new ini keys in Settings.ini and Global
Settings.ini. The first time you launch a game, it will also create keys in that systems ini. So
the first time you setup a new system, it's a good idea to just launch a game from it, even it
it fails, just to have the ini keys generated for you. Then go back and edit them if you need
to.
Example Settings.ini keys:
Code:
[HyperLaunch]
Exit_Script_Key=~q & ~s
Exit_Emulator_Key=~Esc
Toggle_Cursor_Key=~t
Path_To_Daemontools=
Path_To_CPWizard=
Last_System=MAME
Last_Rom=1942
Step2.
Make a new folder in your install directory called Modules. Each module goes into a folder of
the system name. Your install directory is your root Hyperspin folder. It should always be
placed in the root of one of your drives, like this:
Code:
C:\Hyperspin\
or
D:\Hyperspin\
The reason you want it here is to minimize the chance of running into a 255 character limit in
your paths.
Using the above example, you should now have a folder like so:
Code:
C:\Hyperspin\Modules\
For each system you have in your C:\Hyperspin\Databases\Main Menu\Main Menu.xml, you
need to create a folder using the same name exact name in that xml.
Example:
Code:
C:\Hyperspin\Modules\MAME\
Now visit HyperList, create a login if asked. For each folder you made, download a module of
the emu you want to use and place it in the folder for that system. When saving the module,
be sure to name it exactly the same as the folder you are placing it in:
Example:
Code:
C:\Hyperspin\Modules\MAME\MAME.ahk
Step3.
Download the new HyperLaunch 2.x package at the bottom of this post and extract it into
your root Hyperspin folder from above (eg C:\Hyperspin\). Any updates to HyperLaunch will
be posted at the bottom of this post.
Whats inside:
HyperLaunch.exe (The compiled launcher, source code can be found on HyperList)
autohotkey.dll (This is why we dont have to compile modules)
7z.dll (Required for 7z functions)
7z.exe (Required for 7z functions)
Step4.
Each module contains notes at the top that you are REQUIRED to read and follow. Many
modules have user settings you can edit below the notes section to turn emu or module
features on or off, or just make controlling the emu easier without having to run it manually.
Some modules also require additional downloads that can be found on the FTP until HyperList
supports hosting of these files. If you try to run a system, and it warns about a missing file in
your modules folder, chances are it's found on the FTP.
HOW TO USE
Once everything is done you should be good to go. Assuming you have mame configured in
your settings already you can now run a test without even opening HyperSpin.
Double click HyperLaunch.exe. You will see the mini gui where you can run tests.
Simply type in the name of the System and the Rom Name and click test.
If your game runs, then it will run from HyperSpin.
DO NOT attempt to compile HyperLaunch.ahk to a new exe unless your using a special
version of autohotkey. Autohotkey_H. See notes at the top of script for link and info. DO NOT
attempt to compile any module ahk, they must stay in plain text ahk script!
Download Daemon Tools Lite from the official site: http://www.daemontools.cc/eng/products/dtLite and click download, not buy.
Run the exe to install DT and select Free License. Careful what you select during
install. Being a free program, they try to install some questionable 3rd-party
apps. Be sure to disable these on the install wizard. You also do not need SPTD,
but if you decide to install it, you will have to reboot finish installing it. This is
used for some advance emulation features not really needed for emulation. You
also don't need the windows gadget, so uncheck that.
Choose your installation path. I suggest keeping it default, like "C:\Program Files
(x86)\DAEMON Tools Lite\" (for a 64-bit system).
Step 2:
Make sure you configure the path to Daemon Tools in your
Hyperspin\Settings\Settings.ini. Open the ini and in the [HyperLaunch] section at
the top:
Code:
Make sure that path and exe matches where you installed DT. If the key is not
there, either add it, or run HL2 once and it will be added for you.
Step3:
If DT asked you to reboot, do so now.
You should now have a DT icon in your running tasks in your task bar. You also
by default have a DT virtual Drive already setup and assigned a drive letter for
you.
Now right click the DT icon and select Virtual Devices->Add SCSI Virtual Drive. It
will create a SCSI virtual drive with the next available drive letter. This is the
suggested drive for some systems.
That's it for setting up DTLite. You will find additional instructions in the in any of
the modules that use DT. Follow those to get DT setup with your emu/module.
[exe info]
Per_Game_Modules=false
[*]Per_Game_Modules - This only needs to be added if individual games have their own
scripts. This would probably be true for a PC games wheel
[HyperLaunch]
Path_To_CPWizard=false
Global Settings.ini
Code:
[HyperLaunch]
CPWizard_Enabled=false
CPWizard_Delay=8000
CPWizard_Params=-minimized -timeout 9000
systemname.ini
Code:
[exe info]
CPWizard_Enabled=use_global
CPWizard_Delay=use_global
CPWizard_Params=use_global
Definitions:
[HyperLaunch]
7z_Enabled=false
7z_Extract_Dir=%A_Temp%\
7z_Delete_Temp=true
Each system ini you can define a separate extract to folder, or keep the default windows temp
folder defined for you in the Global Settings.ini.
Code:
[exe info]
7z_Enabled=use_global
7z_Extract_Dir=%use_global
7z_Delete_Temp=true
Definitions:
7z_Enabled - Do you want to let HyperLaunch uncompress the roms for you?
Set to true if your emulator doesn't support the compressed format your roms are
in.
7z_Extract_Dir - The temp dir we want to uncompress our rom to, Default is
your windows temp folder
7z_Delete_Temp - If true, will delete the temp folder upon exit of the module
[HyperLaunch]
Fade_In_Interrupt_Keys=anykey
HL2 will automatically add these keys to your Global Settings.ini:
Code:
[HyperLaunch]
Fade_In=false
Fade_Out=false
Fade_Color=0x000000
Fade_In_Duration=500
Fade_Out_Duration=500
Fade_In_Delay=0
It will also automatically add these system-specific ini keys in each systemname.ini:
Code:
[exe info]
Fade_In=use_global
Fade_Out=use_global
Fade_Color=use_global
Fade_In_Duration=use_global
Fade_Out_Duration=use_global
Fade_In_Delay=use_global
What this does is, as long as you have "use_global" set in any of your system.ini's, it will use
the value from your Settings.ini. If you want a specific system to have its own setting, just
change "use_global" to a same value type as found in the Settings.ini. So for example,
fade_color uses a hex color (0x000000) in the Settings.ini, so in your systemname.ini, it
would also have to be a hex color (0x00FF00).
Definitions:
Fade_In - If true, Hyperspin will fade out to the fade_Color set below. Set to
false when troubleshooting a module for launching problems.
Fade_Out - If true, the emulator will fade out when exiting to the fade_Color
set below. Set to false if you run a true fullscreen emulator or you see flashes
instead of fading, or when troubleshooting a module for launching problems. This
will only work correctly with windowed fullscreen resolutions, not true fullscreen.
Fade_Color - Color you want to fade to when loading and exiting. This is a 6digit RGB color Value.
Fade_In_Duration - The speed at which the fade_in occurs in milliseconds.
On exit of emu, HyperLaunch will close or unload your keymapper if no Hyperspin profile is
found. If you have created a Hyperspin profile, it will load it.
Xpadder Setup:
1Run it and follow the initial setup prompts.
Autohotkey Setup:
1Create a new ahk file and place your remaps you want to use in ahk code. You
can find more info about how to remap via ahk here. A list of support ahk keys
can be found here.
2Save the file as the game, system, hyperspin, or default profile you want
HyperLaunch to load it for.
3So let's say you want to remap a to b and c to d using ahk for the rom "Mario"
for Mame. You would create a "Mario.ahk" in "Keymapper Profiles\Mame\" and in
it you would find the following remaps:
4Code:
5a::b
6c::d
7You would also have to set keymapper=ahk either as your global setting in
Settings.ini or only specifically for Mame in the Mame.ini.
INI Setup:
In order to turn on the keymapper support, we use a 2-part system to enable either global,
or system specific, user settings. HL2 will add these default settings to your
Settings\Settings.ini:
Code:
[HyperLaunch]
Keymapper_Path=
Keymapper_Profiles_Path=%A_ScriptDir%\Keymapper Profiles\
Note: The Profile Path will get translated to read out to your Hyperspin folder when you look
at it.
It will also create these in Global Settings.ini file like so:
Code:
[HyperLaunch]
Keymapper_Enabled=false
Keymapper=
Finally, it will add these system-specific ini keys to the systemname.ini:
Code:
[exe info]
Keymapper_Enabled=use_global
Keymapper=use_global
What this does is, as long as you have "use_global" set in any of your system.ini's, it will use
the value from your Settings.ini. If you want a specific system to have its own setting, just
change "use_global" to a same value type as found in the Settings.ini.
Definitions:
Keymapper_Enabled - Iif true, enables keymapper support for all systems that
have "use_global" set in their systemname.ini
Keymapper - Default is blank, but choices are "xpadder" or "joytokey" or "ahk"
Keymapper_Path - Default blank, this is the path to your keymapper exe, for
example C:\Hyperspin\Utilities\xpadder\xpadder.exe
Keymapper_Profiles_Path - The path all your keymapper profiles are stored,
default is Hyperspin\Keymapper Profiles\
Note: If you have Keymapper enabled for a system, you need to make sure you have one of
the 4 profiles from above located in your Keymapper_Profiles_Path for all games. So lets say
you have xpadder enabled for Mame and made only a Mario Profile, but don't have a default,
hyperspin, or Mame profile and you decide to play Gradius, you would get an error that you
have Keymapper enabled, but could not find a valid profile. If you don't want to remap any
keys for any other Mame games, you can just create a blank profile called
Mame.xpadderprofile and you won't get the error anymore.
Tips for those having issues working with Keymapper support:
Remove any profiles you have saved in the folder that xpadder.exe resides in.
Make sure xpadder it is set to load the last used profile on Windows startup
(which will always be Hyperspin unless you load up a different one after exiting
HS).
Four media names are supported at the moment: Cart, Disc, Disk, and Tape. Where Tapes can
have Sides:
Code:
I will update modules as I go to support this feature. So far Xebra (Sony PlayStation) is
already updated, but only when using daemon tools lite. I tried to get the emu to swap discs
internally while another is running, but I think it has to be done outside of the emu.
Explanation of the new INI keys:
Global Settings.ini will be injected with all the new keys the first time you launch any game
on any wheel.
Your system ini will be injected with the new keys first time you launch a game from that
system's wheel.
Settings.ini Default Key Values:
Code:
[HyperLaunch]
MultiGame_Key = NumpadSub
MultiGame_Select_Key = Enter
MultiGame_Exit_Key = Esc
Global Default Key Values:
Code:
[HyperLaunch]
MultiGame_Background_Color = FF000000
MultiGame_Side_Padding = .2
MultiGame_Y_Offset = 500
MultiGame_Image_Adjust = 1
MultiGame_Font = Arial
MultiGame_Text_1_Options = x10p y30p w80p Centre c80FFFF00 r4 s100 Bold
Italic
MultiGame_Text_1_Text = Please select a game
MultiGame_Text_2_Options = w96p cffffffff r4 s50 Center Bold Italic
MultiGame_Text_2_Offset = 70
MultiGame_Use_Sound = True
MultiGame_Sound_Frequency:=300
MultiGame_Exit_Effect = none
MultiGame_Selected_Effect = rotate
MultiGame_Use_Game_Art = false
MultiGame_Art_Folder = Artwork1
System Ini Only Default Key Value:
Code:
[exe info]
MultiGame_Enabled = true
Definitions:
screen. A positive number moves the images up, a negative moves it down
MultiGame_Image_Adjust: Multiplier to adjust the size of the images. Use this
if you want to shrink or grow the images
MultiGame_Font: Specify the Font to use. Default is Arial as most systems
should have this installed
MultiGame_Text_1_Options: Set the text options for the middle of the screen
w (width): Area you force the text to stay constrained to. If p is used after the
value, it denotes the percentage of the image width So w90p, means to allow the
text to use 90% of the image width. If p is not used, the value represents pixels
c (color): In ARGB, preceded with the opacity. So DD000000 would be partial
black, and FF000000 would be solid black. Preceed the color with a c to denote it
is a color (cFF000000) - For more info
see: http://en.wikipedia.org/wiki/RGBA_color_space
r (quality): The following chart explains the different effects you can apply
SystemDefault = 0
SingleBitPerPixelGridFit = 1
SingleBitPerPixel = 2
AntiAliasGridFit = 3
AntiAlias = 4
s (size): Size of the Font
Formatting Options: Top, Up, Bottom, Down, vCenter, vCentre, Centre, Center,
Regular, Bold, Italic, BoldItalic, Underline, Strikeout, NoWrap (you can use as
many as you like, but careful with the positioning options as you may cover up
the image art)
At a minimum, your module MUST CONTAIN THESE LABELS OR ELSE YOU WILL
ERROR ON LAUNCH WITH MULTIGAME ENABLED:
Code:
PreMultiGame:
Return
MultiGame:
Return
Like to thank Kodiak for the initial CD images and stupus for taking them a big step further
and creating all the default images to date. Also like to thank brolly for taking the time
testing all this stuff.
[exe info]
Skipchecks=false
Definitions:
[HyperLaunch]
Hide_Cursor=false
It will also add this key to your systemname.ini:
Code:
[exe info]
Hide_Cursor=use_global
What this does is, as long as you have "use_global" set in any of your system.ini's, it will use
the value from your Settings.ini. If you want a specific system to have its own setting, just
change "use_global" to a same value type as found in the Settings.ini.
[HyperLaunch]
Hide_Taskbar=false
It will also add this key to your systemname.ini:
Code:
[exe info]
Hide_Taskbar=use_global
As an alternative method for taskbar hiding, which you may need for pesky emus that might
restore it on you or you taskbar bleeds through application somehow, you can use the script I
made below. Just be sure to turn off HL2's taskbar hiding as they will interfere with each
other.
1Download the HideTaskbar.zip attached at the bottom of this post.
2Extract it wherever you like and Open HyperHQ.
3Goto Main Settings -> Startup/Exit and set the Startup Program to
HideTaskbar.exe
4Make sure Hide_Taskbar in your Settings\Settings.ini is set to false (we don't
want HyperLaunch to control taskbar hiding because it is being hidden by
HideTaskbar.exe instead)
[HyperLaunch]
Hide_Desktop=false
It will also add this key to your systemname.ini:
Code:
[exe info]
Hide_Desktop=use_global
TROUBLESHOOTING:
1Open ALL modules in notepad and follow the instructions at the top.
2Check if you are running the latest HyperLaunch, found at the bottom of this
post.
3Check if you have HyperLaunch enabled in HyperHQ by going to Wheel Settings
-> Emulator -> Execution = HyperLaunch
4Check you are running the latest module of the system/emulator you are trying
to launch. Always stay upto date with module versions found on HyperList, I will
not offer support for older modules or ones you found on the forum/ftp unless
stated otherwise.
5At the top of each module has an emu version number. The module was ONLY
tested to work with that specific version emu. I cannot stay upto date with every
emu release, so eventually a module may break with newer emu releases. After
you have exhausted all other options and you still cannot get the module to run,
make a post and I will look into updating the module.
6Did you open the module up in Notepad (or your preferred text editor) and
follow all the notes at the top?
7Did you set the user settings at the top of the module? Many modules have
settings at the top that require manual changing for the emu to work properly. I
set what I believe should be default on them, but they may not work for you.
These settings will overwrite any changes you make in the emu itself, so it is vital
you are aware they are there and set them appropriately.
8If you feel like you are seeing too much of the emulator launch process (eg. the
emu window showing before the game does), did you setup and turn on fade
support to hide it? Each of my modules are designed to use fade as your finishing
touch. When fade is off, you are supposed to see emu windows or something
launching and/or closing. This is how windows works when programs take focus.
Fade makes an attempt to hide all that.
9If you edit the module in anyway besides the user settings at the top, you take
full responsibility if something doesn't work.
10Do not PM the author asking for help on a module. First search the forum for
your problem, if you just cannot find any info on it, make a post on a relative
thread, or create a new one.
11Lastly, before you post, test that your emu works via command line by creating
a .bat file in your emu folder, then running it. Some emus don't work via
command line and I have written procedures to automate launching otherwise, so
you can skip this step for those. The bat file should look like this (using N64 as an
example):
Project64.exe "C:\Roms\Nintendo 64\Super Mario 64 (USA).zip"
12If the bat file successfully launches your emu and your rom works, good chance
the module has an issue and you should post your log.
13Include your ENTIRE HyperLaunch.log (found in your Hyperspin dir) in
your post.
14Please use pastebin to post scripts or relative info if you feel it is necessary.
Screenshots or videos go a long way to helping solve your issue.