Jump to navigation Jump to search

Multiloader Guide

How can I play CD/DVD Games with QuickPlay?

Well, if you have a game on a physical CD/DVD, a DVD Player in your PC that can play it, and you want to play that disc with some emulator, just setup QuickPlay to launch the emulator with just one parameter - the one that says "load from the physical CD/DVD drive letter" for instance ../epsxe.exe --cd, and set the emulator up to load from your DVD's drive letter.

But often you've got your disc game as an image file in some format (.iso, .cue/.bin and many many more...), it might be zipped up, it might live on a NAS box.

The next simplest case: If you have your file locally, the image file is unzipped, and you want to just pass the runnable file i.e.: .cue, .iso, .gcz (check outside of QuickPlay that this works in the emulator to your satisfaction), then you can choose that runnable file as the game when you scan for roms in QuickPlay, you could just choose the standard emulator for that system in QuickPlay (i.e.: you don't need to choose the 'MultiLoader' version of that Emulator, though it will still work if you do)

But even when you do get your archived disc file ready to run, although many emulators will directly play image formats for disc systems: some still don't, and some games don't work right (in subtle ways like losing game audio). Also some emulators might not work with the image file format you have, and most Emulators don't let you load directly from a zip file. So even thought you can easily set up QuickPlay to pass an iso file to an emulator (unzipping it if necessary) i.e.: just see the normal commands for adding roms, the QuickPlay MultiLoader was made to be a single thing to point disc files to in order to get them played with any emulator.

Multiloader does this:

1) Accesses almost all types of CD/DVD image formats, whether or not the image has been compressed as .7z, .zip, .rar, or proprietary formats such as those used by dolphin or psp emulators

2) Guesses whether you want to process the file from its current location, or whether you're trying to use a remote image (this bit is convention over configuration: if you tell it to load a symlink we guess you want to move the image locally and use a cache to download the archive locally

3) Unzips and passes the image to Daemon Tools and passes your daemon tools' virtual DVD-drive's letter to the emu (eg: drive letter K:\)

OR

4) Mounts the zip in dameon tools and passes the BIN/ISO/CUE to the emu

QuickPlay will automatically configure the MultiLoder for many emulators when you run an Efind. When you use the EFind that comes with QuickPlay it will setup emulators load from CD/DVD (the emulators say "Multiloader" at the end).

For instance, if QuickPlay sees you have RetroArch installed, it will setup a multiloader for RetroArch's Saturn emulator. See the "multiloader" EFind. Or, If you have a CD/DVD-based emulator that isn't found via QuickPlay's existing EFinds, you can also set it up as an emulator from within quickplay yourself.

Its important for many emulators that you keep the same drive letter for the daemon tools virtual drive, and important for many games to work that it is a SCSI drive. So create a SCSI drive (installing the driver as necessary) and tick all options to peristently mount the drive as the same drive letter.

you can now mount a zip in daemon tools and pass the iso to the emulator - we makee use of Daemon Tools' ability to mount zips.

How to setup your PC so the MultiLoader works

If you want to decompress images you need 7zip installed

If you want to mount images or zips to pass to an emulator, you need the latest Daemon Tools installed (10.6 when I was writing this). Daemon Tools change their command line often, so make sure you have the latest

The Multiloder uses the latest version of Daemon Tools Lite as its Virtual Drive, and 7zip as its CD/DVD file extractor. both are free just download and make sure they're installed

Daemon Tools Lite and QuickPlay Frontend

QuickPlay considers Daemon Tools Lite an almost-necessary (totally free) add-on for Windows. You can use QuickPlay without Dameon Tools, sure. You can even use QuickPlay without 7-zip. But please install: Windows has never been great at mounting image files, and DT has ALWAYS been great at doing so. They do have ad-ware options in their install, which you NEED to say no to by ticking or not ticking the right box. You also will need to setup a default drive in Daemon Tools (see screenshot) for QuickPlay to use when loading games. If K:/ isn’t a suitable drive letter for this drive for you, then you’ll have to change to a more suitable drive in: qp/tools/Multiloader/Multiloader.ini. In order to use DT’s drive in QuickPlay, please setup a drive in DT just like this screenshot

How does the Multiloader work?

Whenever you load Daemon Tools with an emu, you need daemon tools and the emu you're using to agree which drive to load from - set Daemon to always add the same drive letter every time you boot and then look in the emu's config for where to set which drive the emu looks to

