FlexDMD is a DMD renderer extension for Visual Pinball and Pinball front-ends like PinballY. It can also be used as a drop-in replacement for the great UltraDMD from Stephen Rakonza, solving some of its rough corners since its development seems to have stopped.
Documentation :
The main features are summarized below:
Download the latest release or snapshot build: | Release | Snapshot |
---|---|---|
GitHub Releases | GitHub Actions |
It comes with the following files;
Beside these files, you will need DmdDevice.dll
for 32 bits rendering, and DmdDevice64.dll
for 64 bits rendering. There can be different flavors of these. The ones used for developping FlexDMD are Freezy's DMD Extensions, where you can find the needed files in the Release section. Just place them alongside the FlexDMD files (the 64bits version need to be renamed to DmdDevice64.dll).
You can place these 6 files where you want. It happens that VPinMame also uses DMDDevice.dll and requires it to be placed alongside itself. Therefore a good place to place FlexDMD and DMDDevice files would be in your VPinMame folder (usually C:\Visual Pinball\VPinMAME).
The FlexDMDUI.exe application allows you to install the different parts and test them. So just launch it, check it finds all the needed files (first panel), then simply press register
(second panel) for the FlexDMD extension, and, if you want it, just press register
(third panel) for the UltraDMD replacement.
To check that everything is fine, switch from the 'Installer' tab to one of the 'Designer' tab and press 'Run'.
A VPX table which demonstrates some of the capabilities of FlexDMD is provided with each release; just open & run it with Visual Pinball X version 10.6+ to see examples of what can be done.
Finally, you will also find a Scripts folder with a few prepared scripts;
FlexDMD does not have any configuration file:
Therefore to position the DMD, if you are using Freezy's DMD, simply run the table, right click on the DMD and select the option to save its position.
When using FlexDMD as an UltraDMD replacement, you may want to edit UltraDMD options regarding DMD's coloring. This is easily done using the FlexDMD companion application (FlexDMDUI.exe) in the configuration tab.
git clone https://github.com/vbousquet/flexdmd.git
The following diagram shows the overall architecture of Visual Pinball and where FlexDMD sits.
Whilst it is not the preferred way of using it, FlexDMDUI.exe can also be used from the command line with the given commands:
FlexDMDUI.exe /register path
will unblock the FlexDMD's DLL (FlexDMD.dll) at the given path and register it. If needed, it will also unblock Freezy's DMD at the given path (dmddevice.dll and dmddevice64.dll).FlexDMDUI.exe /register-udmd path
will unblock the FlexDMD's UltraDMD bridge DLL (FlexUDMD.dll) at the given path and register it.FlexDMDUI.exe /unregister
will unregister FlexDMD.FlexDMDUI.exe /unregister-udmd
will unregister FlexDMD's UltraDMD bridge.