Light Gun API Core Findings

Snes has been hit or miss reloading the game sometimes makes it work I think.

So I’ve found that, for some reason, the Zapper mouse support for Nestopia UE (version 1.49-WIP b499024, RetroArch v1.7.0, Linux Mint 18) only partially works. Specifically, it shows and moves the crosshairs around just fine, but clicking the mouse buttons does nothing. And it doesn’t seem to matter at all what input plugin I use, because it’s same with all of them (or rather, all of them which actually recognize the mouse). On the other hand, FCEUmm doesn’t have this problem, with the Zapper working perfectly fine when the appropriate device is set to Zapper.

1 Like

Hi there,

I am running Retroarch 1.6.9 via RetroPie on my x64 Ubuntu Mate installation. Using beetle-psx-libretro I am having trouble using my mouse for certain light gun games. Namely Time Crisis - on the menu you can see the crosshair and start the game, but once the rendering starts in 3D, the crosshair disappears, however I can still control the game with the mouse, but with no crosshair visible it’s impossible to hit targets.

If I change my input device from mouse back to the controller, the crosshair comes back again.

Other emulators such as beetle-saturn, fceumm etc seem to work fine.

I also tried the game ‘Area 51’, and this works absolutely fine. But it is a 2D render I understand, so that kind of rings true with it partially working in Time Crisis, under the 3D render starts.

I have tried both software and hardware render modes, as well as different input drivers, but I get the same result every time.

Does anyone have any idea what might be up? Do I need to be on RA 1.7.0, was there additional support added since 1.6.9? Beetle is fully up to date.

Cheers!

Yes there were meaningful changes in light gun support between 1.6.9 and 1.7.0, but I don’t know if that will solve your issue.

Thanks for the reply. Yes I did see there were some changes, I will try to update my retroarch when I get chance.

I also tried Area 51, and that works fine, but is 2D. It only seems to happen during 3D rendering (crosshair disappears).

Can anyone replicate this with Time Crisis?

1 Like

Really i think you done a stellar job.

Hopefully theres something in the saturn code thats compatible and transferable for the others. Time Crisis dream lives on!

1 Like

@dougan78, @esoptron and others – this is such a useful reference!

I have taken the liberty of removing the RetroArch version number from the thread title so folks realize that this is the most current and comprehensive resource available regarding lightgun API implementation across the various cores.

1 Like

Hi everyone. I just “came back” to retrogaming after a bit of a hiatus and I was thrilled to learn there has been progress made on light gun developments. I use a Raspberry Pi 2B, and I use a Wiimote/DolphinBar combo for light gun games. At the time, when I was last tinkering around with all this, the only core it would work on was AdvMame and I had about 50 games that worked great with no calibration, but sadly none of the consoles worked for light gun games. I got the latest edition of RetroPie that came out in April, with a fresh install, which has the latest RetroArch as well, and I was quite excited to see that most of the NES games work now in the lr-fceumm core, with no further calibration. Unfortunately, SMS/Genesis (lr-genesis-plus-gx) doesn’t work, but I noticed something odd. Before, the actual trigger would work, I could fire and fire away, but I couldn’t move the crosshairs. Now, I have the exact opposite problem - the crosshairs move fine with no lag/choppiness… but not the trigger doesn’t work. I pulled up some old posts that mentioned a setting called RETRO_DEVICE_LIGHTGUN, but I don’t know how to enable this setting on genesis plus gx. I also tried re-mapping the buttons in the RetroArch in-game GUI, but to no avail. Can anyone point me in the right direction as far as setting up the GX? Or does it just not work? Sorry for the super long post, and thanks for your time!

2 Likes

Hello,

In beetle_psx, I’ve got the mouse working to move the cursor in Time Crisis, but can’t find a way to map any of the buttons to actually shoot. So I get stuck on the calibration screen. Googled this over and over and can’t find anything. Not sure where to go from here :confused:

Have you looked under Settings>Input>User 1 binds?

U’m sure mouse buttobs are there. Also ther are setup details in this thread iirc

So I found the issue. The buttons ARE there in input like you said, but they are listed as N/A, no matter what device is set in the input. I just had to trial and error until I found the right one. But it works now! Thanks for the reply.

Have you got Area 51 to work in beetle? I know some have gotten it to work in AdvMame with the CHD file but for some reason it’s just never worked for me.

1 Like

i can’t for the life of me get my actlab guns to work on saturn, please help!

