Steam and Emulators

Steam icon 48x48Steam now allows you to use custom images in Grid view. I have a list of my Steam custom images.

However, you cannot add multiple entries to the same program in Steam and give them each a custom image. They will all use the same image.

Fortunately, you can run BAT files and, because they can all have different names, you can assign them each custom images.

Unfortunately, Steam won’t let you add BAT files to your library.

Fortunately, you can con Steam into running them.

Add a BAT file to Steam

  1. Write a BAT file to load your emulator with the appropriate command-line switches to load the desired game.
    • For example: R-Racing Evolution Gamecube.bat
  2. Use a BAT-to-EXE tool to convert your BAT file to an EXE. I have written one and it is available on my Solutions page.
    • For example: R-Racing Evolution Gamecube.exe
  3. In Steam, Add a game: Add a Non-Steam Game…, Browse and select your new exe then Add Selected Programs.
  4. You can now add a custom image.

Emulator Command-Line Examples

ePSXe

CD "C:\Program Files\ePSXe"
"C:\Program Files\ePSXe\epsxe.exe" -loadmemc0 memcards\MotoRacer.mcr -nogui -loadbin "E:\PlayStation\Moto Racer [SLUS_004.98].bin"
  • The -loadmemc0 switch specifies a file to use as a memory card. I assign one card per game and it saves having to remember what’s where.
  • The -nogui switch doesn’t show the ePSXe window and, instead, loads the ISO specified.
  • The -loadbin switch specifies the ISO to use.

Higan

CD "C:\Higan"
"higan-accuracy.exe" "C:\Higan Library\Super Famicom\F1 ROC - Race of Champions (US).sfc"
  • You supply the name of Higan’s newly created game folder to Higan after installing the game via the Game Library page of Higan. (You do not supply the name of your rom.) You can access the Game Library by pressing L if it is not visible.
  1. Run Higan and set-up your controls for each supported Nintendo system.
    1. Select Settings from the black Higan window, then the Input tab.
    2. There are four supported console families in v094: Famicom (NES), Super Famicom (SNES), Game Boy and Game Boy Advance. You need to set the input for each one and the console families are selected using the first drop-down box on the Input tab.
  2. Tell Higan where you want your Game Library to be stored.
    1. Select Settings from the black Higan window, then Configuration, then the Advanced tab.
    2. On Windows 8.1 it will default to “C:\Users\YOUR NAME\Emulation”. Wherever you set this location is used by the batch file above. Insert your library location in place of “C:\Higan Library”
  3. Exit Higan.
  4. In the folder where Higan is installed you want to edit two files to enable the use of Escape to quit and fullscreen on startup.
    1. Open “input.bml” in a text editor such as Notepad and change the line:
      CloseEmulator: None

      to

      CloseEmulator: 1/Button/Escape

      and save.

    2. Open “settings.bml” in a text editor such as Notepad and, in the specified sections, change the lines:
      Graphics
        StartFullScreen: false
      Library
        ShowOnStartup: true

      to

      Graphics
        StartFullScreen: true
      Library
        ShowOnStartup: false

      and save.

MAME

CD "C:\MAME"
"C:\MAME\mame.exe" 1941.zip -autosave
  • The -autosave switch automatically creates a save state file when exiting MAME and automatically attempts to reload it when later starting MAME with the same game.

PCSX2

CD "C:\Program Files (x86)\PCSX2 0.9.8"
"C:\Program Files (x86)\PCSX2 0.9.8\pcsx2-r4600.exe" "C:\PlayStation 2\Auto Modellista [SLUS-20642] 4x3 screenshot (F8).iso"
  • The first parameter specifies an ISO to run.
  • You can add a –nogui switch to the end of the line. The –nogui switch exits PCSX2 when you exit the game but, for me on build 4600, the PCSX2 process never exits. Omitting the switch allows you to close the PCSX2 window and the program ends correctly.

PPSSPP

CD "C:\ppsspp64"
"C:\ppsspp64\PPSSPPWindows64.exe" "C:\PSP\50_Cent_-_Bulletproof_-_G-Unit_Edition.cso"
  • The parameter specifies a CSO to run.
  • The game is loaded using the last active configuration; if you ran PPSSPP in full-screen when you exited (which you can do nicely using the Xbox Guide button, then click Exit a couple of times), it will run in full-screen next time you start a game.

25 thoughts on “Steam and Emulators

  1. Learn to use AutoHotKey, you can execute the custom script and complie to exe once the script is correct. Better than batch by a mile

  2. Hi

    Everything worked for me except for Fusion in which in the client (in home streaming) keyboard does not work. Could I be missing something?

    Thanks!

  3. Well, it seems that Yabause doesn’t run very well. Oh well, I guess Saturn/SSF and DS/DeSmuME games won’t work with this. : (
    What a shame.

    1. They do work. You need to research how to mount the ISO using a batch file then SSF will load that ISO.

      If it is an ISO and you are on Windows 8.1, I believe it is built in:
      powershell.exe “Mount-DiskImage “”ISO”””

      To unmount:
      powershell.exe “Dismount-DiskImage “”ISO”””

      If it is a BIN/CUE, DaemonTools has a command line interface.

  4. I can’t get this to work for the saturn emulator SSF…. Am I doing something wrong?

    CD “C:\Program Files (x86)\Saturn”
    “C:\Program Files (x86)\Saturn\SSF.exe” “C:\Users\Cin\Downloads\Astal.bin”

    1. SSF only runs game discs directly and does not load disc images.

      You need to mount your game disc image using something like DaemonTools (which can be included in your batch file), then load SSF.

      1. Oh, it seems an alternative Saturn emulator exists!

        Going to try getting Yabause to work, so far it only loads the emulator window without the game.

    1. Yes, simply supply Fusion with the name of your zipped ROM file to automatically load that file.

      Append -fullscreen to the command line to have Kega automatically load in full-screen and exit when you press Escape.

      For example: Fusion.exe “D:\Sega MegaDrive\Aryton Senna Monaco GP II.zip” -fullscreen

  5. i keep getting “no cartridge loaded” with higan. the program itself starts up fine though.

    Here’s an example of my batch:

    CD “C:\Program Files\SNES”
    “C:\Program Files\SNES\higan.exe” “D:\Emulators\SNES\ActRaiser 2.smc”


    i’m pretty sure the game address is correct, and i made sure to add them all individually to higan (i’m on version “v094” 64-bit. any ideas what could be wrong? (I also tried placing the game file on my main drive, didn’t seem to help either).

      1. however, i do have it set to my games folder from the “import games” window

        sorry about the repeated comments

      2. welp, i figured it out

        had to direct higan to the folder it makes after import, not the game file itself. weird.

    1. When you install the game in Higan, it moves it into a new folder. The command has to reference where Higan moves it to. In my example, it was installed from my Downloads folder and moved to the Higan “Super Famicom” folder. So the command line references the uncompressed Higan game folder, not the original rom.

  6. Hey, I’m having a problem with epsxe. If I store the .exe of the converted .bin on an external drive, it says the bios is missing. The file works just fine though if it’s kept on the same drive. Anyway to fix this?

    Thanks in advance.

      1. Sorry, nevermind, I figured it out!

        I just had to re-specify where my Bios was located in espxe itself, as the default is something like “PS/BIOS”, and it looks for it in whatever drive you have the game in.

        Now to figure out those Fusion batchs. : P

  7. Thank you very much for the guide, I’ve been working hard on adding all of my games to steam, and I’m about to start on the “higan” emu games. ^_^

Leave a comment