Adultery

[PLUGIN] Virtual Drive Loader

168 posts in this topic

vdloader.png

 

Virtual Drive Loader

1.2.3

 

vdl_114.png

 

 


 

 

Simply put, it's a plugin for virtual drive loaders. It currently supports Daemon Tools, Alcohol, and Virtual Clone Drive natively. The plugin also supports GameEx's Roms In 7-zip and Roms In Subfolders options, making it your only native choice for these features if you use them. Some other features for the plugin include:

Emulator Specific Setup

  • Select the emulator you wish to use the loader on from the drop down menu
  • Set up your mount and unmount commands
  • If you don't have this set up the fields will populate based on found mounting software

Headless Mode

  • Add switches to the GameEx emulator command-line to bypass the emulator configuration
  • Using [DTLOADER] or [DTOOLS] in the emulator's CL will mount using the default DAEMON Tools drive
  • Using [DTLOADER-SCSI] or [DTOOLS-SCSI] in the emulator's CL will mount using the default DAEMON Tools SCSI drive
  • Using [DTLOADER-IDE] or [DTOOLS-IDE] in the emulator's CL will mount using the default DAEMON Tools IDE drive
  • Using [ALCOHOL] in the emulator's CL will mount using the default Alcohol drive (both 52% and 120% are supported)
  • Using [CLONEDRIVE] in the emulator's CL will mount using the default Virtual Clone Drive drive
  • Using [MAGICISO] or [MAGICDISC] in the emulator's CL will mount using the default MagicISO/MagicDisc drive
  • NOTE: If you installed these programs using the default options, no setup is needed for Headless Mode to work

 


 

 

Any questions or comments? Feel free to ask 'em. I also like feature requests and very much appreciate bug reports (these are especially helpful if you also attach a copy of your log file in the GAMEEX > PLUGINS > DT LOADER folder).
Thanks again for using it!

 

 


 

DOWNLOAD LOCATIONS:
This plugin can now be downloaded using GameEx's Repository Manager or via the plugin administration menu in the Setup Wizard.

Download @ GameEx Community Download Portal, or you can get it via Direct Download @ DracLabs or use the Plugin Updater Software.

CHANGELOG:

Spoiler

1.2.2-1.2.3

  • Added support for DAEMON Tools IDE Drives
    • Use the switch [DTools-IDE] or [DTLoader-IDE] if you use one of these drives
  • Fixed some GUI stuff when automatically displaying command lines
  • FIxed the loader icon not showing the DAEMON Tools logo for DT 10+
  • Fixed some code that needed to be better optimized
  • Removed reliance on the -unmount_all arg for DAEMON Tools
    • Now unmounts the specificly used drive instead of all mounted drives
    • This also removes the need to set that option in DAEMON Tools, making it work out of the box
  • [1.2.3] Fixed test mounting support from the configuration screen which also was broken in DT 10+

1.2.1

  • Fixed a bug in DAEMON Tools 10 support
  • Fixed a cosmetic bug in the GUI where DTAgent.exe wasn't being displayed
  • Added some additional logging

1.2.0

  • Added support for DAEMON Tools 10
    • Plugin now determines DT version and uses DTAgent if v10 or above is found
  • Added new button to test mounting and unmounting through configuration menu
    • Test mounting works for all types of drives
    • If the drive is a DT drive you can test mount both SCSI and regular drives
  • Added a fix for GameEx installations with no emulators installed

1.1.9

  • Added support for MagicISO and MagicDisk
  • Use [MagicISO] or [MagicDisk] to use these loaders
  • Added delay options for loaders, press the clock button in the plugin config to specify your own mount and unmount delays
  • Added a [DTools] and [DTools-SCSI] flag for Daemon Tools
  • Added a 30 second minimum wait between detection and loading DT SCSI drives in concurrent instances to fix the new "feature" they added
  • Added some logos for cosmetics to the setup window

