Jump to content

Mapping Stelladaptor as an XInput device


Recommended Posts

I have a somewhat odd question, and I hope that this is the right forum to post it in.


I have a game that I programmed for Windows using GameMaker Studio, which I have running on my Windows 7 PC, which works with XInput devices (XBox 360, and compatible devices.)  


I would like to see if I can get an Atari 2600 joystick connected to my PC via a Stelladaptor USB to DB9 connector to work as an alternative input device, because the D-pad on an XBox 360 gamepad sucks.


I know that my Stelladaptor and joystick are working fine with the PC generally, because I can plug it in, launch Stella, and it works perfectly.  


From what I understand, it's possible to make DirectInput gamepads to work with games developed for XInput using a "mapper" program to map the DirectInput signals to XInput which the game program can understand, but I'm not sure if Stelladaptor is a DirectInput device.  The Stelladaptor manual mentions neither DirectInput nor XInput, but says that it is a generic USB HID (Human Interface Device), and I'm not clear whether HIDs are DirectInput, Xinput, their own thing, or whether there's some degree of overlap with these device classifications, or what.


I tried downloading and installing a free mapper application called InputMapper, but when I tried to enter sample inputs to create a profile for the CX40 connected as a USB HID via Stelladaptor, it didn't seem to detect anything.  I'm either doing something wrong, or this application won't work, but maybe something else will, or maybe nothing will work unless I want to write it myself, and I'm not skilled enough as a programmer to write low level device drivers.


Can anyone please steer me in the right direction?

Link to comment
Share on other sites

I have had a quick look at what XInput is/does and I know a little about USB.

The InputMapper website looks a little messy to me and there does not appear to be a manual available to download anywhere (always useful to see it if will do what you want without installing) from which someone could possible suggest a relevant configuration. Have you tried requesting support from the Forum or Support option on their website?


I would say that the Stelladaptor is definitely a HID device and not direct input as...

a) It say so right in the manual and 

b) I would think (but am not entirely certain) that the definition of a direct input device (support or which I think was largely stopped since directX 8 )  means that you are reading teh controller outputs directly, like an old school gameport or the 2600 would. 


I see from the linked manual that the Stelladaptor shows the data sent for the various controller configurations/data outputs, presumably there is a DLL for the Stelladaptor somewhere that you could add to your program to access the Stelladaptor commands/data. 

If so then I would think (but am not certain) you would need to include that so you can use the relevant commands to read the Stelladaptor data and then have to call the corresponding XInput command and pass the relevant Stelladaptor data (converted to the appropriate format) to it as a parameter.


It might be easier to either get it to scan for if a Stelladaptor or Xbox controller are connected  or select the controller type (Stelladaptor or XInput) from a menu and then use just use the relevant controller handler rather then reading, converting and finally passing Stelladaptor data to the XInput commands.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...