Main > Main Forum
New Product: Ultimarc UltraStik 360 Analog/Digital Mappable Joystick
Tiger-Heli:
--- Quote from: AndyWarne on June 16, 2006, 04:22:45 am ---N0. You can revert to analog via USB by downloading an all-analog map. But once this is done, the directional (I-PAC) interface will also be receiving the same map, ie no directions will be sent as it's an analog map, until you again download a digital map.
The option to "force analog via USB" will be added in the next software version. The stick firmware already supports this function.
--- End quote ---
Okay - I saw the all-analog map, but wasn't sure why you would use it?
Question/Suggestion - For digital modes, the stick superimposes a 9x9 grid on the analog map and converts the resulting values to a digital output.
For analog games (Star Wars, PC games, 270 driving games), I would think you would want true 256x256 resolution and superimposing a 9x9 grid and using those values would make the operation "choppy" (Jumpy) at best.
Are you saying the stick starts in 256x256 via USB, but then when you select a map the stick reverts to 9x9 and then your only analog option is back to 9x9 analog. If so, I think it would be good to add a "no mapping" option in which case the stick reverts to 256x256 mode.
Unless the stick works fine in 9x9 analog mode, or the 9x9 map really takes true analog values, so you are getting 256x256 resolution, or there is something else I am totally missing (which is very possible.)
***
And I still think that you would have to download some map for 4-way games for the stick to behave properly (assuming the default Ultra-Stik to I-PAC map is 8-way), correct?
***
To Chris and others: I wouldn't hold off buying one b/c of the comments in this thread. As others have already stated, the "improvements/tech questions" thread was originally separated and merged into here. Also, I would be much more highly motivated by positive or negative comments by early adopters than speculative comments from the peanut gallery (me).
Grasshopper:
I had one of those d'oh moments over the weekend. I was thinking about how map switching could be implemented without using Windows and realised there is a very simple alternative. You could simply make more than one map available simultaneously and there are several ways to achieve this.
USB HID devices are allowed to have more than two analogue axes so one approach would be to simply increase the number of axes seen by Windows. For example supposing you had created two maps, one for 8 way games and one 4 way games. You could arrange for Windows to see the joystick as a HID device with 4 axes. The first axis would represent the x coordinate of the 8 way map, the second the y coordinate of the 8 way map, the third the x coordinate of the 4 way map, and the fourth the y coordinate of the 4 way map.
The only downside I can think of is that adding extra axes in this way could have an adverse impact on performance.
Another alternative, which I actually prefer, would be to keep the analogue axes purely for analogue applications and have the digital directions represented by button presses. There would be no danger of running out of buttons as the number of buttons that an HID controller is allowed to have is practically unlimited. So for example if "up" was registered on map 1 then the UltraStik would tell Windows that button 1 of the controller has been pressed. If "down" was registered then Windows would be told that button 2 had been pressed. If "left" was registered then Windows would be told that button 3 had been pressed etc. There would be 4 (or perhaps more) buttons associated with each map. So if "up" was registered on map 2 then the UltraStik would tell Windows that button 5 of the controller has been pressed and so on for all the maps defined.
Then for each MAME game you would simply select the appropriate buttons (or axes) for up, down, left and right representing the type of joystick you wanted.
Unfortunately, extending this approach to the Ipac mode could be a bit tricky. If you wanted two maps to be available then you could I suppose have 8 outputs going to the Ipac, the first four being for map 1, and the remainder for map 2. The problem is that you'd then be using up to 8 Ipac inputs per joystick which is too many for most applications. However, MAME's button handling algorithm is fairly sophisticated and with a bit of care you can get a 4/8 way switchable joystick using only 5 outputs. This can be achieve by combining a standard 8 way map and a simplified 4 way map that only registers one direction. I've attached a diagram to show how this might work.
You would then define MAME's ini file as follows:
8-Way Mode
P1_JOYSTICK_UP "KEYCODE_U"
P1_JOYSTICK_DOWN "KEYCODE_D"
P1_JOYSTICK_LEFT "KEYCODE_L"
P1_JOYSTICK_RIGHT "KEYCODE_R"
4-Way Mode
P1_JOYSTICK_UP "KEYCODE_U ! KEYCODE_N"
P1_JOYSTICK_DOWN "KEYCODE_D ! KEYCODE_N"
P1_JOYSTICK_LEFT "KEYCODE_L KEYCODE_N"
P1_JOYSTICK_RIGHT "KEYCODE_R KEYCODE_N"
Of course, it would be even better if the joystick had the option of being connected to a ps/2 port and acting as a ps/2 keyboard as you could then simply connect the joystick to the Ipac's keyboard pass-through socket and have as many unique types of keypress as you wanted.
Also, you could perhaps go one step further and get rid of the idea of multiple maps altogether. Instead you could have just one super map that did everything. On this map you could define multiple overlapping regions each representing a different button press.
Standard disclaimer for Christian: These are just some ideas that I'm putting out for discussion. It should not be assumed that I am in any way criticising the current implementation of the UltraStik.
Grasshopper:
--- Quote from: u_rebelscum on June 14, 2006, 03:39:54 am ---Setting the angles, increasing or decreasing the deadzone size, changing the shape of the deadzone, or doing crazy things like making curvy lines or difference angles between left/upleft than for right/upright would be nice. Are they needed? Do they make that much of a difference than a 9x9 grid? Are they possible to be assigned from the computer on hardware fast enough to do the calculations while cheap enough for retail?
In talking to Andy a little while ago, he mentioned that using angles instead of a grid would be much more computation intensive than possible for the hardware used.
Andy is that still true?
--- End quote ---
Well there are a number of mathematical tricks you can use to make the calculations far less computationally intensive. It's definitely doable. But I agree this approach would still require the processor to work harder than a simple look up table.
The thing is though, there is no need for the angular calculations to be done in real time. I was thinking you could simply get the configuration program to pre-generate the map for you based on the three parameters I mentioned earlier in the thread. This would enable very high resolution maps to be created far more easily than having to draw each pixel individually.
Minwah:
Couple of random points which I don't think have been mentioned...
Firstly, a major reason to use the IPAC output (as far as I can tell) would be to use the joysticks along with the IPAC console converters. The only question this leads me to wonder is whether the stick must be programmed with an 8-way map via USB prior to using with the console...I assume this is the case.
Secondly, someone mentioned about having maps for each individual game. This would not be neccessary when using many FE's. For example, with Mamewah you would run the Ultramap software prior to the emulator, passing the control type as a UGC filename for the app to open. ie with the latest beta Mmewah, it would look something like this:
pre_emulator_app_commandlines c:\ultramap\ultramap.exe "c:\ultramap\maps\[input].ugc"
This would just require that you make UGC files for each of Mame's control type's (well, the one's you would use a joystick for). Of course some games will need individual treatment, but this should suffice for a good many.
2600:
--- Quote from: Minwah on June 19, 2006, 05:19:42 am ---Couple of random points which I don't think have been mentioned...
Firstly, a major reason to use the IPAC output (as far as I can tell) would be to use the joysticks along with the IPAC console converters. The only question this leads me to wonder is whether the stick must be programmed with an 8-way map via USB prior to using with the console...I assume this is the case.
--- End quote ---
I think another major reason may be the problem when using or enabling joysticks and a trackball at the same time. i.e. snake pit or just someone lazy with their cfg's.