Sunday, June 2, 2013

PC meets Console.

I am sure I was not the first person who lifted an eyebrow the first time I saw Steam Big Picture Mode. But I also saw one thing I felt I was missing to be the ultimate console in my living room, Emulators! So I had a few chats with my like minded friends and co-workers. We discussed how we would all like to see it work, what would make it seem like ultimate gaming console.

So I started up a little project with the following in mind.
 -99% of all controls, must be through the gamepad.
 -the remaing 1% is for limitations in Steam, popup windows login, some purchasing pieces etc.
-The following emulators were necessary.

  Dolphin (Wii, and Gamecube)
  Project64 (N64)
  Snes9x (SNES)
  JNes (NES)
  Fusion (Sega Genesis)
  PSX (Playstation 1)
  PCSX2 (Playstation 2)

 Other Software
  Steam
  Xpadder (For Maximize and Close buttons on 360 controller)

 Hardware Laptop or HTPC
 XBox 360 Controller 

If you have seen the video I put up here you can see what I was able to come up with.

 So it took a bit of trial and error to get the different emulators working below I have detailed how I got each working.

I used two methods to add the games to Steam.

1. Batch Files (Thanks to dardack on Youtube for the tip on this).
2. File Association (Associating the ROM file types in windows with the emulator exe). Read more about associating file types here.

Creating Steam Links 
1. Launch Steam.
2. Choose Games from the file menu.
3. Then Choose add non-steam game.
4. Choose browse.
5. Select the renamed file (This is detailed in each emulator section below).
6. Click, Add selected program.
7. Right click the game you just added in the library, choose properties. Rename the file in the target line to .bat.
8. Rename the actual batch file back to .bat.

Dolphin - Wii and Game Cube

Steam shortcut method: Batch Files

  1. Create a batch file using the template.
2. Change the batch file extension to .exe
3. Launch Steam.
4. Choose Games from the file menu.
5. Then Choose add non-steam game.
6. Choose browse.
7. Select the renamed file (This is detailed in each emulator section below).
8. Name the game.
9. Click, Add selected program.
10. Right click the game you just added in the library, choose properties. Rename the file in the target line to .bat.
11. Rename the actual batch file back to .bat. Dolphin Batch Template:
CD "E:\Emulators\Dolphin" "E:\Emulators\Dolphin\Dolphin.exe" /e "E:\Emulators\Dolphin\The Legend of Zelda Skyward Sword [Wii][NTSC][Srubbed]-TLS.iso" /b

Project 64 - Nintendo 64

Steam shortcut method: File Association.
NOTE: I needed to use version 1.7 in order to use this method.
Associate the .n64 extension to Project 64.

1. Change the ROM file extension to .exe
2. Launch Steam.
3. Choose Games from the file menu.
4. Then Choose add non-steam game.
5. Choose browse.
6. Select the renamed file (This is detailed in each emulator section below).
7. Name the game.
8. Click, Add selected program.
9. Right click the game you just added in the library, choose properties. Rename the file in the target line to .n64.

Snes9x - Super Nintendo

Steam shortcut method: File Association.
Associate the .smc extension to Snes9x.

1. Change the ROM file extension to .exe
2. Launch Steam.
3. Choose Games from the file menu.
4. Then Choose add non-steam game.
5. Choose browse.
6. Select the renamed file (This is detailed in each emulator section below).
7. Name the game.
8. Click, Add selected program.
9. Right click the game you just added in the library, choose properties. Rename the file in the target line to .smc.

JNes - Nintendo Entertainment System

Steam shortcut method: File Association.
Associate the .nes extension to JNes.

1. Change the ROM file extension to .exe
2. Launch Steam.
3. Choose Games from the file menu.
4. Then Choose add non-steam game.
5. Choose browse.
6. Select the renamed file (This is detailed in each emulator section below).
7. Name the game.
8. Click, Add selected program.
9. Right click the game you just added in the library, choose properties. Rename the file in the target line to .nes.

Fusion

Steam shortcut method: File Association.
Associate the .bin extension to Fusion.

1. Change the ROM file extension to .exe
2. Launch Steam.
3. Choose Games from the file menu.
4. Then Choose add non-steam game.
5. Choose browse.
6. Select the renamed file (This is detailed in each emulator section below).
7. Name the game.
8. Click, Add selected program.
9. Right click the game you just added in the library, choose properties. Rename the file in the target line to bin.

PSX - Playstation

Steam shortcut method: Batch Files

1. Create a batch file using the template.
2. Change the batch file extension to .exe
3. Launch Steam.
4. Choose Games from the file menu.
5. Then Choose add non-steam game.
6. Choose browse.
7. Select the renamed file (This is detailed in each emulator section below).
8. Name the game.
9. Click, Add selected program.
10. Right click the game you just added in the library, choose properties. Rename the file in the target line to .bat.
11. Rename the actual batch file back to .bat.

PSX Batch Template:

CD "E:\Emulators\PSX"
"E:\Emulators\PSX\psxfin.exe" -f "E:\Emulators\PSX\cdimages\FINAL FANTASY TACTICS.img"

PCSX2 - Playstation 2

Steam shortcut method: Batch Files

1. Create a batch file using the template.
2. Change the batch file extension to .exe
3. Launch Steam.
4. Choose Games from the file menu.
5. Then Choose add non-steam game.
6. Choose browse.
7. Select the renamed file (This is detailed in each emulator section below).
8. Name the game.
9. Click, Add selected program.
10. Right click the game you just added in the library, choose properties. Rename the file in the target line to .bat.
11. Rename the actual batch file back to .bat.

PCSX2 Batch Template:

CD "E:\Emulators\PcSx2"
"E:\Emulators\PcSx2\pcsx2-r5350.exe" "E:\Emulators\PcSx2\FINAL_FANTASY_X.ISO"

