|Author||Topics » Book an abo for this thread|
Date registered: 05.10.2012
I would like to discuss (excuse my English...) one issue that bugged me for 2 days now, but at the end I found a solution to it and like to inform other people about "my big knowledge" .
Like many other people around the net I decide to try what external plugins suits me best and that's how I stumbled upon your site... and btw it's awesome. I decide to try the P.E.Op.S. DSound SPU plugin BUT here's the issue - everywhere I look and in every documentation I read (including yours) about how to set and run external PSX plugins with ZiNc I find the same thing:
Pete added the ZiNc sound plugin interface. That means
you can now use the P.E.Op.S. spu plugin with the ZiNc
Please note that in Windows you will need a psx emu
like ePSXe to change the plugin settings (since you
cannot access the plugin's config window with the
ZiNc Windows version... well, maybe some ZiNc frontend
coder will take care about that.
Please note that the Windows version of ZiNc has no native GUI, so
if you want to change the spu plugin's configuration (like the reverb
or interpolation settings), you will need a freeware psx emu (like
ePSXe) to start up the plugin's config window. Since the configuration
is stored globally in the Windows registry, the same settings will
apply to ZiNc as well.
After reading this, one might say that using (and configuring) your plugin without downloading and running a PSX emulator is impossible. Well, that buged me A LOT. So I would have to:
1. Search the web for a list of valid PSX emulators
2. Read a lot of documentation to be able to set and run (successfully) such an emulator
3. Download the emulator and do all the copy/paste/delete/rename/extract/download-resources/search-for-bioses/abort/retry/fail... stuff to run it.
4. Every time I want to change some settings in the plugin in order to use it with the ZiNc emulator first I would have to run the other (PSX) emulator, made the changes, exiting the other emulator and then running the ZiNc emulator which will load the plugin with the current settings...
Fhheewww... what a mind job... But the plugin's and emulator's binaries told me something else.
The PSX emulator calls that "hardly accessible" SPU plugin configuration window from the plugin itself. The code, needed for the window to exist is IN the plugin - after all the plugin is nothing else, but an executable DLL. So why do we have to start a GUI PSX emulator to tell it to call the config window for us - can't we do it ourselves? Yes, we can. With the help of a command. But don't fear - every ZiNc user know that you would not escape from typing one or two commands/config settings (in average case it takes about 20 to say... 100) before be able to start the emulator in a way WE WANT IT to work.
The thing is that we need some way to call that plugin (load it in the system memory) alone. We don't have to download some fancy third party applications to do it... because we already have one. Windows system support (the system that is) has a tool, named "rundll.exe" and its big brother "rundll32.exe". These programs load a given DLL executable in the memory and operates with it the way the user wanted to (at least in the sunny days ).
"rundll32" is for 32-bit DLL binaries
"rundll" is for 16-bit binaries (for more info about that read the article at http://support.microsoft.com/kb/164787.
Because P.E.Op.S. SPU plugin (and all the other plugins I belive) is a 32-bit DLL binary file with appropriate resources, function calls, computing logic and function entry points in it (calling exactly that mysterious plugin config), all we have to do is type one single command in a command prompt (the console that is), calling "rundll32", telling it to load the SPU plugin binary and pointing it to the desired entry point in the binary which starts the config window. This is how I does it first and it worked for me:
I call sound.znc because I already rename the P.E.Op.S. spuPeopsDSound.dll into sound.znc for the ZiNc emulator to be able to work with it (well, I can't solve this problem - if anyone finds some workaround for the renaming just let me know). The good news is that we don't have to type everytime we want to run the ZiNc emulator with the new plugin - I use a simple batch file for the job that let me choose between popping the config window or viewing the plugin's 'About' info (which is also coded in the binary):
It prints the following result when I execute the batch file:
So I'm able to make my settings just with double click the mouse (no emulators needed as said in the docs). I assume you will run the batch from the ZiNc's directory, otherwise you'd have to point the full path to it into the batch. For simplicity you can assign your paths to a system variables and only use the (shorter) variable names in the batch calls, for example like that:
%SystemRoot%\system32 becomes variable sys32; Your ZiNc directory's full path (holding the sound.znc binary) becomes variable ZiNc. This way you gone to use only %sys32% and %ZiNc% respectively, where it is needed, instead of the full paths. Like that:
Actually, we do nothing more than calling the internal entry points "SPUconfigure" for the SPU config dialog and "SPUabout" for the SPU 'About' info. And yes, don't forget to rename your old sound.znc that comes with the ZiNc emulator into something else or move it away.
...Lets just stop here, as I wrote too many words for such a little issue, but I'm excited and wanted to share it with someone... because ZiNc has a potential. Thank you (Pete and the P.E.Op.S. team) for the time spent and the job done.
Have a good year!
Gonna be the next Steve Jobs... Gonna be... "Quit Jobs"
|Linux OSS plugin with device configuring||Tosh2o||0||pete_bernert|
|Can"t see openGL plugin in the list while configuring ( already read faq)||Rhymnoceros||0||pete_bernert|
|P.E.Op.S. PSX Sound plugin v1.9 - Zinc||aceofbase||4||pete_bernert|
|Very slow opengl2 plugin, windows 7 (ZINC)||dukejp||5||pete_bernert|