If you're using the Pinscape v2 firmware, you should install these updated versions of the system support library files.
New! The "Grander Unified" version, new for 2018, combines all of the formerly separate third-party versions on GitHub that forked off from SwissLizard's last official release in late 2015. It also features a brand new Windows Setup installer that handles all of the setup automatically rather than requiring the traditional series of error-prone manual steps. More...
New! The latest version of the LedWiz DLL lets you access all of your Pinscape Controller ports from older, LedWiz-only software, even if you have more than 32 ports. It does this by creating "virtual" LedWiz units to represent the additional ports on your Pinscape unit. Suppose you have a Pinscape controller with 75 ports, and you've set it up as LedWiz unit #8. The first 32 ports will appear as LedWiz #8 as usual. But in addition, the DLL will set up a fake LedWiz unit #9 for Pinscape ports 33-64, and unit #10 for Pinscape ports 65-70. Older LedWiz-only software will think you have 3 LedWiz's installed. Keep in mind that the ports for each virtual LedWiz are numbered 1 to 32 as always, since the LedWiz is hard-wired to think that way, so you'll have to do a little arithmetic to figure out that Pinscape port 33 is mapped to LedWiz #9 port 1. And of course, you can just ignore the virtual LedWiz units in DOF programs like VP, since DOF already knows how to access all of the Pinscape ports directly. Note: you'll also need the latest Pinscape firmware (2017-02-03 or newer) to use this feature, since the DLL depends on some enhancements on the device side to make it all work.
Current version (13 March 2019): This is a minor R3++ update that adds new code from Kaicherry to simulate DOF effects using Surround Sound Feedback (SSF) with bass shaker or tactile speakers (also known as exciters). This is a cumulative update that includes everything from the January 2019 update.
You can install automatically from the Windows Setup installer, or manually
from the ZIP file. You only need one or the other. The Setup version is
highly recommended because DOF is notoriously difficult and error-prone
to install manually.
More about R3++ | Manual setup instructions
Older stable releases:
Older stabler version: The older DOF R3+ version from 19 Oct 2016, from before the re-unification of development branches described above. This is considered highly stable.
The LedWiz DLL download includes a spiffy new test program, NewLedTester. This is similar to the SimpleLedTest program that a lot of people use to test their LedWiz setup, but this one is a little friendlier and more flexible, and it's 100% open source in case you want to make any customizations. It's also aware of the new "virtual LedWiz" interfaces that the DLL creates for Pinscape units with more than 32 outputs, which lets it display port numbering on the virtual units that's consistent with your Pinscape setup.
System requirements: .Net 4.6 is required. This is a core Windows component that DOF requires. It's pre-installed on most Windows systems by default, but it might be missing on older Windows 7 systems, especially if you recently did a fresh install of the operating system. You can install it via Windows Update if it's missing.
Automatic setup (recommended): Download the Windows Setup (MSI) installer. Double-click the downloaded file and follow the on-screen prompts.
Manual setup (not recommended): If you prefer doing things the hard way, you can install DOF manually from the ZIP file distribution. But I'm serious in recommending against this. DOF is ridiculously difficult to install by hand. If you get just one little detail wrong, DOF won't work at all and won't give you the slightest hint as to why. I wrote the installer because I was spending all of my time trying to help people troubleshoot their wedged manual installs.
But if you really want to try it on your own anyway, follow the instructions in the DOF Setup chapter in the new Pinscape Build Guide.
LEDWIZ.DLL is not included in DOF any more. That's intentional. DOF no longer uses that file. DOF communicates with LedWiz devices directly for improved reliability. You can delete any old copy from your DOF folder.
Note: you don't need LEDWIZ.DLL for DOF's sake. DOF doesn't use it any more. LEDWIZ.DLL is only needed by older, non-DOF software that wants to access your LedWiz on its own, such as Future Pinball.
Download the ZIP above, open it, and extract LEDWIZ.DLL onto your desktop or any convenient folder.
Right-click on the new LEDWIZ.DLL file. Select Properties, then go to the General tab on the menu. If you see a message saying something like "This file came from another computer and has been blocked", click the Unblock button.
Now search your system for older copies of LEDWIZ.DLL, and replace each one you find with the new copy. To search your system:
For each file you find, copy the new LEDWIZ.DLL into the same folder location, overwriting the old file. To copy the file, select the new one, press Ctrl+C (Copy), then click on the old file and click Ctrl+V (Paste). Windows will warn you about the duplicate file; choose the option to REPLACE the old file.
In January 2018, I merged the DOF development branches from several independent developers who added features to Swiss Lizard's 2015 "R3" beta release. (Swiss Lizard is DOF's original author, and the R3 beta was the last time he worked on the project, so that beta release was for a while the reference point most people worked from.) I called this new merger of branches the "Grander Unified R3++" version, in reference to my earlier "Grand Unified R3+" version from 2016, which was a merger of some changes of my own with Swiss Lizard's final release.
The "Grander Unified R3++" version was intended to get everyone back to a single DOF branch. Before it came out, you were forced to choose which subset of new features you wanted by picking one of those separate branches from different developers. R3++ combines all of the known new features into a single release. It includes Djrobx's fixes for boolean effects with PWM controls; Rambo3's UltimateIO and Philips Hue support, and SainSmart auto-configuration; Freezy's ProPinball bridge; and my own R3+ version, which had updates for Pinscape devices and improved LedWiz support.
New with this version is the option to install automatically with Windows Setup, instead of using the traditional manual procedure. The manual procedure is complex and error-prone, and it's notoriously difficult to troubleshoot if you miss any minor details. The Windows Setup option makes installation easy and almost always gets it right the first time. The installer carries out the whole procedure described in the DOF documentation, so you can skip all of the manual steps described there (unblocking DLL files, creating B2S links, updating B2S settings, setting up the PinballX plug-in, etc). Just run the .MSI file and you should be ready to go as soon as it's done.
To use the automatic Setup installer, just download the .MSI file to your hard disk and double-click the file to run the installer. If you prefer to use the manual ZIP setup instead, you can find instructions in the DOF Setup chapter of the Pinscape Build Guide.
It's completely up to you whether to use the automatic Setup or the manual ZIP install. Both downloads contain the same files, and there should be no difference in the final result installed on your system (assuming you do everything right if you attempt the manual procedure).
You can use the Setup installer for new installations or updates. There's no need to uninstall the old version or do any other preparation first; just run the Setup.
I've continued to update the R3++ branch with minor updates since the initial January 2018 release. See the release list above. As far as I know, there haven't been any other schisms since, so this is still the universal version.
DOFLinx users: You'll need an updated version DOFLinx to go with this updated DOF. DDH69 was kind enough to build that and make it available here.
DOF is an open source interface library by SwissLizard that connects Visual Pinball, PinballX, and other programs with most types of output controllers, such as the LedWiz and the Pinscape board. DOF is the key software component for controlling all feedback devices in a virtual pin cab.
The last official release of DOF by SwissLizard was a beta testing version in November 2015, known as version "R3". SwissLizard never completed a final general release of R3, so the beta has become the de facto final release. "R3+" was my unofficial, modified version of the R3 beta that updated it with some necessary updates for Pinscape compatibility.
I called this the "Grand Unified" version because it unified my Pinscape updates with the last official R3 code, in particular SwissLizard's additions for Teensy addressable LED strip support. Up until that time, my own Pinscape code was only available in a branch I had created earlier, from earlier DOF base code that didn't have the Teensy support.
My "Grand Unified" moniker is now as ironic as it is grandiose, in that four independent splinter projects emerged on GitHub in the time since "Grand Unified" was created. Fortunately, there's now the "Grander Unified R3++" version above, which restores the status quo ante bellum, in the sense that we once again have a One True DOF that combines all of the features from all of the branches thus far.
The original and biggest reason to use this replacement DLL is that it solves a big problem with the "stock" DLL if you use a Pinscape Controller. The problem is that the stock DLL crashes if you enable the Pinscape keyboard features. You can avoid the DLL crash by disabling the keyboard features, but they're so useful that you probably don't want to do that. The better solution is to use the replacement DLL. It solves the problem, and works whether or not you're using the Pinscape keyboard features.
For Pinscape Controller users, the new DLL has another great new feature: extended output port access. If you have the Pinscape expansion boards, you probably have more than 32 ports in your system, which is beyond what the standard LedWiz interface can handle. The new DLL solves this by making your Pinscape unit appear to be multiple LedWiz units. Legacy client software that's written for the LedWiz will see two or more separate LedWiz units - however many are necessary to cover all of your output ports. This is completely automatic, no configuration necessary; just replace your existing LEDWIZ.DLL with the new one, and your legacy clients will gain access to all of your ports.
Even if you're using a real LedWiz in your system instead of a Pinscape Controller, you still might want to upgrade to this DLL! It has some significant benefits for real LedWiz hardware. For one thing, the new DLL uses multiple threads internally, which greatly improves its performance compared with the stock DLL. If you're using Future Pinball with a real LedWiz, and you're experiencing "stutter" when playing LedWiz-enabled games, the new DLL might reduce or eliminate this, thanks to the multi-threading. Another advantage of the replacement DLL is that it has special programming to work around some known timing bugs in the real LedWiz hardware, which the manufacturer's DLL doesn't have any evident awareness of. This might improve the reliability of your real LedWiz.
The DLL is only a small portion of the LWCloneU2 project, by the way. The overall project is a complete open source LedWiz emulator for Arduinos and other Atmel AVR microcontrollers. In that respect, LWCloneU2 is somewhat similar to the Pinscape Controller project, but it doesn't share Pinscape's special focus on virtual pinball; LWCloneU2 is designed with more general arcade video game emulation in mind instead, like the LedWiz itself. Check out the full project if you're interested in arcade emulation beyond virtual pinball, or if you're looking for another DIY LedWiz alternative besides Pinscape.