Can I run an SNES emulator without it having input focus?

I pulled out my old monitor to test the very small list of SNES emulators.

  • zSNES uses DirectX calls that ignore Windows' own monitor logic, which requires that zSNES handles multiple monitors itself (which it doesn't). Without a rework of its rendering code (which has been promised and undelivered since 2006, at least), zSNES is out of the running.

  • SNES9x though handles multiple monitors fine, and under the Emulation menu it has Pause When Inactive on by default. Turning that off makes it continue emulation when it doesn't have focus just fine, at least in the version I'm testing (v1.53 W64) on my hardware. (It's possible that it has sound issues that are hardware dependent.) However, I appear to be suffering an odd bug where SNES9x will recognise my gamepad when I'm configuring the controls, but ignores them during emulation, so I can't directly confirm that input works when it doesn't have focus. In theory it should.

  • higan is a bit idiosyncratic in a few ways – you have to "import" the cart if it isn't a .sfc format ROM, and it offers a very granular degree of control over video and audio sync that doesn't give an optimal out-of-box experience (there is an AV timing wizard to mess with) – but my testing confirms that its configuration options for background emulation and background input work just dandy with my gamepad and my second monitor. It won't run in fullscreen on the second monitor – attempting that fullscreens it to the main monitor. You'll also need to make sure that the controller config not only uses the gamepad, but that you also remove all the keyboard bindings as well, since otherwise higan will respond to your typing while your friend tries to play.

I haven't tested OpenEmu or NO$SNS yet, but if higan or Snes9x v1.53 doesn't do it for you, I can track those down too.


Virtualize the emulator!

No, I'm not kidding - run a small Linux or Windows setup on a virtual machine fullscreened to one monitor and inside that run the emulator (it's only SNES after all). And since at least vmware player supports a dedicated USB mode where the host system won't even know about USB devices "attached" to the VM, you can even plug in a second pair of keyboard/mouse, and split the audio output to e.g. only the front plug - see this question. That's how we managed to play Minecraft two persons on one PC simultaneously, without each other's sound interfering!