1.1.3 - 1.1.8

  • Added support for DAEMON Tools v5
  • Removed integrated support from GUI (the plugin didn't use it anyway)
  • Fixed the bat file loading button in the GUI
  • Added a button to launch the loader exe from the plugin
  • Fixed last run info not saving
  • Lots of work in batch file creation code
  • Added much more debug logging
  • Fixed a small issue with command line support

1.1.2

  • Bug fixes for variable replacement
  • Optimizations to configuration
  • Lots of code enhancements/tweaking
  • GameEx core update

1.1.1

  • Massive rewrite to GameEx core
  • Many code optimizations to speed up efficiency
  • New features added to the plugin configuration
  • New feature to generate batch files after running for troubleshooting
  • Added much more debug logging
  • Complete rewrite to the drive operations code

1.1.0

  • Vastly improved command-line reading/replacing method

1.0.9

  • Fixed a bug in "Roms In Folders" Option (Thanks to Stu1983 for his help in testing this feature!)
  • This makes the plugin your best option if using GameEx's Roms In Subfolders option, since the native DT support does not currently work with that configuration
  • Found and fixed a bug in the Command-Line variable support that was introduced in the new plugin version
  • Some minor code tweaks and cleanup

1.0.8

  • Added support for GameEx's "Roms In Subfolders" option
  • Added better handling for user configuration errors in the manual loader configuration options

1.0.7

  • Fixed a bug in the command line processing introduced in the new PlugIn version

1.0.6

  • Updated PlugIn Version to 1.41
  • Bug fixes

1.0.5

  • Fixed support for larger images
    (May need to be tweaked more for really large images like Blu-Ray... I may just add an option so people can set it themselves in a future release)

1.0.3

  • Added a pause before the emulator executes
    Thisfixes the issue with some emulators loading before mounting was completed
  • More debug logging added should there be future problems

1.0.2

  • Added support for Virtual Clone Drive in Headless Mode
  • No need to set up the loader path in the Configuration Settings if you have VCD installed in the default location
    If you chose another location to install the EXE, specify it in the Configuration Settings and the plugin will check there
  • Use the command [CLONEDRIVE] to specify an VCD drive
  • Changed the plugin name to Virtual Drive Loader

1.0.1

  • Headless Mode will now attempt to find the Daemons Tools EXE on its own
  • No need to set up the loader path in the Configuration Settings if you have Daemon Tools installed in the default location
    If you chose another location to install the EXE, specify it in the Configuration Settings and the plugin will check there
  • Added support for Alcohol 52% and Alcohol 120% Virtual Drives in Headless Mode
  • No need to set up the loader path in the Configuration Settings if you have Alcohol installed in the default location
    If you chose another location to install the EXE, specify it in the Configuration Settings and the plugin will check there
  • Use the command [ALCOHOL] to specify an Alcohol Virtual Drive
  • Added support system for future Virtual Drives
    Make a request for yours and I'll add in the code if I can!

 

3 people like this

Share this post


Link to post
Share on other sites

Buddy, your on fire, keep up the good work :)

Share this post


Link to post
Share on other sites

This is so cool Adultery! The ability to specify a virtual SCSI drive is something that's going to make life easier for a lot of users. Thanks so much!

Share this post


Link to post
Share on other sites

Anytime! :)

Share this post


Link to post
Share on other sites

Updated to 1.0.1:

  • Headless Mode will now attempt to find the Daemon Tools EXE on its own
    • No need to set up the loader path in the Configuration Settings if you have Daemon Tools installed in the default location
    • If you chose another location to install the EXE, specify it in the Configuration Settings and the plugin will check there
  • Added support for Alcohol 52% and Alcohol 120% Virtual Drives in Headless Mode
    • ​No need to set up the loader path in the Configuration Settings if you have Alcohol 52% or 120% installed in the default location
    • If you chose another location to install the EXE, specify it in the Configuration Settings and the plugin will check there
    • Use the command [ALCOHOL] to specify an Alcohol Virtual Drive
  • Added support system for future Virtual Drives (just make a request for yours and I'll add in the code)

You can get it from the first post.

1 person likes this

Share this post


Link to post
Share on other sites

Updated to 1.0.2:

  • Changed plugin name to Virtual Drive Loader
  • Added support for Elaborate Bytes Virtual Clone Drive in headless mode
  • Use the command [CLONEDRIVE] to specify a VCD Virtual Drive
  • No need to set up the loader path in the Configuration Settings if you have VCD installed in the default location
  • Plugin now supports the variables "[ROMPATH]" and "[ROMFILE]" separately via the configuration menu
1 person likes this

Share this post


Link to post
Share on other sites

So cool to see the functionality of this plugin growing by leaps and bounds! Well done my friend!

Share this post


Link to post
Share on other sites

Updated to 1.0.3:

  • Added a pause before the emulator executes (fixes issue with Sega Saturn/SSF loading before mounting was completed)
  • More debug logging added should there be future problems
1 person likes this

Share this post


Link to post
Share on other sites

I may actually have a use for this :)