Xpadder
I used Xpadder to  take care of maximizing for a couple emulators and for closing some others.

Addition tips and Tricks

You can change images for the games by switching to grid view in Steam, then right clicking the game and choosing "set custom image".

For easier grouping of games try naming them with the platform in the name. i.e. "Sega Sonic the Hedgehog 3" or "SNES Super Mario World".

You can create a shortcut in the startup folder with "X:\Steam\Steam.exe -bigpicture" to open steam when the computer launches directly in Big Picture Mode.

**Update 08/10/13** You can also use a PS3 controller, in tandem or in place of the Xbox 360 controller. I had tried this back when I first worked out this project but there were issues with getting the controller to re-sync on boot. Thanks to Marcus for trying out the new MotionJoy and confirming this!



Well that's it for now, good luck, have fun, and happy gaming!



22 comments:

  1. Hey - hopefully you check this. I'm trying to set this up with some of my emulators and iso files that I had ripped awhile back from games. Anyhow - I was following step by step and made the BAT file and associated it with a link on steam. When I click the link in Steam, it runs the BAT file but it pops up saying I need to assign a value to 'e'.

    This is with the Dolphin emulator. Confirmed the iso works fine on my machine launching the emulator directly then loading the iso.

    ReplyDelete
    Replies
    1. Sounds like there may be a syntax error in your batch file. Make sure

      "E:\Emulators\Dolphin\Dolphin.exe" /e "E:\Emulators\Dolphin\The Legend of Zelda Skyward Sword [Wii][NTSC][Srubbed]-TLS.iso" /b

      Is all one line, without any carriage returns. a straight copy and paste make carry the returns with it. If this works for you let me know I will note the post with this info.

      Delete
    2. This is just a hunch, but maybe your path exceeds 256 characters, it's some where in the 200s, basically there's a limit on how long a file path can be. To fix this all you have to do is shorten the file path an example would be renaming kingdom hearts.iso to kh.iso. I'm only guessing this is the issue, steam let's you type as much as you want without any warning messages about exceeding the limit. if you find that your path is chopped off at some point when you look at the properties again, that means it's too long, and the emulator might throw up error messages.

      Delete
  2. Finally got it working after months :), Thanks!

    ReplyDelete
    Replies
    1. well ok i encounterd another problem lol, i can change the first rom to exe no problem then to add it on steam , but when i try add another rom , it basically stays the way it is, for example (snes) it wont change from Smc to Exe, and this wont let me add it on steam, how do i get through this?

      Delete
    2. Not quite sure what you are running into there. Are you saying windows will not let you change the extension of the rom file? Are you getting any error messages?

      Delete
  3. yes windows wont let me change it to Exe for the second time, the first time worked only, this is wat it looks like http://puu.sh/3iUSa.png, no im not getting any error messege

    ReplyDelete
    Replies
    1. Looks like you have known extensions hidden. try this.

      http://windows.microsoft.com/en-US/windows-vista/show-or-hide-file-name-extensions

      Delete
  4. Thanks man!, worked like a charm :D

    ReplyDelete
  5. Do you have any ideas if we can it on mac ? I don't understand how to add the game on mac because of the .exe type file.

    ReplyDelete
  6. Unfortunately, I do not know. As this will require different ports of emulators and what not.

    ReplyDelete
  7. ok, I found a solution :

    1. I create an application of my rom with the "automator" application. I create an application with a shell script, I put this in it : "open /path/of/the/game.smc"

    2. I put the created application in my application folder, and add it on steam as a non-steam game, as you do.

    But now I would like to know how you manage the cover picture ? Because in my case I have a default steam picture in Big Picture.

    Thank you.

    ReplyDelete
    Replies
    1. Thanks for posting the solution.

      As for the cover pic, that I can help with.
      1. Exit big picture mode.
      2. Go to library.
      3. Switch to grid mode (Icon is 4 small squares, it is right next to the big picture mode button.
      4. Alternate click (Ctrl + Click or Two finger click on a Macbook).
      5. Choose set custom image.

      Good Luck!

      Delete
    2. Just for clarity, in step 4 Alternate click the game you want to change the image for.

      Delete
  8. Hi, I can't get the steam overlay to work when playing pcsx2 games for some reason... any solutions?

    ReplyDelete
    Replies
    1. So I had to play around with this to get it somewhat working. I had to try several different versions of the emulator to find one that worked. Seems to vary from video card to video card. You will have to do a bit of trial and error to find a version that works for you.

      Delete
    2. make copies of the emulator, then move each iso into a pcsx2 folder, then add the game to steam, and put this into the target field "Emulator path" "iso path".After that you should have the overlay in the games, you can add that nogui thing to it too, but I like the gui. the bad this about this is that you waste space making copies of the emulator vs the batch method, make sure you clean out the sstates folder of each copy though to save space, so if if this isnt clear i was in a rush, hope i helped though

      Delete
  9. Guys i just found an awesome program to do all this for you:

    http://scottrice.github.io/Ice/

    Haven't tried it out yet, but it looks very promising.

    ReplyDelete
  10. Thanks for this, I just tried it. Little bit buggy on my system, and not a fan of python myself, but this has a ton of potential.

    ReplyDelete
  11. I have followed the instructions carefully and it doesnt work with mame! it ALMOST does because you see mame start to run the game but a split second later it exits before the rom has a chance to load

    ReplyDelete
    Replies
    1. I did not try this with MAME. Each of the emulators required a little tweaking to get this working. I did find this article http://misterslimm.wordpress.com/2012/06/23/using-steam-as-a-front-end-for-individual-games-in-emulators/ by Mister Slimm detailing how he got it to work. Hopefully this helps. Good Luck.

      Delete