Setup

Before trying to set up an emulator on your own, try checking out the Emulators page to see if someone has created a working configuration for you. If not, then you can follow the steps below to try configuring it yourself.

  1. Use the emulator outside of Steam. Make sure it works correctly
  2. Open the emulator from the Command Prompt (on Windows), or from the Terminal (on Mac OS X/Linux). Can you run a game from here? What command was used? You can normally figure out how to use an emulator from the command line by googling "*Emulator Name* Command Line"
  3. Open Steam and add a 'Non-Steam Game' (it can be anything). Right click on the game and hit properties. Set the command of the shortcut to be the same command used in the last step. Set the 'StartDir' to be the directory containing the emulator executable (if the emulator is C:\Emulators\Dolphin\Dolphin.exe, the StartDir should be C:\Emulators\Dolphin). Hit the 'Play' button in Steam to confirm it works.
  4. Enter the command you ran into emulators.txt. The location should be set to the emulators path (C:\Emulators\Dolphin\Dolphin.exe in the previous example), and the command should be the command you used in the previous step. In the command, replace the location of the emulator with '%l' and the location of the ROM with '%r'.
  5. Run Ice, and confirm that it works. If it does, then congratulations, you are done!
If you create a working configuration, consider posting it in a Github issue so I can post it on the emulators page for others to use.

To set up a console, there are three bits of information you need

  • A name - Used as the Steam category
  • A 'nickname' - Used to name the ROMs folder for the console
  • An emulator, which Steam uses to play the game. This must be the name of an emulator inside emulators.txt
Once you have all of those things, you put them in consoles.txt using the following format
[*NAME*]
nickname=*NICKNAME*
emulator=*EMULATOR NAME*
where you replace anything surrounded by *'s with what you determined above. For example, if I was doing 'Nintendo Entertainment System', with nickname 'NES' and emulator 'Nestopia' (which is already set up in emulators.txt), the entry would look like this:
[Nintendo Entertainment System]
nickname=NES
emulator=Nestopia

Troubleshooting

This is a common issue with bsnes and certain ROMs ( normally .smc files. To fix this, you can either download the same ROM in a different format, or use SNESPurify to turn the .smc file into a .sfc file. Alternatively, you can switch to an emulator other than bsnes.

If you aren't using bsnes or are using a non-smc file and are still having this issue, please post a Github Issue

Other

You don't. Downloading commercial ROMs is illegal. The only legal way to get ROMs it to dump them from a game cartidge that you own. I won't go into detail on how to do that though, as a quick google search should turn up plenty of guides written by people much more qualified than myself.

Is something important missing? Let us know with a Github issue and it will be added here.