I have never setup my HOD 1 2 3 iso images in GameEx because they needed to be mounted in order to work and I just never got around to creating a batch file. Will this do the job?

Also does it work with daemon tools lite?

Z

Share this post


Link to post
Share on other sites

I'm not sure how you would do that unless your loader can load more than one image via command line.

Yes of course it supports DT Lite. :)

Share this post


Link to post
Share on other sites

Hello

I have a collection of images that are compressed with 7z. I have enabled 7z support for the emulator in GameEx.

If I use the plugin on a folder of uncompressed images, the plugin works great. However, If I use the 7z folder, the plugin tries to mount the image from the original folder, rather than where GameEx has uncompressed it to.

Is there any way this can be address via the plugin, or is it a problem with GameEx?

Share this post


Link to post
Share on other sites

Oh well that stinks! Lol!

What folder is this uncompressed to? I can run a filter check for *.7z and change the Rom directory accordingly to that location. Is it still going to /unzipped7zip in the Rom folder?

Share this post


Link to post
Share on other sites

Can you try this one for me? This assumes you have your zip/7z/GoodMerge option turned on in GameEx for that emulator (assuming that's how you're doing it). It instead looks to the unzipped7zip folder, so if it doesn't work get back to me on the exact name of the directory your ROM is being unzipped to. Please and thank you. :)

Share this post


Link to post
Share on other sites

Hello. Thanks for the BETA.

I gave it a try and it didnt make any difference. I'll describe the scenario i am using.

I am testing this with EPSXE. Normally the emulator command line is "epsxe.exe -nogui". The emu is configured to use the I: drive

I added "[DTLOADER_SCSI]", to the command line and this resulted in the behaviour mentioned earlier.

I have included the plugin log below, but don't worry too much about it. I came up with a solution using before/after commands.

EDIT: Another thing I noticed is that EPSXE didnt like having "[DTLOADER_SCSI]" being included in the command line.

01/04/2013 13:11:10 : Virtual Drive Loader (Version: 1.0.3b)01/04/2013 13:11:10 : 13.08 INITIALIZED OK!: GameEx01/04/2013 13:11:10 : LOAD XML: E:\GameEx\GameEx\PLUGINS\DT Loader\Settings.xml01/04/2013 13:11:10 : XML: XML file was loaded OK!01/04/2013 13:11:10 : RESULT: XML(EXE_PATH) - C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe01/04/2013 13:11:10 : INIT PLUGIN: Initialization completed!01/04/2013 13:11:33 : DT MOUNT (CL-SCSI): EXE IN: C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe01/04/2013 13:11:33 : DT MOUNT (CL-SCSI): ARG IN: -mount scsi, 0, "[rompath]\[romfile]"01/04/2013 13:11:33 : DT MOUNT (CL-SCSI): CL: epsxe.exe -nogui [DTLOADER-SCSI]01/04/2013 13:11:33 : VD LAUNCHER: Launcher(NEW) - ARG USING: -mount scsi, 0, "Z:\ROMS\[Redump.org] Sony PlayStation (USA) (20130213)\Games\American Pool (USA).cue"01/04/2013 13:11:33 : VD LAUNCHER: Launcher(NEW) - EXE USING: C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe01/04/2013 13:11:34 : VD LAUNCHER: Launcher(NEW) - Image mounted! Sleeping...01/04/2013 13:11:38 : DT MOUNT (CL-SCSI): Loader was launched successfully!01/04/2013 13:11:47 : DT UNMOUNT (CL-SCSI): Terminating...01/04/2013 13:11:47 : VD LAUNCHER: Launcher(NEW) - ARG USING: -unmount scsi, 001/04/2013 13:11:47 : VD LAUNCHER: Launcher(NEW) - EXE USING: C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe01/04/2013 13:11:48 : DT UNMOUNT (CL-SCSI): Drive unmounted successfully!01/04/2013 13:11:50 : Exiting GameEx...01/04/2013 13:11:50 : Later!

Share this post


Link to post
Share on other sites

EPSXE should never know that it was in the command line in the first place (it gets removed before GameEx runs it, or should...).

The command is actually [DTLOADER-SCSI] by the way (in case that wasn't a typo).

Sorry it didn't work for you, it seems it's still not picking up the unzip folder from your GameEx.ini - I will still fix this though. If you would be so kind, please try this instead. I added a little more logging and fixed the folder that Tom unzips to (it was Unzipped7-Zip as opposed to Unzipped7Zip as I initially thought).

I appreciate your help. :)

