Jump to content
LaunchBox Community Forums

Wii Light gun won't work on mame


Recommended Posts

Hey all!!!

 

So I have touchmote installed, set my inputs to cursor, went into mame in file and made sure lightgun set to 1, and mouse set to 1, and am able to use my Wiimote as a mouse on my desktop. However, I can't seem to get it to recognize in mame as my lightgun. It will recognize my mouse as a light gun, but for whatever reason, as soon as I go into mame, it won't. 

 

Now, strangely, I can move my mouse cursor in mame options with my Wiimote, but that's all. 

 

Been trying to get this working all day, help me launchbox forums, you're my only hope!

 

 

Thanks in advance

Link to comment
Share on other sites

Hi, I often use the Wiimote with MAME and it works very well. However, while other emulators like HypseusSinge or TeknoParrot work well with mouse input (RAW) from the Wiimote, with MAME you have to use it in joystick mode.

Make sure that in the general controller mapping settings of MAME, the lightgun is configured in joystick mode (not mouse mode).

So the important thing you need to do is set the MAME.INI file so that the joystick deadzone is 0 and saturation is between 0 and 0.50, depending on your preference. I set it to 0.45 and it works perfectly. Additionally, several games need to be configured internally via dip switch to calibrate the gun.

 

This is what the game configuration (CFG) must have, or even better, set it in the global control (CTRLR) of the general input settings:

 

            </port>
            <port type="P1_LIGHTGUN_X">
                 <newseq type="standard">
                    JOYCODE_1_ZAXIS OR MOUSECODE_1_XAXIS
                              </newseq>
            </port>
            <port type="P1_LIGHTGUN_Y">
                <newseq type="standard">
                    JOYCODE_1_RZAXIS OR MOUSECODE_1_YAXIS

 

These are the parameters of my mame.ini

#
# CORE INPUT OPTIONS
#
coin_lockout              1
ctrlr                     SBABY_DEFAULT
mouse                     1
joystick                  1
lightgun                  1
multikeyboard             0
multimouse                1
steadykey                 0
ui_active                 0
offscreen_reload          0
joystick_map              auto
joystick_deadzone         0
joystick_saturation       0.45
joystick_threshold        0.3
natural                   0
joystick_contradictory    0
coin_impulse              0

 

#
# CORE INPUT AUTOMATIC ENABLE OPTIONS
#
lightgun_device           joystick
mouse_device              mouse

 

I recommend setting Touchmote to start with the MAME profile when it detects the startup of an executable inside the MAME folder. Additionally, I suggest configuring the right analog stick to simulate the pointer.

My Mame Touchmote configuration :

image.thumb.png.7d615a856937935b89f49b0fbce06acf.png

 

 

Finally, something extremely important: before starting the game, make sure that you have not connected any other XInput joypads. If they were connected, disconnect them all, including the Touchmote, then restart the Touchmote, have the Wiimote detected, and then start MAME. The Touchmote XInput emulator must be the first in the chain of controllers detected by Windows before starting MAME.

Unfortunately, this setup is only necessary for MAME because you have to use the joystick mode. For all the other emulators I use with Touchmote, I use mouse/raw mode, allowing you to use it as Player 1 even if you have other controllers connected, since it's essentially a mouse.

Additionally, keep in mind that I've been using this configuration for a long time. I noticed that MAME has introduced raw mode for light guns in the latest versions. However, I haven't tried this mode yet. If anyone has managed to get it working, please let me know. Thanks! 

Edited by Sbaby
Link to comment
Share on other sites

On 7/15/2024 at 2:13 AM, Sbaby said:

Hi, I often use the Wiimote with MAME and it works very well. However, while other emulators like HypseusSinge or TeknoParrot work well with mouse input (RAW) from the Wiimote, with MAME you have to use it in joystick mode.

Make sure that in the general controller mapping settings of MAME, the lightgun is configured in joystick mode (not mouse mode).

So the important thing you need to do is set the MAME.INI file so that the joystick deadzone is 0 and saturation is between 0 and 0.50, depending on your preference. I set it to 0.45 and it works perfectly. Additionally, several games need to be configured internally via dip switch to calibrate the gun.

 

This is what the game configuration (CFG) must have, or even better, set it in the global control (CTRLR) of the general input settings:

 

            </port>
            <port type="P1_LIGHTGUN_X">
                 <newseq type="standard">
                    JOYCODE_1_ZAXIS OR MOUSECODE_1_XAXIS
                              </newseq>
            </port>
            <port type="P1_LIGHTGUN_Y">
                <newseq type="standard">
                    JOYCODE_1_RZAXIS OR MOUSECODE_1_YAXIS

 

These are the parameters of my mame.ini

#
# CORE INPUT OPTIONS
#
coin_lockout              1
ctrlr                     SBABY_DEFAULT
mouse                     1
joystick                  1
lightgun                  1
multikeyboard             0
multimouse                1
steadykey                 0
ui_active                 0
offscreen_reload          0
joystick_map              auto
joystick_deadzone         0
joystick_saturation       0.45
joystick_threshold        0.3
natural                   0
joystick_contradictory    0
coin_impulse              0

 

