Overview
EmVoy came about to solve a few issues when using zipped gamefiles where you need to use different emulators for the same system. It's designed to sit between your Front End and your emulators. It needed to:
- Boot system gamefiles from zipped folders containing varying formats (ecm,ccd,cue,iso,mdb etc)
- Create a 'quicklaunch' version of the game so you don't have to unzip it every time you play (optional)
- Auto-launch the quicklaunch version if detected. (optional)
- Select which default emulator to set against which game (as some work better on diff emus)
- Per-emulator launch settings
- Grab each games settings from registry and any ini files and autoload them when boot the game next time (e.g. in pcsxr) - preventing setting up game each time you play
- Save any memory cards on a per-game basis.
- Have an admin mode so you can set all of the above - either boot launcher into admin mode via your Frontend, of use launcher stand-alone to setup games and then use the FrontEnd as final launcher.
This was hard to achieve with the front end alone, the difficulties being illustrated below:

This is the way my setup originally worked. A few problems:
- The unzipped file was temporary, meaning you had to wait for a game to unzip, even if you'd played it before (particularly true of larger gamefiles such as for Dolphin or NullDC). Of course, you could unzip all your gamefiles, but with larger sets this
was problematic.
- Any graphics, sound, controller and memory card settings were set within the specific emulator. This meant setting up the settings in the emulator each time!
- I would need to use one emu with one type of game (e.g. PCSXR with lightgun games) and others with others (e.g. Mednafen with 2D platformers). This was hard to do via general FrontEnd settings.
- Whilst support apps could be run, this was emulator specific. In some cases, I only needed specific support apps to run with specific emulators or even games (e.g. Troubleshooter with lightgun games).
Emvoy solves this, thus:

Explanation: EmVoy accepts a number of command line parameters (gamepath, gamefile, preferred gamename, emulator and BootProfile). This means your FrontEnd can send the specific gamefile (zipped or unzipped) and preferred emulator (although
this can be managed in EmVoy). It then unzips the gamefile to a Quicklaunch
folder and gives you the option to keep or discard on game exit (auto or user prompt).
When a game is passed, a game profile is created. Within this you can also specify:
- The default emulator for the game file.
- Any support apps to run alongside the game (e.g. Troubleshooter for any PSX lightgun games)
- Two cmd line launches - one for testing setup the other for 'full boot' (final play version).
- Optional use of Settings Scripts. These save the settings of the emulator for each game and then load these the next time you use this gamefile/game profile.
EmVoy can run silently between your FrontEnd and your emulators; can update the user on any operations (e.g. unzipping gamefiles or de-ecm'ing files) or there is a full GUI allowing you to set up games in batches.
It uses DTools and PakkIso. It is being developed to work with different systems.