1 person likes this

Share this post


Link to post
Share on other sites

I'm replying quicker this time :)

As from the log below, it's still trying to mount the .cue file from the original folder, not the extractred folder.

Also included runitgame.bat to show that the [DTLOADER-SCSI] arg is not being stripped.

Thanks for continuing your work.

02/04/2013 22:54:52 : Virtual Drive Loader (Version: 1.0.3b)02/04/2013 22:54:52 : 13.09 INITIALIZED OK!: GameEx02/04/2013 22:54:52 : LOAD XML: E:\GameEx\GameEx\PLUGINS\DT Loader\Settings.xml02/04/2013 22:54:52 : XML: XML file was loaded OK!02/04/2013 22:54:52 : RESULT: XML(EXE_PATH) - C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe02/04/2013 22:54:52 : INIT PLUGIN: Initialization completed!02/04/2013 22:55:13 : DT MOUNT (CL-SCSI): EXE IN: C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe02/04/2013 22:55:13 : DT MOUNT (CL-SCSI): ARG IN: -mount scsi, 0, "[rompath]\[romfile]"02/04/2013 22:55:13 : DT MOUNT (CL-SCSI): CL: epsxe.exe -nogui [DTLOADER-SCSI]02/04/2013 22:55:13 : 7-ZIP: Checking for 7-zip...02/04/2013 22:55:13 : 7-ZIP: 7-zip setting found! Changing ROM path...02/04/2013 22:55:13 : 7-ZIP: path=Z:\ROMS\[Redump.org] Sony PlayStation (USA) (20130213)\Games02/04/2013 22:55:13 : 7-ZIP: 7-zip is not enabled!02/04/2013 22:55:13 : VD LAUNCHER: Launcher(NEW) - ARG USING: -mount scsi, 0, "Z:\ROMS\[Redump.org] Sony PlayStation (USA) (20130213)\Games\American Pool (USA).cue"02/04/2013 22:55:13 : VD LAUNCHER: Launcher(NEW) - EXE USING: C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe02/04/2013 22:55:14 : VD LAUNCHER: Launcher(NEW) - Image mounted! Sleeping...02/04/2013 22:55:18 : DT MOUNT (CL-SCSI): Loader was launched successfully!02/04/2013 22:55:18 : CMD OUT: Returning rebuilt Command Line...

Runitgame.bat

chcp 65001D:CD "D:\Emulator\Sony\PS1\ePSXe"epsxe.exe -nogui [DTLOADER-SCSI]

Share this post


Link to post
Share on other sites

I can't speak for Adultery, but I'd be curious to take a look at the GameEx log for this one. Mainly I'd be curious to compare timestamps to see whether GameEx is waiting for Virtual Drive Loader to parse the emulator command before attempting to run it. Does Virtual Drive Loader run on an asynchronous thread?

Share this post


Link to post
Share on other sites

OK, so here we go. I set up a Sega CD emulator to use 7-zip and set the filter to *.iso. Then I launched a game through it. GameEx extracts it and I pick up your 7z setting from your GameEx.ini and act accordingly. So far, so good. I opened the runitgame.bat, and the dtloader.log and assured the commands are looking good. Still good! The GameEx command has the switch removed, the image mounted, all is well.

After a little research I discovered that GameEx now uses the Windows temp folder to extract the files to (which is awesome by the way), so I am sending the Virtual Drive Loader there when 7-zip is turned on. I'm still loading an ISO direct from the emulator, I only confirm that this does indeed mount from the right place now and DTLite is working.

Try it and it should also work for you... And let me know how you get on.

1 person likes this

Share this post


Link to post
Share on other sites

Worked a treat. Thank you very much. I'll look at it again at the weekend and try SSF and 4DO. Not tried on ZIPs yet, but hopefully it'll work great.

Successful log below just in case you're curious.

