Hi!
I share a script I made for Rocket Launcher / HyperLaunch that programs UGC files to Ultimarc's UltraStik 360 Joysticks before launching a Rom. It uses the User Function feature of RL / HL.
UltraStik 360 ProgrammerYou can define a different UGC file for each Rom or System. It also programs the Joysticks when you exit a Rom, allowing you to define a UGC file for the Front-end. UltraStik 360 Programmer can replace LedBlinky if you are using it only to program you U360s (as I was doing!)
UGC files (UltraStik Game Configuration) tells the UltraMap.exe program which maps to download to which joysticks (numbered 1 to 4). For example, 4-way.ugc tells UltraMap to program the 4-way Map (4-way.um, located in the Maps subfolder of the UltraMap program folder) to both joysticks 1 and 2. In this pack I include 6 UGC files: 2-way, 2-way-vertical, 4-way, 4-way-diagonal, 8-way, analog
With the UltraStick 360 Programmer, you can specify a system (MAME, Nintendo Entertainment System, Atari 2600, etc..) to use a different UGC file per Rom (a "Per Rom System"), or to use the same UGC file for all roms. I include UGC files for most MAME games in the default ini file, with the default as 8-way. I also include some special UltraMap Maps, in order for the 2-way UGCs (left & right and up & down) to still work with Hyperpause (see below)
Installation* Copy "User Functions.ahk" to the "Rocket Launcher\Lib" (or "HyperLaunch\Lib") folder. WARNING: If you have other User Functions already programmed in User Functions.ahk, do not overwrite your file. You should edit it and add the code provided here.
* Copy "UltraStik 360 Programmer.ini" to the "Rocket Launcher\Lib" (or "HyperLaunch\Lib") folder
* Edit "UltraStik 360 Programmer.ini" to specify the location of the UltraMap software (in the UltraMapExe key). If you don't have it installed, please download it from
http://www.ultimarc.com/ultrastik_prog.html and install it. By default, it installs itself in C:\Program Files (x86)\UltraMap.
* Copy the provided UGC files to the UltraMap program folder (in the same folder where UltraMap.exe is in). Also copy the Maps that are in the Maps folder to your UltraMap/Maps folder. Feel free to modify these UGC files with the UltraMap software.
That's it, enjoy! You can further edit the ini file to better suit your needs:
Ini FileIn the ini file (UltraStik 360 Programmer.ini, located in Rocket Launcher\Lib) you define a global default UGC (typically 8-way). This UGC is used when there is no specified UGC for either the System or the Rom.
In the [PerRomSystems] section of the ini file, enter "System Name"=true for systems that can have a different UGC files for each Rom. (e.g. MAME=true). If a system is a PerRomSystem, the script looks for a specific UGC for each Rom. If it does not find it, it looks for a default system UGC in the [Systems] section. And if it does not find it either, it uses de global default UGC.
In the [Systems] section, enter the ugc file for each system (without quotes and without the .ugc extension, e.g. Nintendo Entertainment System=8-way). If the current System is a Per Rom System, this UGC will be used as default when no rom UGC is specified. If the current system is not a Per Rom System, this UGC will be loaded for all roms of the system. If a system is not specified in this section, UltraStik 360 Programmer will use the global default. The system FrontEnd is the system name assigned to the front end. This UGC is loaded each time you exit a rom.
In the [Roms] section, enter the UGC file for each rom, for all PerRomSystems (without quotes and without the .ugc extension, e.g. invaders=2-way). If a rom is not specified, the script will use the UGC given in Systems, or the global default.
Note: Pause / HyperPause
UltraStik 360 Programmer does not work with Pause. When you enter Pause, the Rom / System UGC does not change. This might bring problems with the default 2-way mappings that UltraMap installs, since you lack 2 directions. As a fix, I created 2 new Maps: "2-Way, Mostly Left & Right.um" and "2-Way, Mostly Up & Down.um", with the corresponding 2 UGC files: 2-way.ugc and 2-way vertical.ugc. These maps are mostly 2-way, but keep a 4-way functionality for Pause.
Credits: I used most of the rom UGC configs prepared by EMDB for HyperMap (
http://forum.arcadecontrols.com/inde...,134128.0.html), and took the main idea of this Programmer from byancey at this forum (
http://forum.arcadecontrols.com/inde...tml#msg1483682). Thanks to both!