Installing Emulators Plugin instructions (SNES, Genesis etc)

Alright you’re going to need a few things:

The EmulatorsPlugIn:
http://code.google.com/p/emulatorsplugin/

An FTP client that supports SFTP (I used Transmit but CyberDuck etc will work)

And freely available emulators for each console you intend to emulation
Boycott Advance - GBA
Genesis Plus - Genesis
Mugrat - Coleco
Nestopia - NES
SixtyForce - N64 (Don’t get too excited, N64 emulation is fairly non-functional)
ZSNES -SNES
MAME - Arcade

Once you’ve downloaded all your files for this, login to your Apple TV with SFTP. Your SFTP username and password will be: frontrow Drag in the /frontrow Emulators.frappliance from the EmulatorsPlugin into your Users/frontrow directory (this should be the directory your FTP automatically opens to) . We’ll install this properly later.
Next you’ll need to create a ROMs folder in your /Users/frontrow directory. Then within this folder you’ll need to create folders within the ROMs folder for each console.

Coleco
GBA
Genesis
MAME
N64
NES
SNES

In each folder you’ll put the roms for that console within said folder. Notably, emulatorsplugin will NOT see .zip files, the files will need to be uncompressed and using a recognizable suffix, example SNES will need .smc

Next we’lll need to jump to the Root of your Apple TV to install the Applications. In transmit, simply just click on the directory bar and drop levels until you’re at the directory / This is important as the Applications must be installed at the root Applications folder and not the Applications folder located in /Users/frontrow

From the / directory, locate the Applications folder and upload the emulator applications to the Applications folder. You do not have to install every application.

Now you’ll need to SSH into your Apple TV. Again, its password will be frontrow… Fire up the terminal and enter

ssh frontrow@yourappletv’sIPaddress

You’ll be prompted for the password, type frontrow and hit return
Since we’ve copied the EmulatorsPlugin to the AppleTV, we need to copy it to the appropriate location. SFTP doesn’t have privileges to the folder we needed to copy it to. We’re going to use the cp command (Copy) and use -R which means it’ll copy directories since the AppleTV will see the plugin as a folder with sudo, giving us admin privileges to make this copy. The two strings are the file location and then the file destination. For the less UNIX savvy the …/ denotes one directory down, for whatever reason Users/frontrow folder is seen contained within two dummy directories /mnt/Scratch. My UNIX understanding is novice level so I can’t really tell you why this is. You may be prompted for your password, again its frontrow.

sudo cp -R ~/Emulators.frappliance …/…/…/…/System/Library/CoreServices/Finder.app/Contents/PlugIns/

Time to restart the Apple TV! You can manually unplug it or use reboot it using the terminal like a pro. To reboot using the terminal type the following

sudo reboot

Now if everything went properly you should now see your Emulators menu item in the AppleTV frontrow.

I’m still figuring out how to configure the emulators, you should be able to emulate classic games on the AppleTV like the SNES! Let’s share tips and tricks!

I’m using ATV Flash 3.6.2 as my subscription ran out not long ago. S

Alright further success with a little help from Ben suggesting using VNC, the creator of the EmulatorsPlugin:

To configure the emulators, you’ll need VNC. Since anyone using this has NitoTV installed, you’ll need to download VineVNC Server 2.2
http://sourceforge.net/projects/osxvnc/files/

Copy over VineVNC server and configure it to start running on your Mac.

Next you’ll need to use your FTP program and login into your Apple TV. Drag VineVNC server over to your Apps. You can now stop running VineServer on your Mac. Just click stop running and quit.

Next go to the Apple TV and go to NitoTV and run VineVNC server. While you won’t have any control yet of your Apple TV, you can now access your Apple TV via VineVNC. However Leopard’s internal VNC client seems to have issues working with the Apple TV, so you’ll need JollysVNC or Chicken of the VNC, both of which are free.

You can now login into your Apple TV. You’ll need to configure VineVNC server to open at Boot. Go to File -> Start System server.

By default ZSNES is used for SNES emulation, which doesn’t play so nicely on the Apple TV with the emulatorsplugin. Its choppy and the sound garbles. Later I’ll get into how to change this but for now you can use SNES9x by installing it to the Applications folder just like Vine VNC.

Configuring emulation will be like on your Mac. For a bit of a performance boost, disconnect from VNC once you’ve started the game you wish to play. If you’re using SPDIF output, be sure to use 48 KHz sound output as default to avoid potential problems. SNES9x will default to 32 KHz which your Apple TV will not support.

Next Hurdle: Now that you can run games, hear them, and see them, you’ll want to play them. At this point you’ll need to enable USB. Enabling USB requires two things, the Mac OS X 10.4.9 Combo update and the
“Recovery.dmg” for Apple TV OS 1.0.

You can score the OS X 10.4.9 update here
http://support.apple.com/downloads/Mac_OS_X_10_4_9_Combo_Update__Intel_

The Apple TV OS 1.0 you’ll need to resort to other means to find it. Because of the legality of it, I can’t say where but use your imagination.

Now you’ll need to upload 10.4.9 combo update to the Apple TV and rename the Apple TV 1.0 OS.dmg to “Recovery.dmg” in your /Users/frontrow/Documents folder (by default your FTP should login into the frontrow directory, so just upload to the Documents folder.

Next go to NitoTV, and run the Smart Installer. If your files are correct, it’ll do its thing (be patient) and enable the USB port, this is really useful for many things but you’ll need this so you can use HID for a gamepad. Notably you can now use a keyboard and mouse :smiley:

Using VNC, you can now configure you gamepads as you normally would on a Mac.

Once configured you’re all set.

I’ll make this a more complete guide but this should be enough to get the fearless going. I’ll try and make the more completed guide for terminal newbies. I’m a novice, who has to google constantly to remember use commands in the terminal so don’t be too afraid as I was able to figure this out on my own. If I can, you can.

Some more notes for anyone who happens to discover this… (and before I write a guide)

You need VNC or keyboard to “quit” the emulator. With the front end there’s really no other way. VNCing in is a bit of a pain as once you start an emulator emulating the Apple TV struggles to update VNC. Ideally you can use a keyboard to “command q” the app. Once you’ve quit, you can menu back to your Apple TV and continue Apple TVing as normal.

SNES9x doesn’t seem to save screen positioning as far as I can tell. VNC or a mouse is needed to configure it unfortunately.

SNES9x is fast enough to run at 720p with OpenGL stretching full speed without frames dropped. I’ve tested a few random games (Super Mario World + Allstars, NBA Jam TE, Tecmo Bowl, and Yoshi’s Island which uses SuperFX emulation) and no hiccups. Games run beautifully as expected.

I’ll post the emulation front end changes I make to make it interface with SNES9x instead of ZSNES and attempt to get Mame to work as well.

Notably, unplugging a USB controller seems to make SNES9x lose its prefs, so its recommended you leave the controller in unless you want to reconfigure it each time.

First off. Wow, thanks! This looks like a great guide.

Secondly, I have some questions:

  1. Why do we have to manually install the emulatorsPlugIn? This isn’t part of the standard atvFlash software is it? This seems to simply be a way around use the emulators that you can download and are part of the atvFlash 4.0 software. Am I correct?

  2. The emulatorsPlugIn doesn’t appear to be compatible with AppleTV 3.0. Correct?

  3. When I’ve tried to run an emulator in the past, I get stuck when Richard Bannister’s emulatoer enhancer app asked for a registration code. I’ve paid for this on my Mac. How do I enter the code in an AppleTV? Is there another way around this?

  4. If I can get the emulators that come with the atvFlash software to work, then do I create ROM folders as you stated in this tutorial?

Thanks!