Retroarch

From Sinden Lightgun
Revision as of 07:43, 14 September 2024 by Meszenator (talk | contribs) (→‎Tested platforms in RetroArch: Updated tested platforms list)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search



Emulator
Emulates: NES, PlayStation, Dreamcast, Naomi, Saturn, Wii, Arcade
Download: Retroarch Website
License: Free (GNU GPLv3)
Retroarch gameplay.png

These instructions have been tested with a single lightgun only; multiple guns may have additional issues or conflicting settings.

RetroArch 1 Minute Overview

  • What is RetroArch? The way I think it is a location where various requirements can be met in one place you can play games on a collection of different systems without having to worry about many standalone emulators. A one-stop-shop, so to speak.
  • Core: Emulator you use to run games for a computer or console system
  • Global options: Options that appear in the main RetroArch GUI menus without having to have a core or game loaded. Make sure no core or game is running, If you want to change something globally.
  • Core overrides: Saving settings that apply to an entire emulator/core
  • Game overrides: Saving settings that apply to just one game in an emulator/core and override any conflicting global or core settings

Tested platforms in RetroArch

  • NES
  • SMS
  • PlayStation 1
  • Arcade (MAME)
  • Dreamcast
  • Saturn
  • Wii
  • 3DO

Downloading RetroArch

Download your system's latest stable RetroArch version from RetroArch's official site (click on Download Stable to get the installer). This Wiki is current as of RetroArch version 1.9. Note: RetroArch is open source. Therefore, it continues to evolve in continual development, and steps may change from time to time. Things may also break in future versions.

Default controls in RetroArch GUI

By default, the menu controls in RetroArch's interface are a bit weird. You can use either the arrow keys or the mouse to navigate.

Click the left mouse button, press the Enter key to choose an option, and click the right mouse button to go back. If you want to change an input (discussed more below) back to blank because you made a mistake, then highlight that field and just press the Delete key.

Press the Esc key to exit an emulator or RetroArch (by default, you have to press the Esc key twice to exit RetroArch)

  • Once we edit the input files and add an overlay to the menu in the RetroArch GUI, you will then be able to navigate the menus with the Sinden Lightgun.

Sinden Lightgun borders in RetroArch

In the Sinden software folder, go to the Tools\Borders\RetroArchBorders directory. Select all its contents, copy them, then go to your RetroArch installation directory and go to the overlays\borders folder. Place the contents that you copied in there. You will need to set the borders up later within RetroArch's interface.

BIOS files in RetroArch

Go to your RetroArch installation directory and then to the system folder.

  • For PlayStation, put files scph5500.bin, scph5501.bin, and scph5502.bin directly in the system folder.
  • For Saturn, put file mpr-17933.bin directly in the system folder.
  • For Dreamcast, create a subfolder called "dc" inside the system folder, then put files dc_boot.bin and dc_flash.bin inside the dc folder.
  • NES games do not require BIOS files.
  • Wii games do not require BIOS files.
  • For 3DO, put file panafz10.bin in the system folder.
  • MAME does not itself need a BIOS, but some games need their own. These BIOS folders will look just like MAME roms in a MAME romset, e.g., konamigt.zip. That's not a game; that is a BIOS for a particular arcade machine. Some games may also require "CHD" files to work. If you have never emulated MAME before, we highly suggest you stick with the other systems in RetroArch first, as you can play console ports of many popular arcade games to start with.

Improving RetroArch's graphics, speed...

How do I make graphics look better in the RetroArch emulators? How can I make RetroArch's cores or emulators run faster on my system?

This page will not cover these subjects. You should be able to search in Google the specific settings per RetroArch core. Each system may handle these changes differently.

Input lag

Can I reduce input lag even further with RetroArch?

Depending on your system's power, you might be able to enable run-ahead in RetroArch's general settings or for a specific emulator. In the main RetroArch GUI, go to Settings -> Latency -> Run ahead to reduce latency. Turn that option ON and assign a number of frames. Your mileage may vary.

Enabling fullscreen mode in RetroArch and the Sinden border

**Make sure that for all of the following steps, you already have the Sinden Lightgun installed and its software running in the background before starting RetroArch. It is suggested that you do not connect any other gamepads.