See the Multiloader's readme in Tools/Multiloader if you want to know how to setup the multiloader for some emulator that hasn't already been setup in an EFind (do tell us about it though at the forums so we can update the Efind)

Where does the MultoLoader extract Zips to?

By default the cache directory is C:/QPGame, you can change this if you edit the multiloader ini file (tools/multiloader/multiloader.ini)

How can I run discs from my NAS box?

QuickPlay can cache archived disc images locally in a temp directory - this is designed for if you run a NAS box or similar, cd/dvd images that you've downloaded to your laptop will stay on your laptop in the cache. The reason for this is twofold: firstly you can be without network and still keep on playing your games, and secondly if you hold your games as zips somewhere on a network its not a good idea to mount the zip remotely, or to unzip the iso to a remote location, or to try to unzip a remote zip to a local location. Instead, the thing to do is to copy the zip to a local cache and to then process it locally.

The cache is on by default. This is recommended if you want to cache remote archives locally. The downside of the cache is you then have to maintain it yourself (i mean delete your zips and isos manually when you don't want them locally any more) but there is a flag in the ini you can set to go back to the old behaviour of wiping the cache every time you exit a game.

Bear in mind also that you can delete the iso after playing a game, but if you delete the zip, then QuickPlay will download it again and re-extract the iso next time you run i.e: even if the iso is still in the temp dir (the reason for this is that we need to read what's in the archive to know what the iso is called). So you have to have the zip hanging around unfortunately...

To know what needs to be cached, the multiloader uses robocopy and looks for symlinks - We use robocopy as this has been installed by default on windows since Windows 7. The core way the cache works is by this simple rule, which you either have to live by, or not use the cache - let us know if this doesn't work for you!): if the rom you're trying to load with the multiloader is a symlink, the multiloader will assume that the file is not on the local machine and will copy the zip to the cache directory before processing it. But if the file isn't a symlink, it will assume the file is somewhere on your local filesystem and will process it directly from there (for instance, if you're mounting the actual iso rather than the zip it will then use 7zip to unzip the iso to the cache directory, so be aware there will still be files in the cache that need manually deleting - again let us know if this doesn't work for you?). In order to have fine-grained control of what is and is not a symlink I really recommend LinkShellExtension[1] its a really great tool that windows users should be proud to have!

Checks your local copies of archives and recopy if they got interrupted/corrupted - if your archive file is readable by 7zip, it does a quick check to see if it can open the archive. If not it will pull it down again. Useful for if you didn't quite get time to finish the download before you had to leave....

Now that QuickPlay implements a cache for CD/DVD, new things become possible - for instance here's just one idea: if you can make your games available to you when you're out of the house (for instance over webDav or FTP or similar) you can use Netdrive[2] to mount the store as if it were a local drive, and then point QuickPlay to some symlinks that link to that drive. Then if you're away from home, selecting a CD/DVD game in QuickPlay will download your game and keep it locally for as long as you need it.

Why is there a multiloader for emulators that don't need a file extracted or mounted? Like with Dolphin I can just pass a .gcz and it loads...

In case your game is on your NAS box: Because we can now cache those systems' games too, so you can store games you are playing on your laptop, if you pass them through the multiloader

How can I make SFF work with the multiloader, you always need the right bios loaded for a particular region's game

There exists a region free bios out there somewhere, which means, if you have this BIOS, you should be able to now use SFF with the multiloader even if you have games from more than one region

Some notes for advanced use

  • remember that 7zip and Deamon tools need to be at the default install locations ie: C:\Program Files\7zip\7zip.exe - the functions that use the progs won't work unless they are
  • some of the more "exotic" game names you might want to select "use short name (8:3) for exe's" in QP and/or call "shortrom" - this just makes the command line shorter as over a certain character limit it will refuse to work or error. This only applies to a very few systems' games
  • YOU CAN CHANGE THE BATCH CODE YOURSELF (mostly useful because daemon tools love changing their command line every minor revision) - alter multiolader_imp.bat
  • Any problems? In task manager close QUICKPLAY MULTILOADER.exe,cmd.exe to get quickplay responsive again
  • There is a list in the script of filetypes for it to search in order for the appropriate thing to use - i've added .gcm and .gdi to this list for gamecube and dreamcast - bear in mind daemon tools can't mount these they need to go directly to the emulator. If you come up with any more image filetypes for the script please let me know
  • If you blank the location of the extract directory in the MultiLoader config file, the zip will always extract to a shortname folder in the ROM directory