Light Gun API Core Findings

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

Sega Naomi
Flycast 514eedb
Device: Lightgun
Game: Confmiss
Gun/Sinden 1 : Mouse Index 6
Gun/Sinden 2: Mouse Index 5
Input Driver: dinput

Results:
Port 1: Set To Lightgun
Port 2: set to lightgun
Works Fine!

1 Like

Update: Sega Master System Both Guns do infact work on Gangster Town. Set both to ports to zapper and works fine. I had a config for that game that I deleted and there must have been a setting in that config that stopped both guns from working. So I can confirm this core works with 2 guns. Nice work! Cheers!

1 Like

Hello guys. Maybe you can help. I want to play Time Crisis via Retroarch. I have the AE Lightgun, which works great. I tried Duckstation and Beetle HW and Beetle standard. And I can move the cursor and shoot, but I cannot reload. So depending on the control method I have chosen in the Time Crisis option menu, I would be hidden behind a crate and I’d want to emerge from cover to actually shoot, but I cannot fully emerge from cover. My player will briefly move for a fraction of second and then go right back to cover. On the screen I see ‘press action button to shoot’ but I can’t truly leave my cover to shoot. When I change my reload option in-game, I’m always out of cover and here I can shoot but I cannot go into cover, nor can I reload. So I press one of the buttons, my player will seemingly move to go into cover but a fraction later, just reverts back to out of cover. In my input settings, I have mapped my trigger and reload button and confirm that I can shoot since it works when I calibrate in-game or when I select a menu. What could it be? Same result for all 3 cores.

Here is a video: https://www.youtube.com/shorts/_ygsIYqnLwY