Go into the Settings menu, then proceed into Video -> Fullscreen Mode.

  • Turn Start in Fullscreen Mode ON.
  • Turn Windowed Fullscreen Mode ON.

RetroArch Video menu - Fullscreen Video is highlightedRetroArch Fullscreen Mode menu - Start in Fullscreen is set to OFFRetroArch Settings menu - video highlighted


Press the mouse's right button until you return to the main Settings menu, then proceed into On-Screen Display -> On-Screen Overlay (you can skip the following steps in this section if you do NOT want to use the Sinden Lightgun to navigate through RetroArch's menus).

  • Turn Display Overlay ON.
  • Go into Overlay Preset and choose one of the Sinden overlay presets (for widescreen monitors, choose a "wide" preset to allow the overlay to surround the entire RetroArch full screen menu).
  • Change the Overlay Opacity value to 1.0 so it's fully opaque and the white color is properly rendered.
  • Turn Hide Overlay in Menu OFF. By doing so, the Sinden overlay will show up in RetroArch menus; thus, you will be able to navigate them with the lightgun.

Settings menu with on Screen Display highlightedOn-screen display menu with On-screen Overlay highlightedOn-screen overlay menu with Display overlay set to ONOn-screen overlay menu with Overlay Opacity set to 1.00

Setting Sinden Lightgun's global inputs

Global inputs are the method RetroArch uses to recognize the buttons of any controller, and this is what we will change to get the Sinden Lightguns working in RetroArch.

THIS STEP IS EXTREMELY IMPORTANT TO GET RIGHT OR THE CONTROLS WILL NOT WORK AS EXPECTED. EXERCISE CAUTION IN MODIFYING THESE. The best course of action we suggest is having a copy of RetroArch dedicated to lightgun games, as it will make things a lot easier. Otherwise, the following changes could also significantly impact your controls in other non-lightgun games.

In RetroArch's main menu, go to Settings, then scroll to Input -> Port 1 Controls.
Settings menu with Input highlightedInput menu with Port 1 Controls highlighted

