Retroarch

From Sinden Lightgun
Revision as of 17:17, 5 December 2022 by imported>McShufts
Jump to navigation Jump to search

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 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
  • PlayStation 1
  • Arcade (Mame)
  • Dreamcast
  • Wii

Downloading Retroarch

Just download the latest stable Retroarch version for your system 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, 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 or press the Enter key to choose an option, click the right mouse button to go back. If you want to change an input (discussed more below) back to blank because you make 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 directory, go to the 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.
  • 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, and 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 Lightgun's 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 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 has already 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 - Up (Keyboard's Up Arrow/Sinden Directional Pad Up)
  • Start Button - Left (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 Up Arrow/Sinden Directional Pad Up)
  • Gun Start Button - Up (Keyboard's Up Arrow/Sinden Directional Pad Up)

Installing emulator cores

You will need to download the emulators, or cores, from within 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
  • PlayStation - Beetle PSX
  • Dreamcast/Naomi - Flycast (NAOMI games require MAME Arcade romset .zip files already unzipped)
  • Saturn - Beetle Saturn
  • Wii - Dolphin
  • 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, Playstation, Saturn and Wii Cores

From the main Retroarch menu, scroll down to and select Import Content, then Scan Directory

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, Playstation, Wii 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 flexiblity 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, 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 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 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 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 mouse cursor with 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 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)

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 game, then go back into 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 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 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 mouse cursor with 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 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 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 Gun crosshair to "off"
    • Press 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 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 mouse cursor with 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 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 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, 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 Gun crosshair to "off"
    • Turn gun input mode to "lightgun"
    • Press 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 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 mouse cursor with 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 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" then 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 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 mouse cursor with 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 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 using a controlled motion to point the gun in 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 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.

Mame specific settings (core settings):

  • Start an arcade game
  • Press F1 for quick menu
  • Scroll down to "Options"
    • Turn lightgun input mode to "lightgun"
    • Press 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 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 mouse cursor with 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 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 Jurrassic 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 know the guns Windows IDs, and add them to the retroarch.ini file.

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). You might need to open RA and set it up to RAW input before running the tool.

You can re-run this tool every time you disconnect/re-connect your guns to update the ID values in Retroarch, if necessary.