03/04/2013 19:23:06 : DT MOUNT (CL-SCSI): EXE IN: C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe03/04/2013 19:23:06 : DT MOUNT (CL-SCSI): ARG IN: -mount scsi, 0, "[rompath]\[romfile]"03/04/2013 19:23:06 : DT MOUNT (CL-SCSI): CL: epsxe.exe -nogui03/04/2013 19:23:06 : 7-ZIP: Checking for 7-zip...03/04/2013 19:23:06 : 7-ZIP: 7-zip setting found! Changing ROM path...03/04/2013 19:23:06 : 7-ZIP: path=C:\Users\Mike\AppData\Local\Temp\Unzipped7-Zip03/04/2013 19:23:06 : 7-ZIP: 7-zip is not enabled!03/04/2013 19:23:06 : VD LAUNCHER: Launcher(NEW) - ARG USING: -mount scsi, 0, "C:\Users\Mike\AppData\Local\Temp\Unzipped7-Zip\3D Lemmings (USA).cue"03/04/2013 19:23:06 : VD LAUNCHER: Launcher(NEW) - EXE USING: C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe03/04/2013 19:23:06 : VD LAUNCHER: Launcher(NEW) - Image mounted! Sleeping...03/04/2013 19:23:10 : DT MOUNT (CL-SCSI): Loader was launched successfully!03/04/2013 19:23:10 : CMD OUT: Returning rebuilt Command Line...03/04/2013 19:27:38 : DT UNMOUNT (CL-SCSI): Terminating...03/04/2013 19:27:38 : VD LAUNCHER: Launcher(NEW) - ARG USING: -unmount scsi, 003/04/2013 19:27:38 : VD LAUNCHER: Launcher(NEW) - EXE USING: C:\Program Files (x86)\DAEMON Tools Lite\DTLite.exe03/04/2013 19:27:38 : DT UNMOUNT (CL-SCSI): Drive unmounted successfully!
1 person likes this

Share this post


Link to post
Share on other sites

UPDATED TO 1.0.4

  • Fixed an issue where commands weren't stripped properly
  • Added support for emulators that use GameEx's "Files In Zip/7-Zip/RAR" option

Special thanks to discomike for his assistance in fixing GameEx 7-zip support!

You can pick up the latest version in the first post. :)

1 person likes this

Share this post


Link to post
Share on other sites

Heyup :)

So - I am desperately trying to get psx bin+cue files working with Xebra, launched via gameex via DTLite. My head is starting to hurt. Will this help and if so, are there any patient souls out there would would do a quick idiots guide on what to do?

Thanks

Share this post


Link to post
Share on other sites

Hello there!

I'm loving this Virtual Drive Loader, thank you. This combined with GameEx's RAR/Zip/7Z support has saved me plenty of hard disk space for other fun stuff! :-)


I'm using Virtual Drive Loader v1.0.4 at the moment, and I've noticed a strange issue when launching certain games and I was wondering if a feature introduced in v1.0.3 could possibly be edited to taste please?

1.0.3
Added a pause before the emulator executes
This fixes the issue with some emulators loading before mounting was completed

I'm using DTLite v4.47.1.0333

I'm using pSX to emulate the PS1 and I've noticed that certain games just fail to mount in time before the emulator is launched. These games typically have large file sizes.

The games are CUE/BIN/BIN stored in 7Zip archives, so GameEx extracts them first, and then your plug-in mounts them. As mentioned before, this set-up works fine, unless the files are large.

As an example, a game that works fine is Strider as it's just ~74MB, with no CDDA audio tracks.

Another example of a working game is the Tekken 3 Demo as it's ~169MB with one CDDA audio track.

Examples of games that fail are Tekken ~749MB and 3D Lemmings ~545MB.

It seems Windows 7 needs a maybe a tad longer to recover after the GameEx extract process before the Daemon Tool mount is completed. In all the above examples, GameEx does extract the game files correctly.

Is it possible to specify a longer 'pause' time with the current 1.0.4 version Virtual Drive Loader, or would it be possible please to incorporate the feature into the plug-in settings?

I've attached my .ini files for your perusal.

Many thanks,

Mounting in time - log.txt

Not mounting in time - log.txt

GameEx.ini

Share this post


Link to post
Share on other sites

Hi and thanks for the kind words. :)

I will add a longer pause for larger images. This will be fixed in the next release later tonight.

Thanks for the report. :)

1 person likes this

Share this post


Link to post
Share on other sites

Here ya go! 1.0.5 is out. Get it from here.

2 people like this

Share this post


Link to post
Share on other sites

Here ya go! 1.0.5 is out. Get it from here.

Thanks for working on this again, it's very much appreciated.

The version currently hosted using your link is DT Loader.dll v1.0.4 with a date stamp of 2013-04-03. It doesn't look like the updated file is live to us mere mortals yet. :blink:

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now