Now you have to assign actions to your lightgun. When changing an input, highlight your desired action, then press the Enter key, then press the lightgun's key that you want to use before the time limit is over. Some of these actions may already have a key assigned, some might not, some you will have to overwrite and some you may be able to leave alone. If you have to overwrite an action that already has a button, clear the existing assignment first by highlighting the action and pressing the Delete key. (Images below if you prefer those over text).

  • B Button - Mouse 1 (Left Mouse Button/Sinden's Trigger)
  • Y Button - Mouse 2 (Right Mouse Button/Sinden's Pump)
  • Select Button - Left (Keyboard's Left Arrow/Sinden Directional Pad Left)
  • Start Button - Up (Keyboard's Up Arrow/Sinden Directional Pad Up)
  • D-Pad Buttons - Same as Keyboard/Sinden Directional Pad Buttons
  • A Button - Mouse 3 (Middle Mouse Button/button in Sinden software assigned to Mouse Middle/Sinden's Left Back Button)
  • X Button - Num 1 (Keyboard's Numeric Pad 1/button in Sinden software assigned to "1"/Sinden's Right Front Button)
  • Skip until you get to Gun Trigger
  • Gun Trigger - Mouse 1 (Left Mouse Button/Sinden's Trigger)
  • Gun Trigger - Mouse 2 (Right Mouse Button/Sinden's Pump)
  • Gun Select Button - Left (Keyboard's Left Arrow/Sinden Directional Pad Left)
  • Gun Start Button - Up (Keyboard's Up Arrow/Sinden Directional Pad Up)

Port 1 Controls menu with key bindings displayedPort 1 Controls menu with key bindings displayed

Installing emulator cores

You will need to download the emulators or cores from RetroArch's interface. Go to the Main Menu, then proceed to Load Core -> Download a Core. Here you should press the Enter key or the OK button on the following cores:

  • NES - FC-EUMM
  • SMS - Genesis Plus GX
  • PlayStation - Beetle PSX
  • Dreamcast/Naomi - Flycast (NAOMI games require MAME Arcade romset .zip files already unzipped)
  • Saturn - Beetle Saturn
  • Wii - Dolphin
  • 3DO - Opera
  • MAME - Arcade (MAME) (no year specified, just MAME)

Once the cores have been downloaded, press the Right Mouse Button until you return to the Main Menu.

As of September 2020, Dolphin and MAME cores are not readily available in the RetroArch core downloader, though they are expected to be restored soon by the RetroArch team. Additional manual steps to install these cores are necessary. Refer to the discord for assistance.

Importing your games

For NES, SMS, Playstation, Saturn, Wii and 3DO Cores

From the main RetroArch menu, scroll down to and select Import Content, then Scan Directory
Import Content menu with Scan Directory highlighted

Navigate to where your games are on your computer for each system, and have the system scan that directory

RetroArch should automatically recognize the games and cores and you should now see the NES, SMS, Playstation, Wii, 3DO and Saturn Systems appear on the bottom left of the main menu area in RetroArch

And then if you select one of those you should also see the games listed, like this:

For Dreamcast and MAME Cores:

RetroArch may not recognize these games as Dreamcast/Naomi games or MAME games by Scan Directory. If that happens to you, go to Import Content, then Manual Scan

Navigate to where your games are, and it will prompt you to choose Dreamcast as the system and Flycast as the emulator for games in that directory, and Arcade as the system and MAME as the emulator for games in that directory.

Once you finish that back out to the main menu and you should now see Dreamcast and MAME listed with your games.

Playing a game

To play a game, click enter on it or use the Sinden Lightgun trigger to click on it where it is listed inside of a game system in the RetroArch menu

When you play most games the first time RetroArch will prompt you to select the emulator you want to use to run it. Just press enter on the appropriate emulator for your system

RetroArch Quick Menu, Core and Game Specific Settings

We are going to use RetroArch to generate the borders for actual games and set other emulator-specific settings. For the borders, you can technically likely use the universal one you set up above for everything, but learning how to do it on an emulator-by-emulator basis will give you flexibility and in theory, will also allow you to use custom system-specific Sinden Lightgun artwork borders in the future (e.g., Playstation graphics accompanying Sinden border)

When you are playing a game in a core, you will use the F1 key on your keyboard to enter what is called the RetroArch "quick menu". Theoretically, you could also set a Sinden button to do this, and ask in the discord for suggestions. It involves modifying hotkey binds, but you would have to be careful not to use a button you also use to play games.

Ideally, you will have one RetroArch setup just for lightgun games, as it will make things a lot easier. If you do not, making the changes suggested here could impact your other non-lightgun games, so take caution with this.

NES-specific settings (core settings):

  • Start an NES game
  • Press F1 for quick menu
  • Scroll down to "Options"
    • Zapper mode: Touchscreen
    • Zapper Crosshair: Off
    • Zapper Pixel Tolerance: 10
  • Press the right mouse key to go back to a menu
  • Scroll down to and select "Controls"
  • Go to Pad 2
  • For input type, press the right arrow key to change to Zapper or Lightgun
  • Go up to "Save Core Remap" (this means all NES games with this emulator will recognize you are using a lightgun)
  • press the right mouse key to go back a menu
  • Scroll down to "Overlays"
    • Turn show overlay to "ON"
    • Select "Overlay Preset"
    • Navigate to one of the Sinden Borders, such as the medium white and select
    • Select Overlay opacity and make it 1.0 (this makes the border fully white instead of kind of grayed out)
    • Turn off the option for showing the mouse cursor with an overlay
    • Right mouse click until you are back at the general quick menu again
  • Scroll down to Overrides
  • Select save core override (this means all NES games will use the options and overlays you set so you won't have to do this again for NES)
  • Exit out of the quick menu by clicking resume or F1 and play your game
    • You will use the trigger to select options; you will use the up button as the "select" NES button (i.e., to move between game options on Duck Hunt) and the left button as the "start" NES button (i.e., to choose a game mode in Duck Hunt)

SMS-specific settings (core settings):

  • Start a SMS game
  • Press F1 for quick menu
  • Scroll down to "Core Options" and select "Input"
    • Under Lightgun Input select "Lightgun"
  • Scroll down to and select "Controls"
    • Go to Controller 1 and set to "MSPhaser"
    • Go up to "Save Core Remap" (this means all SMS games with this emulator will recognize you are using a lightgun)
    • press the right mouse key to go back a menu
  • Scroll down to "Overlays"
    • Turn show overlay to "ON"
    • Select "Overlay Preset"
    • Navigate to one of the Sinden Borders, such as the medium white and select
    • Select Overlay opacity and make it 1.0 (this makes the border fully white instead of kind of grayed out)
    • Turn off the option for showing the mouse cursor with an overlay
    • Right mouse click until you are back at the general quick menu again
  • Scroll down to Overrides
  • Select save core override (this means all SMS games will use the options and overlays you set so you won't have to do this again for SMS)
  • Exit out of the quick menu by clicking resume or F1 and play your game

SMS popular game-specific notes:

Laser Ghost - Not really a gun game as the gun is just a fire button. Port 1 needs to be set to "MsPad Auto" with Start bind turned "Off" (or you can't move left) and Port 2 set to "MSPhaser".

Dreamcast/Naomi-specific settings (core settings):

  • Start a Dreamcast or Naomi game
  • Press F1 for quick menu
  • Scroll down to "Options"
    • Turn Show Lightgun settings to "on"
    • Exit quick menu and go back to the game, then go back into the quick menu for the lightgun settings to appear in the Options menu again
    • Turn off the cross-hair in the newly displayed lightgun options
    • Press the right mouse key to go back a menu
  • Scroll down to and select "Controls"
    • Go to Pad 1
    • For input type, press the right arrow key to change to Lightgun
    • Go up to "Save Core Remap" (this means all Dreamcast/Naomi games with this emulator will recognize you are using a lightgun)
    • press the right mouse key to go back a menu
  • Scroll down to "Overlays"
    • Turn show overlay to "ON"
    • Select "Overlay Preset"
    • Navigate to one of the Sinden Borders, such as the medium white and select
    • Select Overlay opacity and make it 1.0 (this makes the border fully white instead of kind of grayed out)
    • Turn off the option for showing the mouse cursor with an overlay
    • Right mouse click until you are back at the general quick menu again
  • Scroll down to Overrides
  • Select save core override (this means all Dreamcast games will use the options and overlays you set so you won't have to do this again for Dreamcast)
  • Exit out of the quick menu by clicking resume or F1 and play your game

Dreamcast popular game-specific notes:

  • Naomi version of House of the Dead 2 is called "hotd2.zip" in a MAME romset You also need in the same place where you have hotd2.zip the hod2BIOS.zip from the same MAME romset
  • Naomi version of Confidential Mission is called "confmiss.zip" in a MAME romset you also need a CHD file, which should be placed in a folder called "confmiss" in the same directory as "confmiss.zip" and will be called "gds-0001.chd"
  • Dreamcast version of games may do better with pump action reloading; the arcade versions may require you to press the back left side Sinden button to reload. Remember, for arcade games, you have to put virtual "coins" in before starting, which should be the left arrow key on the Sinden to add coins, and the up arrow key on the Sinden to start.

PSX specific settings (core settings):

  • Start a Playstation game
  • Press F1 for quick menu
  • Scroll down to "Options"
    • Turn Gun input mode to "Lightgun"
    • Turn the Gun crosshair to "off"
    • Press the right mouse key to go back a menu
  • Scroll down to and select "Controls"
    • Go to Pad 1
    • For input type, press the right arrow key to change to Guncon **Note, some games will need a game-specific override for this to "Justifier" instead**
    • Go up to "Save Core Remap" (this means all PSX games with this emulator will recognize you are using a lightgun)
    • press the right mouse key to go back a menu
  • Scroll down to "Overlays"
    • Turn show overlay to "ON"
    • Select "Overlay Preset"
    • Navigate to one of the Sinden Borders, such as the medium white, and select
    • Select Overlay opacity and make it 1.0 (this makes the border fully white instead of kind of grayed out)
    • Turn off the option for showing the mouse cursor with an overlay
    • Right mouse click until you are back at the general quick menu again
  • Scroll down to Overrides
  • Select save core override (this means all PSX games will use the options and overlays you set, so you won't have to do this again for PSX)
  • Exit out of the quick menu by clicking resume or F1 and play your game

PSX popular game-specific notes:

  • Area51 and Lethal Enforcers collection need "Justifier" instead of "Guncon" in the Quick Menu controls option. Some others may need this too. For these games, start the game, enter the Quick Menu, go to Controls, change the input type to Justifier, then save GAME REMAP instead of CORE Remap This applies the settings to this game only. You need to do it individually for both games.
  • For Time Crisis, Time Crisis Titan, and Jesse James, you can go into the actual games' in-game settings/options and change the reload method to "press" instead of "release" Changing the default means you will always be "out" of cover, and you pump the gun to go INTO cover.
  • For various games, you will either use the pump action, or the back left side Sinden Lightgun button to reload, and test to see which one works for which game.

Saturn-specific settings (core settings):

  • Start a Saturn game
  • Press F1 for quick menu
  • Scroll down to "Options"
    • Turn the Gun crosshair to "off"
    • Turn gun input mode to "lightgun"
    • Press the right mouse key to go back a menu
  • Scroll down to and select "Controls"
    • Go to Pad 1
    • For input type, press the right arrow key to change to Virtua Gun
    • Go up to "Save Core Remap" (this means all Saturn games with this emulator will recognize you are using a lightgun)
    • Press the right mouse key to go back a menu
  • Scroll down to "Overlays"
    • Turn show overlay to "ON"
    • Select "Overlay Preset"
    • Navigate to one of the Sinden Borders, such as the medium white and select
    • Select Overlay opacity and make it 1.0 (this makes the border fully white instead of kind of grayed out)
    • Turn off the option for showing the mouse cursor with an overlay
    • Right mouse click until you are back at the general quick menu again
  • Scroll down to Overrides
  • Select save core override (this means all Saturn games will use the options and overlays you set, so you won't have to do this again for Saturn)
  • Exit out of the quick menu by clicking resume or F1 and play your game

Saturn popular game-specific notes:

  • Virtua Cop and Virtua Cop 2 may seem to run slow; this emulator is very demanding on system resources You should be able to pump to reload. If not, it will be the back left side Sinden button to reload.

Wii-specific settings (core settings):

  • IMPORTANT: Wii (Dolphin Emulator) presently requires you to change the "Video Driver" to VULKAN. You will need to go to "Drivers" and then the right arrow to "Vulkan" for Video Driver. IF YOU DO NOT DO THIS, THE EMULATOR AND POSSIBLY RETROARCH ITSELF WILL CRASH.
  • Then boot a Wii game.
  • Press F1 for quick menu
  • Scroll down to and select "Controls"
    • Go to Pad 1
    • For input type, press the right arrow key to change to Wiimote
    • Go up to "Save Core " (this means all Wii games with this emulator will recognize you are using a virtual Wiimote)
    • Press the right mouse key to go back a menu
  • Scroll down to "Overlays"
    • Turn show overlay to "ON"
    • Select "Overlay Preset"
    • Navigate to one of the Sinden Borders, such as the medium white, and select
    • Select Overlay opacity and make it 1.0 (this makes the border fully white instead of kind of grayed out)
    • Turn off the option for showing the mouse cursor with an overlay
    • Right mouse click until you are back at the general quick menu again
  • Scroll down to Overrides
  • Select save core override (this means all Wii games will use the options and overlays you set, so you won't have to do this again for Wii)
  • Exit out of the quick menu by clicking resume or F1 and play your game

Wii popular game-specific notes:

  • Most Wii lightgun games have you reload by aiming off-screen. This can be a bit touchy with this emulator. Experiment with your setup. I found that using a controlled motion to point the gun between the monitor border and the Sinden Border on a 4:3 Wii game gave the best results. Don't try to aim completely outside the whole monitor that is unlikely to work, though that may seem counter-intuitive.
  • Most Wii games will have an internal option to turn off the cross-hair for aiming. In Ghost Recon, this option appears while you are creating your character. In others, it is in the "options" menu.
  • Generally, the Sinden Lightgun trigger should shoot in all the lightgun games because we have it set up to emulate the Wiimote B button, which was the Wiimote trigger.
  • We set up inputs so that various button presses on the Sinden lightgun will control the other Wiimote buttons (A, plus, minus, 1, and 2), but you may have to experiment in games for which is which. The back left-side Sinden button should be A, and the left arrow key on the Sinden should be +, which are often the next most-used buttons in Wii lightgun games)
  • Some games may have required a nunchuck+wiimote to be used to control the game. We have not tried to set up emulating this yet, and it is unlikely that it would work with just the Sinden lightgun because the Wii Nunchuk had an analog stick, which the Sinden would run out of buttons to try to emulate.

3DO-specific settings (core settings):

  • Start a 3DO game
  • Press F1 for quick menu
  • Scroll down to and select "Controls"
    • Set 'Controller 1' to 3DO Light Gun and 'Controller 2' to None
    • For input type, press the right arrow key to change to Lightgun
    • Go up to "Save Core Remap" (this means all 3Do games with this emulator will recognize you are using a lightgun)
    • press the right mouse key to go back a menu
  • Scroll down to "Options"
    • You can set the Crosshairs here to None, default is a tiny crosshair
  • Scroll down to "Overlays"
    • Turn show overlay to "ON"
    • Select "Overlay Preset"
    • Navigate to one of the Sinden Borders, such as the medium white and select
    • Select Overlay opacity and make it 1.0 (this makes the border fully white instead of kind of grayed out)
    • Turn off the option for showing the mouse cursor with an overlay
    • Right mouse click until you are back at the general quick menu again
  • Scroll down to "Overrides"
    • Select save core override (this means all 3DO games will use the options and overlays you set so you won't have to do this again for 3DO)
  • Exit out of the quick menu by clicking resume or F1 and play your game

3DO Game Notes - All the American Laser Games seem more accurate here than Singe with better quality video, just need to calibrate through the games calibration menu on start. Core only supports one mouse/gun but player 2 can use a pad.

  • Demolition Man - Playable with a workaround as the start button for the game doesn't seem to map to the gun buttons: Start Game-F1-Controller and switch 'Controller 1' to Pad, go back to game and press 'start button' mapped to a pad or keyboard, go back to 'Controller 1' and set back to 3DO Light Gun.
  • Mad Dog McCree - Noticed sound syncing issues.

MAME specific settings (core settings):

  • Start an arcade game
  • Press F1 for quick menu
  • Scroll down to "Options"
    • Turn the lightgun input mode to "lightgun"
    • Press the right mouse key to go back a menu
  • Scroll down to and select "Controls"
    • Go to Pad 1
    • For input type, press the right arrow key to change to Lightgun
    • Go up to "Save Core Remap" (this means all MAME games with this emulator will recognize you are using a lightgun)
    • Press the right mouse key to go back a menu
  • Scroll down to "Overlays"
    • Turn show overlay to "ON"
    • Select "Overlay Preset"
    • Navigate to one of the Sinden Borders, such as the medium white, and select
    • Select Overlay opacity and make it 1.0 (this makes the border fully white instead of kind of grayed out)
    • Turn off the option for showing the mouse cursor with an overlay
    • Right mouse click until you are back at the general quick menu again
  • Scroll down to Overrides
  • Select save core override (this means all MAME games will use the options and overlays you set so you won't have to do this again for MAME)
  • Exit out of the quick menu by clicking resume or F1 and play your game

MAME popular game-specific notes:

  • Some games like Lethal Enforcers 2 may require by default, you to aim off-screen to reload. This is not always reliable with this emulator. It is possible you could set up RetroArch MAME to read configuration files for these games to allow you to pump to reload, Wiki on that is a WIP.
  • Some games in the arcade like Jurassic Park, Alien, and Terminator were not true "lightgun" games but really giant analog sticks. These may not work well out of the box as a result. Again, it is possible this might be fixed with a game-specific configuration file. Wiki on that is a WIP.
  • Remember that for arcade games, you need to load virtual coins before you can start. Load coins with the left arrow Sinden button and start games with the up arrow Sinden button.

How to setup two Sinden Lightguns

To set up 2 guns, you will need to set RetroArch to RAW input and know each gun's Mouse Index and add them to the retroarch.cfg file. The Mouse Index can change after a reboot.

This tool can help you do this process automatically: Sinden Remap

Extract to your RetroArch folder, Run SindenRemap.exe and follow the on-screen instructions (Plug the guns in order).

Set RetroArch to RAW input before running the tool.

If necessary, you can re-run this tool every time you disconnect/re-connect your guns to update the Mouse Index values in RetroArch.