analog joystick

Creating and Downloading Custom Maps: UltraMap

To Download this software click for Download Page

New map download utility for Linux / OSX  here

Thanks to Al Crate for this software.
When you first plug the UltraStik 360 into the USB port, it will be an analog joystick. If you go into Control Panel, Game Controllers, you will see the device shown there as below:
If you use the UltraMap software to assign custom maps, the stick will still be seen by the PC as a gamepad joystick but you will see the behaviour of the crosshair in the diaplay (also visible in UltraMap itself) changes. For example, if you configure a 4-way map, the crosshair "jumps" to one of 4 locations (plus center) when you move the stick. If you configure an 8-way map, the diagonals are also accessible.
Also, if you have a keyboard encoder connected to the output port of the UltraStik, direction signals will be sent to it, just like a micro-switch joystick. You can tell your game software either to use the device as a gamepad or to respond to keycodes from the encoder.
To understand how the software works, first you need to know the two file types used.
.UM (UltraStik Map) Files: These are actual map files. For example 4-way, 8-way, diagonal 4-way etc. You can configure as many of these as you wish by setting each of the 81 cells to any of 8 directions, or center, or "sticky" in which no change in movement occurs. Also any cell can be set to analog. You can give each map a recognisable name, eg "4-way" etc.
There is a special map, called "Mouse Pointer" which transforms the device into a mouse cursor pointer.
.UGC (UltraStik Game Configuration) Files: These are the actual files you associate with each game. Each of these files simply tells the program which maps to download to which joysticks (numbered 1 to 4) for each game. You would name these files with the name of the game, or a range of game genres.
Lets take an example. Suppose you wish to set up Q-Bert. This uses an unusual 45 degree 4-way pattern. So you would do the following:
Click on "Tools", "Edit UltraStik Maps"
Click on "New"
Define a 45 degree 4-way map and save as "4-way, Diagonals Only". This would be a UM file. It might look something like this:

analog arcade joystick

You can then assign this map to each of the joysticks you wish to use in this game by selecting the map in the drop-down next to each joystick as shown:
You will see that there is a test feature. If you move the stick, the crosshair will move to it's mapped position. You can experiment with different maps using this feature.

ultrastik 360

You can then save this configuration to a UGC file, in our example maybe called "Q-Bert".
Then, before running the game next time, download the "Q-Bert" UGC file. This can be done either using the GUI (Click "Tools", "Download") or "blind" using a command-line.
Running from the Command Line You can download previously configured UGC files to all joysticks by running from a command line. This enables front-ends etc to be able to seamlessly configure all of your joysticks with suitable settings for every game.
For example run "C:/program files/ultramap/ultramap.exe myconfig.ugc" will download "myconfig.ugc" to the joystiicks.

Running with a switch "/?" will display the following information about all command-line options:

analog joystick

Configuring MAMEWAH to automatically download maps.

At the present time it is necessary to create a UGC file for each game but there may be a change made to Mamewah in the future to enable groups of games to have the same UGC file.
In \mamewah\config\mame\mame.ini:
pre_emulator_app_commandlines c:\ultramap\ultramap.exe c:\ultramap\ugc\[name].ugc
emulator_commandline c:\mame\mame.exe [name]
post_emulator_app_commandlines c:\ultramap\ultramap.exe c:\ultramap\8-way.ugc
Note that the 'pre_emulator_app_commandlines' line would automatically replace [name] with the romname of the selected game. This means you need a .ugc file for each game.
Note: Thanks are due to Robin Merrill, author of Mame Analog+ for the original "mapping" concept and graphic format.