Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: GUN4IR / TC3USB Lightguns on Groovyarcade  (Read 731 times)

0 Members and 1 Guest are viewing this topic.

Sonny_Jim_Pin

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • Last login:February 25, 2024, 08:00:13 am
  • I want to build my own arcade controls!
GUN4IR / TC3USB Lightguns on Groovyarcade
« on: December 21, 2023, 06:03:54 am »
Not sure where else to put this, but I figure here is a good spot.  I recently purchased one of these for my cabinet:



After much messing around, I finally managed to get it to work.  The secret is to use Retroarch with a MAME core and make sure in the Retroarch global config that the mouse input driver is set to UDEV.  Using the default GroovyMAME wouldn't work due to the way SDL reads the mouse movement.  I think rather than absolute, it was using relative positioning and when the screen mode was changing it was expecting the mouse to still be on the higher resolution, which meant it was hyper sensitive.  At some point I'll have a look at the GroovyMAME source to see if the method of reading mouse data can be changed, but for now I'm just happy I can play Point Blank again :)

p.s  Don't forget to take the protective lens cap off, or the gun won't work at all.  Ask me how I know....
« Last Edit: December 21, 2023, 06:06:44 am by Sonny_Jim_Pin »

Substring

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 818
  • Last login:Yesterday at 12:52:09 pm
  • Forking GroovyArcade
    • forum.arcadecontrols.com/index.php/topic,160023.0.html
    • GroovyArcade active fork
Re: GUN4IR / TC3USB Lightguns on Groovyarcade
« Reply #1 on: December 21, 2023, 02:23:28 pm »
interesting ... so it doesn't need any caibration since it's IR ... but using GM would still be better than RA + mame core ...

Sonny_Jim_Pin

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 17
  • Last login:February 25, 2024, 08:00:13 am
  • I want to build my own arcade controls!
Re: GUN4IR / TC3USB Lightguns on Groovyarcade
« Reply #2 on: December 22, 2023, 06:33:40 am »
It's not a bad gun, although I'm kinda kicking myself for getting the solenoid one with the metal cable.  It's fine for a couple of minutes but your arms hurt after a while because it's so heavy.

Preferably I would be using GM, but due to the way the SDL input works, it's just unusable and I couldn't find a way to change the method it uses to poll the gun inputs.  From what I can work out, the gun is 'calibrated' to work on the desktop resolution, but as most games are smaller it means the gun tracks way too fast, presumably because it has less pixels to travel and SDL seems to ignore the current screen size.

I still haven't managed to get it working starting from attract+, at the moment it just hangs with a black screen and I'm not sure why, haven't spotted anything obvious in the logs.

This works when run from an SSH session:

Code: [Select]
DISPLAY=:0 retroarch -L /home/arcade/shared/configs/retroarch/cores/mame_libretro.so /home/arcade/shared/roms/lightgun/ptblank.zip

I made a lightgun config for attract+, but I think I must be doing something wrong, even though I copied it from another cfg that works.  Any ideas?

EDIT:  Managed to get it launching from attract+

~/.attract/emulators/Lightgun.cfg
Code: [Select]
executable           /opt/galauncher/galauncher.sh
args                 retroarch mame "[romfilename]"
workdir              $HOME
rompath              $HOME/shared/roms/lightgun/
romext               .7z;.zip
system               mame
artwork    flyer           $HOME/shared/roms/lightgun/media/
artwork    marquee         $HOME/shared/roms/lightgun/media/screenmarquee
artwork    snap            $HOME/shared/roms/lightgun/media/images;$HOME/shared/roms/lightgun/media/videos
artwork    video           $HOME/shared/roms/lightgun/media/videos
artwork    wheel           $HOME/shared/roms/lightgun/media/wheel

I also had to edit ~/shared/configs/ga.conf to add the 'mame' line:

Code: [Select]
retroarch.c64.core=vice_x64
retroarch.mastersystem.core=genesis_plus_gx
retroarch.psp.core=ppsspp
retroarch.snes.core=snes9x
retroarch.psx.core=swanstation
retroarch.cdi.core=cdi2015
retroarch.megadrive.core=genesis_plus_gx
retroarch.nes.core=nestopia
retroarch.n64.core=mupen64plus_next
retroarch.pcengine.core=mednafen_pce
retroarch.segacd.core=genesis_plus_gx
retroarch.saturn.core=kronos
retroarch.fds.core=mesen
retroarch.gb.core=gambatte
retroarch.gbc.core=gambatte
retroarch.nds.core=desmume
retroarch.stv.core=kronos
retroarch.gba.core=mgba
retroarch.sega32x.core=picodrive
retroarch.wii.core=dolphin
retroarch.gc.core=dolphin
retroarch.naomi.core=flycast
retroarch.sg-1000.core=genesis_plus_gx
retroarch.ps2.core=play
retroarch.gamegear.core=genesis_plus_gx
retroarch.n3ds.core=citra
retroarch.atarijaguar.core=virtualjaguar
retroarch.x68000.core=px68k
retroarch.amiga.core=puae
retroarch.3do.core=opera
retroarch.wonderswan.core=mednafen_wswan
retroarch.intellivision.core=freeintv
retroarch.neogeo.core=fbalpha2012_neogeo
retroarch.videopac.core=o2em
retroarch.fbneo.core=fbneo
retroarch.zxspectrum.core=fuse
retroarch.dreamcast.core=flycast
retroarch.odyssey2.core=o2em
retroarch.pcfx.core=mednafen_pcfx
retroarch.vectrex.core=vecx
retroarch.atari7800.core=prosystem
retroarch.wonderswancolor.core=mednafen_wswan
retroarch.neogeocd.core=neocd
retroarch.atarist.core=hatari
retroarch.pc88.core=quasi88
retroarch.zx81.core=81
retroarch.x1.core=x1
retroarch.thomson.core=theodore
retroarch.mame.core=mame
alsa=0
volume=100
« Last Edit: December 27, 2023, 01:39:23 am by Sonny_Jim_Pin »