EDIT: so i got the lightguns working by selecting mouse as the controller type. thing is they are not accurate at all. even after calibration, they become worse. any thought?

Same here with Time Crisis on Retroarch 1.7.3 Beetle PSX HW 0.9.44.1 Ubuntu 18.04.

When using mouse input, it works great in game menus (blue dot), but no more crosshair when gameplay starting (3d scene). The input is working because when firing (right-mouse button to un/duck and left-mouse to fire are both ok) I see little blue flash around pointer, so I must constantly fire to see the cursor position…

I tried messing with libretro options to force mouse cursor always on (F11), but it doesn’t match ingame cursor position.

Is someone working on the Light Gun issues (PSX-HW etc.)?

So anything Changed in the Last Year with Light Gun API’s?

So anything Changed in the Last Year with Light Gun API’s?

Nope!

For now - as it was last year - if you want to play PSX light gun games like Elemental Gearbolt or Time Crisis, you’ll need to either use Beetle PSX or run Beetle PSX HW in software mode by choosing a RetroArch backend video driver other than OGL or Vulkan.

Beyond that, it has worked in all the games and cores I’ve tried it in except Corpse Killer on the 4DO, but no one cares because it’s the 3DO and 90% of its games are awful. (Shout out to Star Control II and Super Street Fighter II: Turbo though)

I’ve tried RetroArch’s light gun functionality on the bsnes mercury core with Metal Combat: Falcon’s Revenge and that pack-in cartridge for the Super Scope; House of The Dead and Virtua Cop 2 with Beetle Saturn; and also Terminator 2, Area 51, and Lethal Enforcers on the MAME 2010 core. I have yet to try it in any NES or Sega MD/MS/CD cores.

Here’s a couple tips for using a Windows PC mouse to emulate light guns in RetroArch for anyone who finds their way to this thread from a Google search:

First off, light gun mouse control won’t work with the raw input driver, so use dinput. Secondly, make sure your mouse binds are set correctly in the user input binds section. Go to settings>input>user 1 binds>scroll to the bottom>Gun trigger, gun aux, gun start etc. That last part is important because some light guns, like the Guncon, had multiple buttons.

On the SNES, the Super Scope needed to be plugged into the second controller port, so make sure you’re emulating it on the correct port and binding user 2’s mouse buttons correctly in settings>input. In the bsnes core, the mouse sensitivity is really high, so you may need to adjust that in your OS’s mouse settings or with the DPI selector switch on the mouse if it has one. I haven’t found a way to adjust mouse sensitivity in RetroArch yet.

Here’s another tip, many two-player light gun arcade games need both guns calibrated before the game will boot, even if you’re only playing it with a single player. So you’ll need to create binds for player 2’s light gun as well to pass the calibration test. I just assign player 2’s trigger and start button to some random keys on my keyboard so I can click through the calibration test.

I’ve also noticed some light gun games start off rotated 90 degrees in MAME 2010, so you need to bring up the in-game MAME menu and rotate it back, just FYI.

This concludes today’s installment of “RetroArch Protips From Someone Who Really Likes Playing Light Gun Games on PC”.

5 Likes

There is an open issue at GitHub for the broken Beetle PSX Lighgun support:

1 Like

Its been a few years and I am migrating from aimtraks to sindens. So in doing that I went to look back at my notes and figured lets sets see what 1.10.1 has in store for guns these days.
Sega Master System
Genesis Plus GX v1.7.4
Device: MS Light Phaser
Game: Gangster Town
Gun/Sinden 1 : Mouse Index 6
Gun/Sinden 2: Mouse index 5
Input Driver: dinput
Core Options: Input --> Lightgun input: Touchscreen

Results:
Port 1: MS Phaser works by itself with Port 2 Set to a Auto
Port 2: MS Phaser works by itself with Port 1 set to auto

If Port 1 and Port 2 set to MS Phaser only player 1 works. I did get it working once with two players but now cant figure out why if both ports set to phaser only player 1 works.

It is nice that at least 1 works which is where I was at before with 1.69 RA and the old core so thanks for that! Hopefully someone has some input on getting both working, thanks in advance.Preformatted text

2 Likes

Nintendo Entertainment System
FCEUmm ((SVN) f52037a)
Device: Zapper
Game: Duck Hunt
Gun/Sinden 1 : Mouse Index 6
Input Driver: dinput
Core Options: Input --> Zapper Mode: Touchscreen

Results:
Port 1: Set To Auto
Port 2: Zapper works Port 1 set to auto

Works Fine!

2 Likes