Using Steam as a front-end for individual games in 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

Dolphin

CD "C:\Program Files\Dolphin"
"C:\Program Files\Dolphin\Dolphin.exe" /e "E:\Gamecube\R-Racing Evolution Gamecube.gcz" /b
  • The /e switch loads the file specified directly into Dolphin.
  • The /b switch exits Dolphin when you exit the game.

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.

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" "E:\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.
About these ads

54 thoughts on “Using Steam as a front-end for individual games in emulators

  1. Hey, I’ve been setting up my emulators to work with steam with the help of your guide, and I seem to be having trouble with epsxe. It worked fine the first time, and loaded the game, but after that I just get a BIOS error. Here’s what a batch looks like:

    http://i.imgur.com/kr2iRgL.png

    Any advice?

  2. Please, i have already resolved my problem, i added /d after the first CD, i did it like this:

    CD /d “C:\Program Files\Dolphin”
    “C:\Program Files\Dolphin\Dolphin.exe” /e “E:\Gamecube\R-Racing Evolution Gamecube.gcz” /b

  3. It gives me various errors, some of they are (mi dolphin is not installed, is just portable):

    Says “Error loading plugin Plugin_VideoOGL.dll: cant find file”
    “Cant init video Plugin”
    “Couldnt Init the core check you configuration”

    The emulator works if i launch the emulator from his exe normally, even if i setup the shortcut on steam, launch and select the game individually it works normally.
    What should i do ?

  4. Hi, n64 is all set, I even saved a template so I don’t have to bug ya. But no with Dolphin I enter this:
    CD “D:\Emulation\Wii”

    “D:\Emulation\Wii\Dolphin.exe” /e
    “D:\EMulation\Wii\Super Mario Sunshine.iso” /b

    And I get the program telling me a set of usage commands. Im using the latest version of Dolphin.

    • Final Burn Alpha supports command-line launching. Simply supply the name of the rom, for example, bionicc, as a parameter to launch, in this case, Bionic Commando.

      fba bionicc
      fba64 bionicc

      If it is the first time you’ve played a game, press F5 to set up your controller.

  5. Thanks for the guide, I got it working fine with 3 of the 4 of the examples you listed.

    I seem to be having a little problem setting my own batch up for Project64 though. I’m not sure what I’m doing wrong, would you mind helping me out?
    Here is the one I made for reference:

    CD “C:\Program Files (x86)\N64″
    “C:\Program Files (x86)\N64\Project64″ “D:\Emulators\N64\(game.exe).n64″

    The game loads fine, but the command prompt window stays up for some reason. This doesn’t happen with any of the other emulator batches.

    Thanks in advance, if you’re able to help.

    • 1. Right-click your batch file and create a shortcut.
      2. Right-click the shortcut and under the Shortcut tab, set Run to Minimized.
      3. Use the shortcut to run the batch file invisibly.

      Alternatively, you can convert the batch file to a windowless exe using Slimm Bat to Exe found on the Solutions page of this blog. If you do that, you can also use Steam to launch the game.

      • “D:\Emulation\Nintendo64\Project64.exe” D:\Emulation\Nintendo 64\Roms\California Speed.zip No luck.

    • I would take these steps.

      1. I trust that your ROM name is correct and refers to a file that exists.
      2. Double-check you are using version 1.6. Load Project64 on its own and check the title bar.
      3. Double-check the ROM works from inside Project64 using File->Open.
      4. If you are on Vista or later, you may need to run Project64 as an adminstrator depending on where it is trying to write save states and memory cards. (Though looking at your command line and your use of a custom folder, that shouldn’t be necessary.)

      Outside of that, I don’t know.

      • CD “D:\Emulation\Nintendo64″

        “D:\Emulation\Nintendo64\Project64.exe” “D:\Emulation\Nintendo 64\Roms\LEGO Racers.z64″

        When I try that a CMD window opens and closes, thats it. :/

    • Don’t put quotes around the rom name.
      Also, use double apostrophe’s, not opening and closing quotation marks. On a UK keyboard it is Shift and 2.

      CD “D:\Emulation\Nintendo64″
      “D:\Emulation\Nintendo64\Project64.exe” D:\Emulation\Nintendo 64\Roms\LEGO Racers.z64

    • I presume it works fine directly from Dolphin. Make sure there are quotation marks around any file path. The difference between forward slash and backward slash is important. Dolphin may need to be run as an administrator.

      Oddly, I can run the Dolphin command-line shown above but I can’t launch Dolphin itself from Steam. How strange is that?

  6. Might be kind of silly to ask, but what about SNES, N64, GBA, Genesis, and other emulators? Surely there’s a command line to load up a ROM immediately for these older emulators?

      • Nice! Thanks a lot, and thanks for the great post. This combined with Steam’s Big Screen feature is going to be amazing.

  7. Is it possible to make Dolphin run iso’s like this? Because it keeps saying the file doesn’t exist, even though it brings the directory up in Dolphin.

    • When I wrote this article it certainly worked. I was using it to play The Legend of Zelda: Wind Waker direct from Steam. Are you using full path names in quotes? Also, there is a small mistake in the first CD which should read CD “C:\Program Files\Dolphin”. Perhaps that’s the problem.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s