#
# CORE INPUT AUTOMATIC ENABLE OPTIONS
#
lightgun_device           joystick
mouse_device              mouse

 

I recommend setting Touchmote to start with the MAME profile when it detects the startup of an executable inside the MAME folder. Additionally, I suggest configuring the right analog stick to simulate the pointer.

My Mame Touchmote configuration :

image.thumb.png.7d615a856937935b89f49b0fbce06acf.png

 

 

Finally, something extremely important: before starting the game, make sure that you have not connected any other XInput joypads. If they were connected, disconnect them all, including the Touchmote, then restart the Touchmote, have the Wiimote detected, and then start MAME. The Touchmote XInput emulator must be the first in the chain of controllers detected by Windows before starting MAME.

Unfortunately, this setup is only necessary for MAME because you have to use the joystick mode. For all the other emulators I use with Touchmote, I use mouse/raw mode, allowing you to use it as Player 1 even if you have other controllers connected, since it's essentially a mouse.

Additionally, keep in mind that I've been using this configuration for a long time. I noticed that MAME has introduced raw mode for light guns in the latest versions. However, I haven't tried this mode yet. If anyone has managed to get it working, please let me know. Thanks! 

So three things, first, it looks like my WiiMote is coming in as a keyboard and mouse - this may be affecting it.  Is there a way to change it?

 

Second - am i editing the default config file?

 

Lastly, "ctrlr                    SBABY_DEFAULT" when i added this one, it said it couldn't find the file.  I tried to make the config file, but still didn't work.

 

 

Thanks for all your help!!!!

Link to comment
Share on other sites

1 hour ago, zbt1898 said:

So three things, first, it looks like my WiiMote is coming in as a keyboard and mouse - this may be affecting it.  Is there a way to change it?

 

Second - am i editing the default config file?

 

With Touchmote, the Wiimote can be configured to function as a keyboard, mouse, or gamepad, depending on the settings you assign in the Touchmote configuration panel. You can change the default profile by leaving the buttons unassigned, effectively disabling the device when you're not playing. Additionally, you have the option to create various profiles for each emulator or game. In the "hook" section, you can assign the folder of the specific game or emulator. This way, the Touchmote profiles will activate automatically for each emulator you use and will revert to the default profile once you turn off the game or emulator.

 

1 hour ago, zbt1898 said:

Lastly, "ctrlr                    SBABY_DEFAULT" when i added this one, it said it couldn't find the file.  I tried to make the config file, but still didn't work.

😁SBABY_DEFAULT is just an example; it doesn't represent your actual configuration file, which I obviously don't have. You need to replace that name with your configuration file's name.

If you delete that name and leave it empty, MAME will revert to using its default configuration file. I recommend going to the MAME/ctrlr folder, taking the default configuration file, and saving it with another name, for example, zbt.cfg. In this file, you can proceed with the necessary modifications, such as:</port>, etc.

After that, replace SBABY_DEFAULT with zbt (or the name you chose to use) in the mame.ini file.

Link to comment
Share on other sites

Got it.  Yeah, I modified the default config file.

 

One thing I did notice, for some reason, my Wiimote is coming in as a mouse and keyboard rather than a game controler/joystick.  Could this be the reason I can't get anything to work with it set to 360 within touchmote?  If so, how do I fix this?  Are there specific drivers I can use?

 

Thank you for all your help on this (and dealing with my naivety)!!!!

Link to comment
Share on other sites

So I feel real dumb. In my haste to get this all working, I downloaded 32bit version of touchmote, when I needed 64. All working though!!!  Thanks so much for your patience and help!!!

Link to comment
Share on other sites

2 hours ago, zbt1898 said:

So I feel real dumb. In my haste to get this all working, I downloaded 32bit version of touchmote, when I needed 64. All working though!!!  Thanks so much for your patience and help!!!

Great ! 🤗

Link to comment
Share on other sites

On 7/15/2024 at 11:13 AM, Sbaby said:

Additionally, keep in mind that I've been using this configuration for a long time. I noticed that MAME has introduced raw mode for light guns in the latest versions. However, I haven't tried this mode yet. If anyone has managed to get it working, please let me know. Thanks! 

I'm answering myself and it can serve everyone, I noticed that they are updating the new versions of touchmote and finally there is support for IR auto calibration for the joypad, it is very useful to be able to use it with games that use demulshooter, finally they are all perfect... and even with mame now you only need to put the deadzone to 0.  If you decide to try these modified versions you will have to reset the joystick saturation value closer to the default between 0.80 and 0.85

 

Here the discussion : https://github.com/simphax/Touchmote/issues/65

 

download the recompiled versions of the last few days, I am trying this one, and I can say that compared to before, the calibration now of the joypad is automatically equal to the mouse, great

https://www.mediafire.com/file/d9icw5s4finz94k/Tmote+x64+Rotation+July24+v6.rar/file

Edited by Sbaby
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.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
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.

×
×
  • Create New...